Adobe ExtendScript を再勉強してみようかな

2017-07-12

昔々、illustratorの自動化にハマっていろいろ.jsxをいじっていた時代がある。
あの頃はまだまだ全然プログラムの知識が無くてちゃんとできなかったけど、今なら少しは知識があるから、もう少し何とかできるかも。
ちょっと再勉強してみようかな、という気持ちになっている。

今やりたいのは、

  • 鋭角の端点を切り離して交差させる。<細かい髪の毛の切り口を美しくするため
  • パスが一定以上の長さになったら1mm欠けさせる。<プロッタのジャムを減らすため。
の2点。

アルゴリズムは大して難しくなさそう。
今度の連休に取り組んでみようかな。

---
などと書いていく年月。
ちゃんとちょっと調べてみる。

  • 公式リファレンス
    • http://www.adobe.com/content/dam/acom/en/devnet/illustrator/pdf/Illustrator-Scripting-Guide-cs6.pdf
    • http://www.adobe.com/content/dam/acom/en/devnet/illustrator/pdf/Illustrator-Scripting-Reference-JavaScript-cs6.pdf
  • 日本語で物凄く詳しく書いてくれている方のページ
    • Adobe Illustrator CS6自動化作戦
      http://www.openspc2.org/book/IllustratorCS6/
  • イラレで便利
    • http://d-p.2-d.jp/ai-js/pages/03_notes/index.html
    • ああ!ココだココだ!昔お世話になったサイト!
イラレでで便利さんの「線で反転コピー(たて)」スクリプト読んでちょっと勉強してみよう。

  • thisObj = activeDocument.selection ;
    • 選択中のアイテムを取るにはこうすれば良いのか。
  • if( thisObj.length == 0 || thisObj[0].typename != "PathItem" )
    • .selectionは配列で渡されて、上から順に0123...ということか
  • thisGroup = activeDocument.activeLayer.groupItems.add() ;
    thisGroup.moveBefore(thisObj[1]); //重ね順を変えないための処理
    • グループを作って、メインアイテムの前(奥?)に移動する
Beforeって奥?手前?
リファレンスに当たってみる。
オブジェクトモデルビューアで「IllustratorCS6」を開くとリファレンスが読めるのか。

ええと、GroupItemのメソッドには無いから、親クラスのメソッドなのかな。
BaseClassのPageItemを読んでみる。無い。

つまった。今日はココまで。