ポリゴンメッシュに設定されたフェイスグループを一括削除する(スクリプト)

Shade3D Ver.24.2以降
モデリングを行う工程で、ファイル形式にもよりますが、他のソフトウェアから形状をインポートする、
または、フェイスグループに設定したマスターマテリアルが削除される場合など、ポリゴンメッシュに不要な
フェイスグループが残る場合があります。

フェイスグループとは ?
https://knowledge.shade3d.jp/kb1462

ポリゴンメッシュに設定された不要なフェイスグループは、統合パレットの情報タブにある
フェイスグループ情報の項目から削除することができますが、複数のポリゴンメッシュに複数の
フェイスグループが設定されていると作業が膨大になります。

その場合に、以下のスクリプトを実行することでポリゴンメッシュに設定した
フェイスグループに関する設定を一括削除することができます。

実行すると、ブラウザで選択したポリゴンメッシュのフェイスグループを一括削除します。
パートを選択していた場合は、パート内のポリゴンメッシュのすべてのフェイスグループを削除します。

【使用方法】
1・「def clear_face_group(shape):」から 「xshade.show_message_box(“フェイスグループを削除しました。“, False)」
までを選択し「コピー」してください。
2・表示メニューよりスクリプトを選択してください。
3・スクリプトウィンドウが表示されますので、フィールド上にマウスカーソルを合わせ「貼り付け」を行なってください。
4・スクリプトウィンドウ内にスクリプトが貼り付けられたのち「実行」ボタンをクリックしてください。
5.操作の実行を促す警告メッセージが表示されます。問題ければOKボタンをクリックしてください。

【注意】
・警告メッセージにあるようにスクリプトを実行すると取消しが効きません。事前にデータを保存して実行してください。
・スクリプトを実行すると選択した形状やパート内の形状全てのフェイスグループが削除されますのでご注意ください。


def clear_face_group(shape):
	if shape.type == 7:
		shape.clear_face_group()

	if shape.has_son:
		s = shape.son
		while s.has_bro:
			s = s.bro
			clear_face_group(s)

if xshade.show_message_box("選択形状およびパート内の全てのフェイスグループを削除します。この操作は取り消しで元に戻すことはできません。実行してもよろしいですか?", True):
	shapes = xshade.scene().active_shapes
	for shape in shapes:
		clear_face_group(shape)

	xshade.show_message_box("フェイスグループを削除しました。", False)
この記事のタイトルとURLをコピーする
Translate »