クリエイター手抜きプロジェクト[375]Adobe Illustrator CS4〜CC編 アートボード外の全てのパスを選択する
── 古籏一浩 ──

投稿:  著者:


今回はIllustratorのアートボードのネタです。以前作成したスクリプトはアクティブになっているアートボードが対象でしたが、作成するものによっては複数のアートボードにまたがることがあります。

このような場合、複数のアートボードからはみ出しているパス/テキストだけを削除したい場合があります。とはいっても、いきなり削除されてしまうと怖いものがあるので、今回はすべてのアートボードからはみ出しているパス/テキストだけを選択するようにしました。

このスクリプトを実行すると、アートボードから完全にはみ出しているパス/テキストが選択されます。削除したい場合は、そのままdeleteキーを押せばOKです。

ということでスクリプトは以下のようになります。結構面倒だったので、今回はこれだけです。


// アクティブになっているアートボード内にあるパスだけ残す
// 最初に全ての選択を解除しておく
for(var i=0; i<activeDocument.pathItems.length; i++){
activeDocument.pathItems[i].selected = false;
}
for(var i=0; i<activeDocument.textFrames.length; i++){
activeDocument.textFrames[i].selected = false;
}
// ドキュメント全体から該当パスを選択
removePath(activeDocument.pathItems);
// ドキュメント全体から該当テキストフレームを選択
removePath(activeDocument.textFrames);

// パスを削除する関数
function removePath(p){
for(var i=p.length-1; i>=0; i--){
// アートボードの数だけ繰り返す
var flag = 0;
for(var artNo=0; artNo<activeDocument.artboards.length; artNo++){
// アートボードをアクティブにする
app.activeDocument.artboards.setActiveArtboardIndex(artNo);
// アクティブなアートボードのサイズを求める
var rect = app.activeDocument.artboards[artNo].artboardRect;
var ax1 = rect[0];
var ay1 = -rect[1];
var ax2 = rect[2];
var ay2 = -rect[3];
// パスの座標を読み出す
var geo = p[i].geometricBounds;
if (!geo){ break; }
var x1 = geo[0];
var y1 = -geo[1];
var x2 = geo[2];
var y2 = -geo[3];
// アートボード内に完全に座標値が収まっているか調べる
if (x2 < ax1){ continue; }
if (x1 > ax2){ continue; }
if (y2 < ay1){ continue; }
if (y1 > ay2){ continue; }
// アートボード内に収まっているのでフラグを立てる
flag = true;
}
p[i].selected = flag;
}
}


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/
>

Illustrator CCも17.1になって機能が追加されました。17.0と17.1で機能が違うわけですが、どっちもIllustrator CC...

このバージョン表記というか、区別というかマイナーバージョンで区別していくということなんでしょうか。とりあえず、新機能のライブコーナーの項目を追加して17.1として使い方辞典を用意しました。

・Adobe Illustrator CC使い方辞典(バージョン17.1)
< http://www.openspc2.org/reibun/IllustratorCC/17.1/
>

D3.js例文辞典も、かなり項目を追加しました。でも、これだけではD3.js本家サイトにあるような、リッチなグラフ表示はできないんですよね。D3.jsは思ったよりも敷居が高いかも……

・D3.js例文辞典
< http://www.openspc2.org/reibun/D3.js/
>

2月1日(土)に長野県上田市で行われたDart勉強会(Dart Flight School)に行ってきました。

・SSS(G)
< http://www.sssg.org/public/
>
< http://www.sssg.org/public/meeting/20140201/contents
>

JavaScriptだと大規模開発に向いてないので、新しい言語を作ったからよろしくみたいな感じで、Googleが出した新しい言語です。せっかく作ったから使って、ということだそうです。

Lars Bak- Welcome to Dart Flight School
<
>

Dart+AngularJSの勉強会だったんですが、ついていけませんでした……わからないので勉強会の間に少しでもと思い、いつものを作ってました。基礎的なところが分かってないと、どうにもならないというのがわかりました。

・Dart例文辞典
< http://www.openspc2.org/reibun/Dart/ver1.1/
>

・Adobe CS2〜CS6,CC JavaScriptリファレンス&ライブラリ
< http://www.openspc2.org/reibun/AdobeJS/index.html
>

・Adobe JavaScriptリファレンス(Kindle版。なぜか正常に検索できないのは
 調査中)
< http://www.amazon.co.jp/dp/4844395955
>

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/
>

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/
>

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082
>

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/
>

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/
>
吉田印刷所の「印刷の泉」でも購入できるようになりました。