線を短くするスクリプト

選択されたポイントがパスの起点か終点の場合のみ、2pt分短くするスクリプト。紙のフチから折り筋線を少し離す時に使えます。こういう作業を一括処理できるのが、スクリプトの良いところ。

以下仕様と注意点など。

  • 処理としては、オブジェクトの起点と終点のポイントを選択されているか判定して、それぞれ2番目のポイントの方向へ移動させています。
  • 最初は選択されたポイントを判定していけば出来るのでは?と考えたのだけれど、判定方法に悩んだ結果、結局上記の順番になっています。
  • 実際のコードについては、素人目で見てもかなり酷い。とりあえずポイント移動の座標計算で起点・終点で同じ事をしているので、切り離して関数化した方がよさそう。
  • ベジェ曲線には未対応。ハンドルが消えるので注意。
  • 短すぎる際の処理についても未対応なので、多分反対側に飛び出す。

cutline.zip


inkscapeでの変換しやすいデータの作り方、もしくは折り図を投稿する際のガイドライン。

という事で、変換の際にエラーの少ない/変換しやすい折り図の書き方tips集。

折り図集などに投稿するための折り図を用意する際や、AIを買ったあとinkscapeで描いた折り図を変換したい場合などに便利かと思います。

  • マスクではなく切り抜きを使おう
  • 切り抜きはグループ化をしてから
  • 半透明グラデは避ける
  • やり取りは結局PDFがベター。PDFと相性の良いデータを目指そう

とりあえず思いついた、上記の項目について書きます。本文中の略称はAI=Adobe Illustrator、FH=FreeHandです。

・切り抜き奨励、マスクは非奨励。

拡大図などで、枠内のみを表示させるような時に使われます。この二つの機能、画面上の結果はあまり変わらないのですが、書き出しや変換の際に大きな差が出ます。

切り抜きの場合:内部のデータが枠の形に「切り抜き」されます。データの状態として、FH的には枠の中に貼付けるような形になります。PDFでもAIの切り抜き状態で書き出されるようです。

マスクの場合:枠外を見えない(マスク)状態にします。イメージとしては、枠外を覆い隠しているような形です。で、これがPDFに書き出した際にどうなるかというと、マスクごとに画面全体を覆うようなオブジェクトが作成され、そこに空いている穴の部分のみがレンダリングされているというようなデータになります。さらに言えば、このマスク用のオブジェクトはラスターデータです。画面全体を覆っているため何より編集しづらい。

という事で結論。マスクである必然性がなければ、切り抜きを使おう。

※マスクの必然性。当然ラスタ画像データや、半透グラデでマスクしたい場合とかはマスクでなければいけないはず。

・切り抜きはグループ化した後に。

切り抜きをする場合は、まとめてグループ化してから切り抜きを行いましょう。

inkscapeの仕様だと思うのですが、まとめてグループ化をしておかないと「オブジェクトごと」に切り抜きされます。グループ化されていないたくさんのオブジェクトにまとめて切り抜きを行った場合、オブジェクトの数だけ切り抜き枠が作成され、そのまま何十もの切り抜きが重なった状態になります。レンダリングが無駄に重くなり、データとしても修正や編集もしづらいので、メリットは全くありません。本当に百害あって一利無し。

※この仕様の有効な使い方……各図をそれぞれグループ化、同じ位置に重ねて、一気に切り抜き処理ができる。その後動かしてレイアウトしていく。あ、これは便利かもしれない。試してないけど。

・半透明グラデーションは非奨励。

これは単純に、書き出しなどの際の互換性が低いのです。グラデーション以外でも、半透明オブジェクトのコンバートは、上手くいかないケースが多いので、可能であれば使わない方が無難です。

とりあえず半透明グラデに関しては、PDF書き出しの段階でグラデ属性が消える、またそのPDFをそのまま読み込むとオブジェクトが消えてしまう事を確認しています。

PDFへの書き出しと互換性が原因なので、バージョンアップで解決される可能性は十分ありますが、現段階ではなるべく使わない方がよさそうです。

・SVGはPDF書き出しして読み込む。

AIを導入し、これまでinkscapeで描いたデータを読み込んでみたら酷い状態だったという経験はないでしょうか?

