ふわふわぷかぷか

javaって何?から始めた初心者のandroidアプリ開発メモ。でも最近はイラレにはまってます。

【Illustratorスクリプト】指定した数だけオブジェクトを横に並べるスクリプト。

Windows10、CS4

イラストレーターで、指定した数だけオブジェクトを横に並べるスクリプト。略して「横にピッチリ並べるスクリプト」です。

f:id:fuwafuwapukapuka:20180526001106j:plain

無駄に間隔も指定できるようにしてみました。

いつも地道にコピペかブレンドをしていたのですが、やっぱり面倒だなーと。

ちょっと複製後の順番が気になりますが直すのが難しそうなのでこのままで。

※オブジェクトを選択後、スクリプトを実行します。

※グループ化してから使用してください。

※2つ以上のグループまたはオブジェクトを選択している場合は動かないようになっています。

細かいチェックはしていません。このスクリプト を使用して問題が起きた場合責任は負いません。 

 

 ↓こんな風に使いたくて作りました。

 

以下ソースコードです。

#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】でフリー素材を投稿しています。よろしければご覧ください。

プロフィールページ:イラストレーター ふわぷかさんのプロフィール