円の円周を指定して合致した正円を描画させます。(CMYK版)
function mmToPoints(mm) {
    return mm * 2.83465; // 1 mm ≈ 2.83465 pt
}
function createCenteredCircleByUserInput() {
    if (app.documents.length === 0) {
        alert("ドキュメントを開いてください。");
        return;
    }
    var userInput = 
        prompt("円周をmm単位で入力してください:", "300");
    if (!userInput) return; // キャンセル時は終了
    var circumferenceMM = parseFloat(userInput);
    if (isNaN(circumferenceMM) || circumferenceMM <= 0) {
        alert("有効な数値を入力してください。");
        return;
    }
    var doc = app.activeDocument;
    // アートボードの中心座標を取得
    var artboard = 
        doc.artboards[doc.artboards.getActiveArtboardIndex()];
    var artboardBounds = artboard.artboardRect;
    var centerX = (artboardBounds[0] + artboardBounds[2]) / 2;
    var centerY = (artboardBounds[1] + artboardBounds[3]) / 2;
    var circumferencePt = mmToPoints(circumferenceMM);
    var radiusPt = circumferencePt / (2 * Math.PI);
    var diameterPt = radiusPt * 2;
    // 円をアートボード中心に描画
    var circle = doc.pathItems.ellipse(centerY + 
        radiusPt, centerX - radiusPt, diameterPt, diameterPt);
    // ランダムなCMYK色を適用
    var fillColor = new CMYKColor();
    fillColor.cyan = Math.random() * 100;
    fillColor.magenta = Math.random() * 100;
    fillColor.yellow = Math.random() * 100;
    fillColor.black = Math.random() * 0;
    circle.filled = true;
    circle.fillColor = fillColor;
    circle.stroked = true;
    // 黒いCMYK枠線を設定
    var strokeColor = new CMYKColor();
    strokeColor.cyan = 0;
    strokeColor.magenta = 0;
    strokeColor.yellow = 0;
    strokeColor.black = 100;
    circle.strokeColor = strokeColor;
    circle.strokeWidth = 1;
}
createCenteredCircleByUserInput();
実行したら、円周の長さを指定すれば・・・
描画します。色はCMYKのランダム色で生成されます。
なお、CMYでのランダム色で黒は使いません。


 
 
 

 
