【Illustratorスクリプト】指定した数だけオブジェクトを横に並べるスクリプト。
Windows10、CS4
イラストレーターで、指定した数だけオブジェクトを横に並べるスクリプト。略して「横にピッチリ並べるスクリプト」です。
無駄に間隔も指定できるようにしてみました。
いつも地道にコピペかブレンドをしていたのですが、やっぱり面倒だなーと。
ちょっと複製後の順番が気になりますが直すのが難しそうなのでこのままで。
※オブジェクトを選択後、スクリプトを実行します。
※グループ化してから使用してください。
※2つ以上のグループまたはオブジェクトを選択している場合は動かないようになっています。
細かいチェックはしていません。このスクリプト を使用して問題が起きた場合責任は負いません。
横にピッチリ並べるスクリプト。 pic.twitter.com/I7U6nNYNYV
— ふわぷか (@float_jelly) May 25, 2018
↓こんな風に使いたくて作りました。
こんな使い方はどうでしょう? pic.twitter.com/ZKs6oI3WHZ
— ふわぷか (@float_jelly) May 25, 2018
以下ソースコードです。
#target "illustrator"
//選択中のオブジェクトを取得
var sel = app.activeDocument.selection;
//1個以上の場合のみ動作
if(sel.length == 1){
//ダイアログを表示
var dialog = new Window("dialog","複製する数を入力",[0,0,220,120]);
var length = dialog.add("edittext",[15,15,70,40],"4");//複製する数
dialog.add ("statictext", [80,20,115,40], "コピー,");
dialog.add ("statictext", [120,20,150,40], "間隔");
var margin = dialog.add("edittext",[155,15,210,40],"0");//マージン
var btnOK = dialog.add("button",[10,70,80,100],"OK",{name:'ok'});//OK
var btnCancel = dialog.add("button",[100,70,170,100],"cancel",{name:'cancel'});//CANCEL
length.active = true; //テキストエリアをフォーカスする
//キャンセルの処理
btnCancel.onClick = function(){ dialog.close(); }
//OKの処理
btnOK.onClick = function(){
dialog.close(); //ダイアログを閉じる
//座標を取得
var point = sel[0].visibleBounds;
var x1 = point[0];
var y1 = point[1];
var x2 = point[2];
var y2 = point[3];
var n = parseInt(length.text);
var m = parseInt(margin.text);
var movex = x2-x1
//複製
for (i=1; i<n; i++)
{
dpi = sel[0].duplicate();
dpi.translate(movex*[i]+m*[i],0);
}
}
dialog.center();//ウインドウ表示位置をモニターの中心に移動
dialog.show();//作成したウインドウを表示
};
//----[ここまで]----
座標取得しすぎな気もしますがどんまい!
イラストダウンロードサイト【イラストAC】でフリー素材を投稿しています。よろしければご覧ください。
プロフィールページ:イラストレーター ふわぷかさんのプロフィール