見出し画像

Illustratorでオブジェクトを上下左右、真横に複製する

最近、オンラインホワイトボード「Miro」にハマっています。

「え!そこドラッグできるんだ!」など、楽しい発見があり、楽しんでいます。それはともかく、Miroではoption + ↑/→/↓/←キーで選択しているオブジェクトを矢印の方向に複製できます。これが超快適。

「option + ドラッグでいいじゃん!」という声が聞こえてきそうですが、「いかにマウス操作を少なくして生きていけるか」をテーマにしていまして…


三階ラボさんのスクリプト(入手不可)

これについては三階ラボさんが2015年にスクリプトを公開されているのですが、現在、入手できなくなっています。

その後、改めて公開されました!!


自作スクリプト

スクリプトを書いてみました。

sel = app.activeDocument.selection;
// 座標を取得
point = sel[0].visibleBounds;
x1 = point[0];
x2 = point[2];
movex = x2-x1;
// 複製
dp = sel[0].duplicate();
dp.translate(movex,0);
sel[0].selected = false;

 これにキーボードショートカットを設定すると、ドット絵みたいなものもサクっとできてしまいます。


スクリプトの難点

複数オブジェクトを対象とする場合、グループ化が必要なんです… これはひと手間増えるので、スクリプト内で解決したいけれど、自分には高レベルすぎる…

どなたか根本から書き直して、自分のアイデアとして公開してください!有料でも購入します。

ちなみに、このスクリプトは「ふわふわぷかぷか」さんの記事を参考にしました。ありがとうございます!


修正版

kenさんがアップデートくださいました!! ありがたい!

コードはこちら。

var sel = app.activeDocument.selection;
var point =[];
var x =[];

// 座標を取得
for(var i = 0;i<sel.length;i++){ //選択オブジェクトの数だけ繰り返し
	point = sel[i].visibleBounds;
	x.push(point[0]);
	x.push(point[2]);
}
x.sort(function (a, b) { return a - b;})
var movex = x[x.length-1]-x[0];
for(var i = 0; i<sel.length; i++){ //選択オブジェクトの数だけ繰り返し
	var dp = sel[i].duplicate(); // 複製
	dp.translate(movex,0);
	sel[i].selected = false;
}


サンプルのような間取り図を描くのも一瞬です。


そもそも問題として、Illustratorでは[長方形ツール]を選択しているのにもかかわらず、オブジェクトの選択を解除しないとアンカーポイントにスナップさせて長方形を描けないのが困るんですよね…


「⌘ + Cからの⌘ + Fでいいじゃない?」

スクリプトを使うことで次の問題が改善されます。

  • クリップボードを介すとIllustratorが落ちやすい

  • 複製後、移動するのが面倒い

  • 移動するとき、ふとしたオペミスで選択状態が変わってしまう

パスファインダー操作もキーボードショートカットでできるようにしておくとスピーディです。

Illustratorでのスクリプト利用について学びたい方は、【CC道場 #342】クリエーターの敵「面倒な単純作業」をラクして切り抜けよう! Illustratorのスクリプト編をご覧ください!! #CCDojo


Keyboard Maestroなら

したたか企画さんのKeyboard Maestro 用追加アクション「sttk3_maestroPack」を使うを使うと、JavaScriptをファイルとして管理することから開放されます。


こちらのように設定します。

Keyboard MaestroでJavaScriptを実行する方法については、こちらのnoteにまとめています。


したたか企画さんからの決定版(Keyboard Maestro用)

したたか企画さんが「選択アイテムを隣接移動・複製する Keyboard Maestro 用アクション」をリリースされました。

Keyboard Maestroを利用されている方は、迷わず導入されることを強くオススメします!!!

というのは、次のようなオプションが用意されているからです。
決定版ですね!

  • 選択アイテム全体を1つのグループとして扱うか

  • アイテムを複製するか,単に移動するだけか

  • プレビュー境界を使用するかどうか

欲を言えば、「どのくらいのマージンにする?」とダイアログボックスが開いて聞いてくれたりしたら、さらにパーフェクト。


ダウンロード

上下左右方向のスクリプト4つ

ここから先は

21字 / 2ファイル

¥ 100

定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5