パスの端にある近接点を連結するIllustratorスクリプト
- パスの端にある設定距離以下のアンカーポイントを連結
- 2通りの連結方法: 2点を中間位置に移動・2点を繋ぐ線を追加
- 角度や線の太さなどのプロパティが一致するものに対象を絞る機能
GitHubのReleasesページ
MergeOpenPath.zip
普通(.jsx)のと圧縮(.min.jsx)したのが入っていますが機能は変わりません。
[ファイル]-[スクリプト]-[その他のスクリプト]
から選択するか、
あらかじめスクリプトフォルダにファイルを配置すれば[ファイル]-[スクリプト]
内に表示されます。
OS | スクリプトフォルダの場所 |
---|---|
Win | Program Files/Adobe/Adobe Illustrator (ver)/プリセット/ja_JP/スクリプト/ |
Mac | アプリケーション/Adobe Illustrator (ver)/プリセット/ja_JP/スクリプト/ |
念のためスクリプトを使用する前にファイルを保存してください
連結したいアンカーポイントを選択してからスクリプトを起動し実行します。
- アンカーポイント同士の距離がこの値以下なら連結します(単位はピクセル)
- スライダーは
0~10
までですがテキストボックスに直接入力すれば好きな値を設定できます
- 両方
他のパスとの連結
後、同じパスの両端を連結
を実行 - 他のパスとの連結
2つのパスの端の点が連結できるかを探します - 同じパスの両端を連結
パスの最初と最後の点が連結できるかを探します
距離や後述の条件をクリアし、2点のアンカーポイントを連結する時の動作。
- 2点を中間位置に移動
[オブジェクト]-[パス]
の平均
(2軸とも)->連結
と同じ動作(後述のハンドル情報を保持する場合) - 2点を繋ぐ線を追加
[オブジェクト]-[パス]
の連結
と同じ動作(後述のハンドル情報を保持しない場合)
- パスの角度が縦軸(垂直)・横軸(水平)で反転されたものに絞ります
- ※角度はパスの端とその隣にあるアンカーの位置から求める
- 許容量に5を設定した場合、反転した角度から+/-5度分のパスも含めます
- チェックしたプロパティの値が一致する時だけ連結します
レイヤー
はレイヤー名ではなく同じレイヤーに属するかどうか- あんまりデバッグしていないので上手くいかないプロパティがあるかも
- (まず使わないと思いますがスクリプトの冒頭にあるコメントアウトを解除すれば
evenodd
も使えます)
連結方法によって動作が変わります。
2点を中間位置に移動
- 保持する
[オブジェクト]-[パス]-[平均]
と同じ動作 - 保持しない
両側のハンドルが削除されます
- 保持する
2点を繋ぐ線を追加
- 保持する
アンカーポイント間のハンドルがあれば保持されます - 保持しない
[オブジェクト]-[パス]-[連結]
と同じ動作
- 保持する
- 選択したパスのうち非表示のものを連結後に削除します
- 一つでも連結が行われていなければ削除しません
- 非表示のパスを選択するにはパスの所属するレイヤーやグループを選択します
アピアランスの変形
を使った鏡面編集後に、近接点をまとめて連結したい場合などに。
(もっといい方法があるのかもしれない…)
- 中央に縦のガイドを設置
- 鏡面編集用の直線を横向きにアートボードサイズで作成
- レイヤーに
[効果]-[パスの変形]-[変形]
をコピー数1・垂直軸にリフレクト
で適用 - いろいろ描く
- 鏡面編集用の直線を非表示
- レイヤーを選択して
[オブジェクト]-[アピアランスを分割]
- スクリプトで連結
レイヤー構造
- 変形を適用するレイヤー
- いろいろ描くレイヤー
- 鏡面編集用の直線
※アピアランスを分割する際、ロックされたガイドがレイヤーに混ざっていると分割できないので注意
360° ÷ 16 = 22.5°
- 画像左:
- 鏡面編集用の直線を縦・横・112.5°(90+22.5)の3つ作成
- レイヤーに
[効果]-[パスの変形]-[変形]
を2つ適用
コピー数1・垂直軸にリフレクト
とコピー数7・回転45°
に設定 - いろいろ描く
- 画像右:
- 鏡面編集用の直線を非表示
- レイヤーを選択して
[オブジェクト]-[アピアランスを分割]
- スクリプトで連結
-
念の為実行前に保存しましょう
-
別のグループや複合パス同士でも条件を満たせば連結します
-
複合パスの中にあるグループは無視されます(スクリプトからはアクセスできない)
-
なにかエラーが出る時はIllustratorを再起動すると治るかもしれません
-
基本的に最前面のパスから連結可能なパスを見つけ次第連結していきます
- 距離が近い順に全て連結したい場合はshspageさんのスクリプトをお使いください
- 距離が近い順に全て連結したい場合はshspageさんのスクリプトをお使いください
Adobe Illustrator CS5.1 (Windows10 64bit)
(確認できてませんがCS3以降ならたぶん動きます)