木曜日, 8月 10, 2023

JavaScriptでAI遊び 07 
選択したオブジェクトのハンドルを削除

必要に迫られたので、オブジェクトからアンカーポイントのハンドルを削除するためのJavaScriptスクリプトを作ってみました。複数オブジェクトに対応。

/* handle_cut.jsx */
// アクティブなドキュメントを取得
var aadoc = app.activeDocument;

// アクティブな選択項目を取得
var selection = aadoc.selection;

// オブジェクトの存在を確認
if (selection.length > 0) {
// 選択したオブジェクトに対して処理を実行
for (var i = 0; i < selection.length; i++) {
var item = selection[i];
// パスアイテムであることを確認
if (item.typename === "PathItem") {
var pathPoints = item.pathPoints;
// アンカーポイントのハンドルを削除
for (var j = 0; j < pathPoints.length; j++) {
pathPoints[j].leftDirection = pathPoints[j].anchor;
pathPoints[j].rightDirection = pathPoints[j].anchor;
}
}
}
alert("オブジェクトのハンドルを削除しました");
} else {
alert("オブジェクトが選択されていません");
}
/* handle_cut.jsx */
上は左が元データ、右が処理結果です