Illustratorで選択したオブジェクトのアンカーポイントの数をカウントします。
JavaScriptでAI遊び73用に作成していました。
JavaScriptでAI遊び 73 Illustratorで多角形の余分なポイントを削除 2025/10/11●
// ===============================
// 選択したオブジェクトのアンカーポイント数をカウント
// ===============================
(function() {
if (app.documents.length === 0) {
alert("ドキュメントが開かれていません。");
return;
}
if (app.selection.length === 0) {
alert("オブジェクトを選択してください。");
return;
}
var sel = app.selection;
var totalPoints = 0;
var pathCount = 0;
for (var i = 0; i < sel.length; i++) {
if (sel[i].typename === "PathItem") {
var path = sel[i];
totalPoints += path.pathPoints.length;
pathCount++;
} else if (sel[i].typename === "GroupItem") {
totalPoints += countPointsInGroup(sel[i]);
pathCount++;
}
}
alert("アンカーポイントの合計数: " + totalPoints);
// グループ内も再帰的にカウント
function countPointsInGroup(group) {
var count = 0;
for (var j = 0; j < group.pageItems.length; j++) {
var item = group.pageItems[j];
if (item.typename === "PathItem") {
count += item.pathPoints.length;
} else if (item.typename === "GroupItem") {
count += countPointsInGroup(item);
}
}
return count;
}
})();
元データのポイント数:4096
同一色合体後のポイント数:1358
JavaScriptでAI遊び 73で
余分なポイントを削除後のポイント数:722