見出し画像

選択図形の特定のパラメータを一括で揃える

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もしくは数字などを選択・入力することで、いろいろな項目を一括変換できるようなメニューも作れそうですが、時間がかかりそうなので、とりあえずは、よく使う必要なメニューをその都度作ればいいかな。

この記事が気に入ったらサポートをしてみませんか?