Illustratorで「選択しているオブジェクトを新規レイヤーに移動し、そのレイヤーを最背面に移動してロック」までを1ストロークで実行する
自分の場合、Illustratorでの制作物では基本的にレイヤー分けしません。
その理由は[オブジェクトを前面に/背面に移動する]コマンドがレイヤー内のみで有効なため。
その一方、ドキュメント全体に背景色を付けるようなケースでは、別レイヤーにしておかないと、背景色を付けたオブジェクトの下に回り込んでしまって不便です。
次の作業を1ストロークで実行する方法について考えてみました。
新規レイヤーを作成し、レイヤー名を「bg」に変更する
選択しているオブジェクトを「bg」レイヤーに移動する
「bg」レイヤーを最背面に移動し、ロックする
選択しているオブジェクトが元々あったレイヤーをアクティブに
アクション
手順1、手順2はアクションで実行できます。
「選択しているオブジェクトを「bg」レイヤーに移動する」には[オブジェクト]メニューの[重ね順] → [選択しているレイヤーに移動]を使います。
スクリプト
こんな感じで動きました(修正済み)。
var doc = activeDocument;
var al = doc.activeLayer; // 現在のレイヤーを覚えておく
var lay = doc.layers.add(); // レイヤーを作成
lay.name = "bg"; // レイヤー名を「bg」に
var sel = doc.selection; // 選択オブジェクト
for (i = sel.length-1; i >= 0; i--){
obj = sel[i];
obj.move(lay, ElementPlacement.PLACEATBEGINNING);
} // 選択しているオブジェクトを「bg」レイヤーに移動
lay.zOrder(ZOrderMethod.SENDTOBACK); // 「bg」レイヤーを最背面に移動
lay.locked = true; //「bg」レイヤーをロック
doc.activeLayer = al; // 「現在のレイヤー」をアクティブに
次のブログ記事を参考にしました。
お礼
選択オブジェクトが複数あるとき、前後関係が狂ってしまうようで、ご指摘と修正案をいただきました。
あるふぁ(仮)さん、ものかのさん、あぢ(z-)そよ風邪さん、ありがとうございます!!!
ダウンロード
Keyboard Maestroのマクロです。MaestroPackが必要です。
2023年1月31日17:30に修正しました。
ここから先は
0字
/
1ファイル
月に10-20本くらいの記事を投稿しています。定期購読されると、更新のお知らせを受け取ったり、マガジン限定記事やサンプルファイルをダウンロードできます。
購読を開始した月に更新された記事から読むことができます(初月無料)。
DTP Transit 定期購読マガジン
¥100 / 月
初月無料
マガジン限定記事やサンプルファイルをダウンロードできます。
定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5