
任意の矩形を選択し、[オブジェクト]>[パス]>[グリッド分割]で処理出来ますが、指定サイズの均等方眼を作成してみました。
アートボード中央に、指定の幅、高さ(mm)の範囲に収まる方眼を描画
マスのサイズはランダム(デフォルトは正方形)
横方向・縦方向に分割数を指定して、その範囲内で均等分割
グリッド線で描画(直前設定の線幅パス)
// Illustrator Script - 指定サイズと分割数で方眼を作成
(function () {
if (app.documents.length === 0) {
alert("ドキュメントを開いてください。");
return;
}
var doc = app.activeDocument;
var unit = 2.834645; // mm to pt
// ユーザー入力
var widthMM = Number(prompt
("グリッドの幅を mm 単位で入力:", "100"));
var heightMM = Number(prompt
("グリッドの高さを mm 単位で入力:", "100"));
var cols = Number(prompt("横方向の分割数:", "10"));
var rows = Number(prompt("縦方向の分割数:", "10"));
if (isNaN(widthMM) || isNaN(heightMM) ||
isNaN(cols) || isNaN(rows) || widthMM <= 0 ||
heightMM <= 0 || cols < 1 || rows < 1) {
alert("正しい数値を入力してください。");
return;
}
// 単位変換
var width = widthMM * unit;
var height = heightMM * unit;
var cellWidth = width / cols;
var cellHeight = height / rows;
// アートボード中央
var ab = doc.artboards[doc.artboards.
getActiveArtboardIndex()].artboardRect;
var centerX = (ab[0] + ab[2]) / 2;
var centerY = (ab[1] + ab[3]) / 2;
var left = centerX - width / 2;
var top = centerY + height / 2;
var layer = doc.activeLayer;
var group = layer.groupItems.add();
// 縦線(列)
for (var c = 0; c <= cols; c++) {
var x = left + c * cellWidth;
var line = group.pathItems.add();
line.setEntirePath([[x, top], [x, top - height]]);
line.stroked = true;
line.filled = false;
}
// 横線(行)
for (var r = 0; r <= rows; r++) {
var y = top - r * cellHeight;
var line = group.pathItems.add();
line.setEntirePath([[left, y], [left + width, y]]);
line.stroked = true;
line.filled = false;
}
})();
実行すると矩形サイズと横と高さのグリッド数を指定します。
デフォルトの処理結果です。
分割数を指定して・・・
分割数を任意指定すれば均一な分割グリッドができます。