これはAI側の問題かもしれませんが、矢印が消えたり、線の太さが酷い状態になります。後者はおそらくはtransform属性が上手く読み込めていないのではないかと思いますが。(ちなみに手持ちの環境のAI-CS5でそのまま読み込んだ場合です。)

回避方法としては、inkscapeからまずはPDF形式で書き出し、それをAIで読み込むのが比較的安全です。データの作り方次第ですが、inkscapeのバージョンアップに伴って読み込んだデータも使いやすくなっているようです。

グループ化などは死にますが、必要経費と思って諦めましょう。

※ちなみに、読み込めないPDFについては、「MacOSのプレビューで開きPDFで保存し直す→AIで開く」でどうにかなる場合もあります。ただしデータは酷い状態になりますが……


つなぎ鶴星人

People Crane from outer space」

原作・笹出晋司さん。つなぎ案・神谷。

小さいツル星人は、頭の向きを合わせて2重に重ねて折る。

実際に試していないけれど多分いけると思う。普通の鶴でも多分出来る。誰か折って。


アルドゥインの構造と領域の追加

アルドゥインは、「 シンプルな形を折り出し、複雑な仕上げを行う」という方針で創られています。これは外見だけではなく、構造でも同様の方針を取っています。創作手順を簡単に追って見ていきます。

とりあえず頭部は正方形のカドから折り出すことにします。また、ツノや顎などはカドの外側にスペースを追加して折り出す方法がよさそうです。簡単な構造で必要なカドを揃える事が出来ました。

頭部とその周りの全体の構造については、頭部と翼に同じ大きさのカドを割り当てられそうです。つまり鶴の基本形でOK。中心のカドも、胴のトゲ等に利用できそうです。

全体の構造はいくつか候補が考えられますが、とりあえず最もシンプルなものを採用します。

……あまりにも普通の構造で、これでいいのかと思うかもしれませんが、カドの出る位置は悪くないし、わざわざ必要以上に複雑にする意味はありません。昔『をる』誌上で前川さんも言っていましたが、構造がシンプルなのは歓迎すべき事で、わざわざ複雑にしなければいけないのではと気にするのはおかしい。

※領域の追加を前提とした場合、基礎の構造を選ぶ時には、カドの大きさより出ている位置を優先します。カドの大きさは領域の追加でいくらでも調整可能です。

これを基礎として、必要に応じて領域を追加していきます。ここはいろいろな要素が絡むので結果から。

一気に説明します。基礎構造(白)に、まずは頭部の折り出し用の領域を追加(赤)。 足の指と尾の装飾用に反対側にも追加(黄)。そして翼が少し小さいので、中心をぶった切ってさらに領域を追加します(青)。なおこの部分は、脚の装飾や翼の爪の折り出しにも利用しています。

※気がついた方もいるかもしれませんが、この3回の領域の追加は、すべて同じ幅になっています。このおかげて翼の爪部分をきれいに折り出す事が出来ます。また、比率も分かりやすくなります。

これで十分なカドは出そろいました。あとは仕上げればできあがりです。

 

 


数字を加算するスクリプト

選択されたテキストを数値として取得し、1を加算・減算して返すだけのスクリプト。

要するに図番号用で、図が一つ増えたり減ったりした時、その後の数字をずらすのに使えます。

例によってエラー処理などなにもしていません。parseIntのみで強引に整数化しているので、例えば「15a」の「a」は消えてしまいます。また、数値以外で始まるテキストが含まれていると、NaNを返します。

ORZnumber


第2回菊池寛実賞 工芸の現在

折り紙とはあまり関係ない話。

うちの妹、神谷麻穂は陶芸作家をしていまして、丁度この週末より、菊池寛実記念智美術館にて展示が行われています。折り紙とはあまり関係はありませんが、興味のある方は、是非ご覧ください。

第2回菊池寛実賞 工芸の現在

12月17日(土)~ 2017年3月20日(月・祝)
菊池寛実記念 智美術館

http://www.musee-tomo.or.jp/exhibition.html

