木曜日, 7月 25, 2024

JavaScriptでAI遊び 20 
選択オブジェクトを回転コピー

Illustratorで選択したオブジェクトを回転コピーさせます。

/* circle_copy.jsx */
// Illustratorのドキュメントを取得
var doc = app.activeDocument;

// 選択中のオブジェクトを取得
var selection = doc.selection;

// 選択があるか確認
if (selection.length > 0) {
// 最初の選択オブジェクトを取得
var selectedObject = selection[0];

// コピーを作成する回数
var numCopies = 12;

// 30度ごとに回転して120%拡大してコピーを作成
for (var i = 1; i <= numCopies; i++) {
// 回転角度(30度ずつ)
var rotationAngle = i * 30;

// コピーを作成
var copiedObject = selectedObject.duplicate();
// 120%拡大
copiedObject.resize(100, 100, true, true, true, true, 100);

// 回転と位置調整
copiedObject.rotate(rotationAngle, true, true, true, true, Transformation.BOTTOMLEFT);
}
} else {
alert("Please select an object.");
}
/* circle_copy.jsx */

回転のp中心点は上図のようにオブジェクトの左下になります。

デフォルトでは30度で12個コピーさせます。回転方向は時計回りです。

五角形の処理結果です。

自由形状で・・・

処理したら・・・

任意の色を塗りつぶし、ベースのオブジェクト以外を全て[乗算]とした結果です。ショートカット登録すると、チョット便利です。