オブジェクトのセグメントだけを削除しアンカーポイントだけを残します。
function splitAnchorPoints() {
var doc = app.activeDocument;
var sel = doc.selection;
if (!(sel && sel.length > 0)) {
alert("パスを選択してください。");
return;
}
for (var i = 0; i < sel.length; i++) {
if (sel[i].typename !== "PathItem") continue;
// パスアイテムのみ処理
var path = sel[i];
var points = path.pathPoints;
var newPaths = [];
for (var j = 0; j < points.length; j++) {
var newPath = doc.pathItems.add();
newPath.setEntirePath([points[j].anchor, points[j].anchor]);
// アンカーポイント単体のパスを作成
newPath.stroked = path.stroked;
newPath.strokeColor = path.strokeColor;
newPath.filled = false;
newPaths.push(newPath);
}
path.remove(); // 元のパスを削除
}
alert("選択したパスのアンカーポイントを切り離しました。");
}
splitAnchorPoints();
サンプルオブジェクトを選択して実行すれば・・・
アンカーポイントだけがのこります。ただし、処理直後はアウトライン表示にしないと確認できません。アンカーポイント部分で切り離す処理の試行錯誤中にできた副産物です。用途は・・・(^o^)汗