クローズドパス(※)やガイド、クリッピングパスなどは無視します。
「カーブを直線にしたときの長さ(アンカー間)」です。
ベジェ曲線そのものの長さではありません。
※一箇所に切り込みを入れて見かけ上はクローズドパスでも実質オープンパスにすれば処理可能です。
if (app.documents.length === 
        0 || app.activeDocument.selection.length === 0) {
    alert("オープンパスを1つ以上選択してください。");
} else {
    var doc = app.activeDocument;
    var sel = doc.selection;
    var ptToMm = 0.35278; // 1ポイント = 約0.35278mm
    // オープンパス(!item.closed)のみ対象
    for (var i = 0; i < sel.length; i++) {
        var item = sel[i];
        if (item.typename === "PathItem" && !item.closed) {
            var points = item.pathPoints;
            var total = 0;
            // アンカーポイントの anchor 同士の距離を
            // √(dx² + dy²) で算出
            for (var j = 0; j < points.length - 1; j++) {
                var pt1 = points[j].anchor;
                var pt2 = points[j + 1].anchor;
                var dx = pt2[0] - pt1[0];
                var dy = pt2[1] - pt1[1];
                total += Math.sqrt(dx * dx + dy * dy);
            }
            // Illustrator の単位である ポイント(pt)を
            // ミリメートル(mm)に換算
            var lengthMM = total * ptToMm;
            alert("オープンパス " + (i + 1) + 
                " の直線化した長さ: " + lengthMM.toFixed(2) + " mm");
        }
    }
}
直径80mmの円を作成します。円周は251.20mmになりますが、左端のアンカーポイントをハサミツールで切り込だ状態では226.28mmとなりました。
アンカーポイントを追加を1回実行して処理すると・・・
244.92mmとなりました。
アンカーポイントを追加を2回実行して処理すると・・・
249.75mmとなりました。
アンカーポイントを追加を3回実行して処理すると・・・
250.96mmとなりました。
ちなみに、アンカーポイントを追加を4回実行して処理すると・・・
251.26mmとなり、結果オーバとなりましたました。正確な値を求める訳ではな区、あくまでも目安なのでアンカーポイントを追加は3回あたりが妥当ですね。





 
 
 

 
