今回は、選択した図形より下にある図形をすべて選択する、Illustrator用のスクリプトです。
以下のスクリプトは選択した図形より下にある図形をすべて選択します。アートボードは考慮されません。
// 選択した図形より下のパスを全て選択する(アートボード無視)
(function (){
var selObj = app.activeDocument.selection;
if (selObj.length != 1){
alert("基準となる図形・パスなどを1つ選択してください ");
return;
}
var baseY = selObj[0].geometricBounds[3]; // 図形の下の方の座標を基準にする
var items = app.activeDocument.pageItems;
for(var i=0; i<items.length; i++){
if (items[i].selected){ continue; }
if (items[i].geometricBounds[3] <= baseY){
items[i].selected = true;
}
}
})();
場合によっては、アクティブになっているアートボード内だけにしたいこともあります。その場合は、以下のスクリプトを使ってください。
// 選択した図形より下のパスを全て選択する(アクティブアートボードのみ対象)
(function (){
var selObj = app.activeDocument.selection;
if (selObj.length != 1){
alert("基準となる図形・パスなどを1つ選択してください ");
return;
}
var idx = app.activeDocument.artboards.getActiveArtboardIndex();
var baseY = selObj[0].geometricBounds[3]; // 図形の下の方の座標を基準にする
app.executeMenuCommand("selectallinartboard");
var items = app.activeDocument.pageItems;
for(var i=0; i<items.length; i++){
if (!items[i].selected){ continue; } // 選択されていなければループの先頭へ
if (items[i].geometricBounds[3] > baseY){
items[i].selected = false;
}
}
selObj[0].selected = false;
})();
このスクリプトは、最初に選択した図形の選択を解除します。もし、選択を解除したくない場合は、以下の行を削除してください。
selObj[0].selected = false;
【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/
さすがにAdobe系の自動化のネタが減ってきた……というか、ほとんど尽きてきた感じ。リクエストがあれば受け付けてます。
爆発しても壊れないビーカーを発見。といってもアプリですが。このアプリはビーカーに様々なものを入れて、化学反応を確かめることができます。何を入れても絶対に割れないので、安心して実験できます。いろいろ混ぜると大爆発したりして楽しめます。下手なゲームよりも気晴らしになります。
・BEAKER
http://thix.co/beaker/
・みんなのIchigoJam入門 BASICで楽しむゲーム作りと電子工作
http://www.amazon.co.jp/dp/4865940332/
・Premiere Pro & Media Encoder自動化サンプル集
http://www.amazon.co.jp/dp/4802090471/
・JavaScriptによるデータビジュアライゼーション入門
http://www.amazon.co.jp/dp/4873117461/
・Photoshop自動化基本編
http://www.amazon.co.jp/dp/B00W952JQW/
・Illustrator自動化基本編
http://www.amazon.co.jp/dp/B00R5MZ1PA/
・Adobe JavaScriptリファレンス
http://www.amazon.co.jp/dp/B00FZEK6J6/
・4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/
・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/