このコマンドは知らなかったorz
知っていましたか?
早く教えてください!
アホなやり方だな~と思ったらコメントを宜しくお願いします。
こないだ書いてたスクリプトはもっと早く書けるし、実行時間も短くなります。
前回はポイントを取得して、全ポイントを比べて、最大と最小値を取得して、親オブジェクトの位置を足す。
というのはこのGetBBoxで一発で出来ます。
このGetBBoxはオブジェクトのバウンディングボックス情報を出してくれるスクリプトです。
つまりXYZの最高と最小値。
こんな感じです:
var oPoly = GetBBox(selection(0))
これで oPoly は6つの数値を出してくれます。
oPoly(0) = X 最小値
oPoly(1) = Y 最小値
oPoly(2) = Z 最小値
oPoly(3) = X 最高値
oPoly(4) = Y 最高値
oPoly(5) = Z 最高値
LowerBound と UpperBound というパラメーターもありますが、同じです。
例えば、
oPoly.value("LowerBoundX") は oPoly(0) と同じです。
oPoly.value("UpperBoundX") は oPoly(3) と同じです。
単語だから覚えやすいかもしれないけど。
これで前回書いたスクリプトが軽くなります。
DOWNLOAD
因みに、GetBBoxは複数のオブジェクトも可能ですが、子持ちのオブジェクトがある場合はその親オブジェクトだけが計算されます。子オブジェクトが無視されます。