選択図形の特定のパラメータを一括で揃える
2D図形の基準面が設定がスクリーンとレイヤとが混在してしまって、モデリングの下書きに使えなかったり、3D図形の「断面ビューポートで構造用図形として扱う」のチェックを入れ忘れてビューポートでの表示が崩れたりしてしまって、これらを一括で設定できれば、と思う場面はないでしょうか。
僕はしょっちゅうあって、まとめて選択して設定すれば良いんだけど、選択図形の中に他の種類の図形が混じっていたり、グループ内の図形まで設定できなかったりで、手間取ることが多いです。
そういうときはスクリプトで一括で変更すれば済むはずなので、重い腰を上げて試行錯誤してみました。
#---------------------------------------
import vs
# ----------------------------------------------------------
# script-----------------------------------------------------
# ----------------------------------------------------------
def Hidd( hh ):
if vs.GetObjectVariableBoolean(hh, 1160 ) == False:
vs.SetObjectVariableBoolean(hh, 1160 , True)
if vs.GetTypeN( hh ) == 11:
obj = vs.FInLayer( hh )
while obj != None:
Hidd( obj )
obj = vs.NextObj( obj )
vs.ForEachObject(Hidd, "((SEL=TRUE))")
#---------------------------------------
スクリプト言語をpythonに設定して、上記コードでコマンドかメニューを作れば、うまくいきました。(今のところは。グループがあると、その中に潜っていくようにしていて、ループになっているのがちょっと怖いですが)
上記コードは基準面の設定をスクリーンに一括設定しているのですが、ObjectVariableBooleanの1160という番号をTrueにすることがそれにあたります。(Falseにすると基準面がレイヤで統一されるはず)
この番号はA&AのAppendixのサイトに一覧があるので番号さえ探り当てられれば、いろいろな設定を一括設定できるはず。
ちなみに、「断面ビューポートで構造用図形として扱う」は702番ですので1160を702に書き換えることで一括設定が可能です。
Pop-upでパラメータの項目を選んで、TrueかFalseもしくは数字などを選択・入力することで、いろいろな項目を一括変換できるようなメニューも作れそうですが、時間がかかりそうなので、とりあえずは、よく使う必要なメニューをその都度作ればいいかな。
この記事が気に入ったらサポートをしてみませんか?