Illustrator:パスをカクッと、ギャクッと、ピタッと

路線図、相関図、勢力図など、箱と箱を線で結ぶやつの補助スクリプトを3つばかり。
 今回、引き出し線はドキュメント上を天衣無縫に駆け巡るのではなく、
  水平垂直にカクカクした物を使用するという縛りの中を想定しています。
 というか、そういう仕事からの産物です。


パス関係小ネタスクリプトつめあわせ


CS3で動作確認。というか仕事をしました。
 たぶん10以降どのバージョンでも動きますが、CSと10での使用は拡張子を『js』にする必要があります。
それをShift-JISに変換して保存したりなんなり。
 
 
以下、1つづつ概要を説明しときます。
 
 
パスをカクカクに.jsx
パスのアンカーポイント間を水平、垂直に整えます。

 
始点アンカーポイントと隣のポイントの座標を比較し、水平・垂直のどちらか近い方に整列します。
 最初に向きが決まったらあとは終点ポイントまで、水平→垂直→水平…と交互に整列していきます。
  グンニャグニャのパスでも全てカクカクのコーナーポイントになります。
※アンカーポイントは追加されません。
※始点と終点のアンカーポイントは基本的に動きませんが、
   アンカーポイント数が2つ(始点と終点だけで中間がない)の場合のみ、始点のほうを移動します。

 
ウチと同世代の人は、田中道明「ぐゎんばる殿下」を思い出してもらえば話が早いかと。
 しれっと言ったが相当古い。
 
 
 
パスの方向を反転.jsx
パスの方向を逆にします。ビートルズがずうとるびになります(うそです)
 アートブラシを適用したら矢印のアタマが逆についちゃったよ、
  それでブラシを編集したらこっちのブラシオブジェクトもつられて反転しちゃったよウェーン
 とか、そういうダメなオペレータ向けです。つまり自分用です。 orz

 
 
 
引き出し線調整.jsx
引き出し線をオブジェクトの外周に吸着します。キュポンッ、と。
 いや、キュッ、だけですね。ポンッはないです。
キーオブジェクトとなる物(例では青い長方形)と引き出し線(オープンパス)を複数選択して実行。

 
対象となるオープンパスは一度に何本も選択して構いません。全部一気にやっつけます。
 選択範囲の中で一番下(最背面)にいるオブジェクトがキーオブジェクトとなります。
  オープンパスの、キーオブジェクトの中心座標に近い側の先端を吸着します。
 
実行すると「センタリングする?」と訊いてきます。

 
「はい」の場合はキーオブジェクトの接した面の中心に移動します。
 キーオブジェクトの同じ1辺に複数のパスが刺さるような場合はパス同士が重なってしまうので「いいえ」にします。
  返答後、パスの先端がキーオブジェクトの外周にお行儀よく吸着します。キュッ。

 
対象となるオープンパスの先端が水平または垂直でなければ何もせず終了します。
 ので、前述の「パスをカクカクに.jsx」と併せて使うとよいです。
オープンパスが伸ばしても縮めてもキーオブジェクトにかすりもしない、
 そんなけしからん位置にいる場合も、強引に持ってきます。

 
この、キーオブジェクトの角より内側にどれぐらいに納めるか、
 のオフセット値はスクリプト本文の1行目の変数『my_kobore』の設定値で変更できます。
初期値は6、単位はポイントです。 ↓手違いで赤枠が透けてなくて見にくいですが。

 
オープンパスがオサレなブラシオブジェクトの場合、
 デザインによっては同軸座標上の吸着ではかっこよくない時もあります。

 
スクリプト本文2行目の変数『my_offset』値を設定する事で、
 キーオブジェクト内部へ指定量くいこみます。単位はポイント。

 
かっこよくなった。

 
オープンパスの両端のうち、
 望まない側のアンカーポイントがキーオブジェクトに近い場合は実行後ワヤクチャになりますが、

 
ダイレクト選択ツール(白矢印)で目的の先端のみ選択すればそちらが優先されるように設計されています。

 
これで学校内のラブラブ相関図などを作れば、
 あなたの凡庸なキャンバスライフもたちまちドラマチックに。
  ときめきエブリデイ! どよめきエブリワン! どかゆき交通マヒ!

5 thoughts on “Illustrator:パスをカクッと、ギャクッと、ピタッと

  1. こんばんは。
    「イラストレーター アンカーポイント 直角 スクリプト」でググってきました。
    こちらの詰め合わせURLが切れているのですが、配布いただけないでしょうか?
    お忙しい中恐れいりますが、ご検討の程お願いします。

  2. ありがとうございます。
    完璧です。助かりました。

なお へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

*