辺の長さを指定して正N角形を描画させます。(CMYK版)
正多角形の・・・
辺の長さをL
半径をr
正多角形の画数をN
とすると・・・
L=2×r×sin(180°/N)
となり、Excelで計算させると
A1にr、A2にNっを指定し、B1に・・・
L=2*A1*sin(PI()/A2)
で求めることが出来ます。これを応用して・・・
function mmToPt(mm) {
    return mm * 2.83465; // mm を pt に変換
}
function drawRegularPolygon(sideLengthMM, sides) {
    if (sides < 3) {
        alert("3以上の辺の数を入力してください。");
        return;
    }
    var doc = app.activeDocument;
    var artboard = 
        doc.artboards[doc.artboards.getActiveArtboardIndex()];
    var bounds = artboard.artboardRect;
    var centerX = (bounds[0] + bounds[2]) / 2;
    var centerY = (bounds[1] + bounds[3]) / 2;
    var sideLengthPt = mmToPt(sideLengthMM);
    var radiusPt = sideLengthPt / (2 * Math.sin(Math.PI / sides)); 
    // 外接円半径
    var angleStep = 360 / sides;
    var pathPoints = [];
    for (var i = 0; i < sides; i++) {
        var angle = (angleStep * i - 90) * Math.PI / 180;
        var x = centerX + radiusPt * Math.cos(angle);
        var y = centerY + radiusPt * Math.sin(angle);
        pathPoints.push([x, y]);
    }
    var polygon = doc.pathItems.add();
    polygon.setEntirePath(pathPoints.concat([pathPoints[0]])); 
    // 最後に始点を追加して閉じる
    polygon.closed = true;
    // ランダムなCMYK塗り色
    polygon.filled = true;
    polygon.fillColor = getRandomCMYKColor();
    polygon.stroked = true;
    polygon.strokeColor = getBlackColor();
    polygon.strokeWidth = 1;
}
function getRandomCMYKColor() {
    var color = new CMYKColor();
    color.cyan = Math.random() * 100;
    color.magenta = Math.random() * 100;
    color.yellow = Math.random() * 100;
    color.black = Math.random() * 0;
    return color;
}
function getBlackColor() {
    var color = new CMYKColor();
    color.cyan = 0;
    color.magenta = 0;
    color.yellow = 0;
    color.black = 100;
    return color;
}
// ユーザー入力
var sideLengthMM = Number(prompt("1辺の長さをmmで入力", "50"));
var sides = Number(prompt("辺の数を入力(3以上)", "6"));
if (!isNaN(sideLengthMM) && sideLengthMM > 
    0 && !isNaN(sides) && sides >= 3) {
    drawRegularPolygon(sideLengthMM, sides);
} else {
    alert("正しい値を入力してください。");
}
実行したら、1辺の長さを指定し・・・
辺の数を入力すれば・・・
描画します。色はCMYKのランダム色で生成されます。
なお、CMYでのランダム色で黒は使いません。




 
 
 

 