※余談ですが、昨年、北陸先端科学技術大学院大学で行われたイベントが北陸中日新聞popressで紹介された際に、偶然にも妹の作品が表紙になっていました。お持ちの方は見直して見て下さいね。


同じ種類の鎖線を選択するスクリプト

同じ種類の鎖線を選択するだけのスクリプト。特定の鎖線、たとえば山折り線だけを選択したいときなどに使えます。

見て分かるとおり、エラー処理などは全くしていないので、使用ついては自己責任でお願いします。

スクリプトファイル:SelectSameDashes

RunSclipt = confirm (“選択されたオブジェクトと同じ鎖線を、選択状態にします。\nスクリプトを実行しますか”);

if (RunSclipt == true){

     ORZsel = activeDocument.selection;

     ORZlinedashes = “”+ORZsel[0].strokeDashes;

     ORZobj = activeDocument.pathItems;

     for (i=0; i<ORZobj.length; i++){

          if( ORZobj[ i ].strokeDashes == ORZlinedashes ){

               ORZobj[ i ].selected = true;

          }

     }

}


Adobe Illustratorでスクリプトを動かす

Illustratorでは、JavaScriptなどで書いたスクリプトを動かすことができます。これによって、メニューやアクションでは出来ないようなことを、簡単に行う事が出来るようになります。

幸いプログラムに関しては、昔BASICやHyperCardで遊んでいたこともあり、簡単なものであれば書いたり改造もできます。

ということで、実際に使ってみるととても便利で、作業によってはスクリプト無しは考えられないというくらい手放せなくなりました。特に判定が必要な自動化については、アクションの機能だけでは実装が難しいため、スクリプトが使えるかどうかで出来る事がまったく変わってきます。

Illustratorで折り図を描いていて、かつ簡単なプログラムが出来る人は、導入を検討してみてはいかがでしょうか?

ツールや資料など。

「ScriptKeyAi」

http://tama-san.com/scriptkey/

ショートカットからスクリプトを起動するサポートソフトウェア。とても便利。特に何種類かのスクリプトを何度も実行するような場合には必須。アイコンもかわいいですね。

Illustrator自動化基本編

参考書。スクリプト例文集。著者はMZ-700ユーザーにはおなじみの古籏一浩氏。サイトにも異常な量の情報があふれています。

http://www.openspc2.org/

余談ですが、古籏氏とMZ-700から生まれた「MZ-700に不可能はない」という言葉は、私にとっての座右の銘的な言葉の一つです。


12/11の教室作品

img_3742
作品はチョウNS2.0になりました。現在手順化中ですが、久しぶりにDNF率が高そうな講習になりそうです。参加者される方はその旨予めご了承ください。
また、これまで特に案内してはいませんでしたが、教室はキャンセル待ちが可能です。既に数名あふれていますが、もし希望される方はその旨お申し込みください。

3+√2

22.5度の原子で遊んでいると、折り出しにくい比率が必要になる時があります。という事で、最もよく出現するものの一つ、3+√2という比率について。

まず。とりあえず以下のような構造が3+√2です。

3_r2_1

左はビバ!おりがみに掲載されている前川淳さんの龍、中央は川畑文昭さんのディノニクスなどが有名でしょうか。

※余談ですが、この2つの作品はどちらも大好きな作品で、よく折っていたのですが、自分で創作を始めるまで、これらが同じ比率を使っていた事に気がつきませんでした。

折り出しの点はいくつか考えられますが、2:1+√2、もしくは1:2+√2に分けるのが使いやすいでしょう。

※3:√2も出来ますが、折り出しやすさを考えるとあまりメリットはないように思います。

 

3_r2_2

まずは、ビバ!の龍の折り出して紹介されたものです。対角線上に折り出されるので使いやすいですね。

 

3_r3_3

もう一つ、折り出されるのは上記の方法と同じ点になります。(少し折り筋の付け方は違いますが、川畑さんの恐竜で使われている方法です。)

 

3_r2_4

2つとは違い1:2+√2に分割する方法です。これも対角線に折り出されます。欲しい点に合わせて使い分けるとよいでしょう。

 

3_r2_5  

ブック型の対称線に折り出す方法です。
構造によってはこちらの方が使いやすい場合もあります。