Adobe Illustrator CS3〜CC2014編 選択した図形を個別に反転、回転させる

今回のスクリプトは選択した図形を個別に反転、回転させるものです。Illustratorでは選択した図形を反転させたり、回転させると選択した図形全体で反転、回転してしまいます。このため、選択した10個の図形を、それぞれ中心にして回転させるのは面倒です。反転処理も同様に個別にやらないといけません。
ということで、以下のスクリプトは選択した複数の図形を、位置を保ったまま左右に反転させます。反転処理はapp.getScaleMatrix()でスケール値を負数にするだけです。

// 選択された図形の中心のY軸を基準にして図形を反転させる
(function(){
if (app.documents.length < 1){ return; }
var selObj = activeDocument.selection;
for(var i=0; i<selObj.length; i++){
var rect = selObj[i].geometricBounds;
var mtx = app.getScaleMatrix( -100, 100 );
selObj[i].transform(mtx, true, false, false, false,);
}
})();

次のスクリプトは選択した複数の図形を、位置を保ったまま上下に反転させます。

// 選択された図形の中心のX軸を基準にして図形を反転させる
(function(){
if (app.documents.length < 1){ return; }
var selObj = activeDocument.selection;
for(var i=0; i<selObj.length; i++){
var rect = selObj[i].geometricBounds;
var mtx = app.getScaleMatrix( 100, -100 );
selObj[i].transform(mtx, true, false, false, false,);
}
})();
最後のスクリプトは選択した複数の図形を回転させます。実行するとどのくらい回転させるかを入力するダイアログが表示されます。入力するのは角度でラジアンではありません。45度回転させる場合は45と入力します。また、回転の中心はそれぞれの図形や文字の中心の座標になります。

// 選択された図形の中心で回転させる
(function(){
if (app.documents.length < 1){ return; }
var degree = prompt("回転させる角度を入れてください");
if (!degree){ return; }
degree = parseFloat(degree);
var selObj = activeDocument.selection;
for(var i=0; i<selObj.length; i++){
var rect = selObj[i].geometricBounds;
var mtx = app.getRotationMatrix(degree);
selObj[i].transform(mtx, true, false, false, false,);
}
})();

[サンプルをダウンロード]