視点と終点の不明なオープンパスをクローズパスへ変更させます。ただし、接点がチョット怪しいです。難しい・・・(>_<)
// アクティブなドキュメントを取得
var doc = app.activeDocument;
// 選択されているアイテムがあるか確認
if (doc.selection.length > 0) {
for (var i = 0; i < doc.selection.length; i++) {
var selectedItem = doc.selection[i];
// 選択されているアイテムがパスか確認
if (selectedItem.typename
== "PathItem" && !selectedItem.closed) {
// パスの最初のアンカーポイントと
// 最後のアンカーポイントを取得
var firstAnchor
= selectedItem.pathPoints[0];
var lastAnchor
= selectedItem.pathPoints
[selectedItem.pathPoints.length - 1];
// パスをクローズ
selectedItem.closed = true;
// 始点と終点を結ぶ
selectedItem.pathPoints.add();
var newPoint
= selectedItem.pathPoints
[selectedItem.pathPoints.length - 1];
newPoint.anchor = lastAnchor.anchor;
newPoint.leftDirection = lastAnchor.leftDirection;
newPoint.rightDirection = lastAnchor.rightDirection;
selectedItem.pathPoints
[selectedItem.pathPoints.length - 2].rightDirection
= firstAnchor.leftDirection;
selectedItem.pathPoints
[selectedItem.pathPoints.length - 2].anchor
= firstAnchor.anchor;
}
}
alert("オープンパスをクローズパスに変更しました。");
} else {
alert("パスが選択されていません。");
}
視点と終点の不明なオープンパスに実行するとクローズパスになりますが、接点はチョット怪しい各科になって居ます。ただし、上の様に視点と終点の不明な場合は「怪しい部分」がよく分かりません。
そこで大きく空いている状態で処理すると、明らかに変な状態になって居ることが確認できます。
拡大すると、処理後に意味不明な?ねじれ状態になって居ます。コレについては今後の課題です。