(クリックで動きます)
160430

■GW?関係ないねっ!ラフトレースのサイズ変更にも超絶使えます     

おつかれさまです@gorolibです。

大型コピーを担当されている方より「アートボードに適正倍率で完全にフィットするスクリプトがほしい」とのご意見を伺いましたので、今回作ってみました。

例の外人さんのスクリプトとは少し違います。
参考:Fit Object to Artboard

例の外人さんは強引に比率を変えちゃいますが、いやいやいや、そこはほら、ダメでしょ変えちゃ(笑)

というわけでこちらは相似形のままフィットします。

内部的にはタテとヨコ、小さいほうの倍率で変倍してから、アートボードの中心に合わせています。

ダウンロードにてご利用ください。


もちろんクリッピングマスクにも対応してますよ!ニクいね三菱(関係なし)


(クリックで動きます。おじさんのやつがクリッピングマスクです)160430

■ラフトレースのサイズ変更にも超絶使えます

はい、もちろん自分でも使います(笑)

私は大型コピーはやりませんが、ラフトレースの再にほしかったのです。例えば名刺デザイン。

ラフ描いてスキャンしてクリッピングマスクで整えて、アートボードサイズに変更するとき。

こういうときに使いたかったのです。

(クリックで動きます)
160430b

おお、なんならこれは大型コピーの面付けも全く同じ原理だなぁ…需要があるかもね!として公開いたしました。

お役に立てれば幸いです!

ではでは出羽の海。

※ソースも公開します。
以下が冗長であるという貴兄もいらっしゃるかと思いますが…。

// リサイズ後の位置を再取得
var BND1 = CLPfn ( SEL[0] )

そう、resizeコマンドのパラメータである
Transformation.CENTER
でよさそうですよね?

でもこれってクリッピングマスクサイズに対応してないんです…orz。

━━━━━
// Gorolib24_FitToArtboard
// Copyright (C) 2016 GOROLIB DESIGN All Rights Reserved.
// v1.0

var DOC = activeDocument
var SEL = DOC.selection
var ABD = DOC.artboards
var RCT = ABD[ABD.getActiveArtboardIndex()].artboardRect

// 選択オブジェクトの座標を取得する
function CLPfn ( SELx ) {
if ( SELx.typename == "GroupItem" && SELx.clipped == true ) {
var BNDx = SELx.pageItems[0].geometricBounds
} else {
var BNDx = SELx.geometricBounds
}
return BNDx
}

// メイン処理
if( SEL.length != 1) {
alert("1つのオブジェクトを選択してください")

} else {
var BND0 = RCT
var BND1 = CLPfn ( SEL[0] )

// 倍率計算
var BAIx = Math.abs(( BND0[2] - BND0[0] ) / ( BND1[2] - BND1[0] ))
var BAIy = Math.abs(( BND0[3] - BND0[1] ) / ( BND1[3] - BND1[1] ))
// 小さい方の倍率を採用(パーセントに変換)
if ( BAIx <= BAIy ) { 
var BAI = BAIx * 100
} else {
var BAI = BAIy * 100
}

// 合わせる側をリサイズ
SEL[0].resize ( BAI, BAI )

// リサイズ後の位置を再取得
var BND1 = CLPfn ( SEL[0] )
// 移動距離(座標)を算出
var TRNx = ( BND0[0] + BND0[2] ) / 2 - ( BND1[0] + BND1[2] ) / 2
var TRNy = ( BND0[1] + BND0[3] ) / 2 - ( BND1[1] + BND1[3] ) / 2

// オブジェクトを移動
SEL[0].translate ( TRNx , TRNy )
}
━━━━━