日々適当

hibitekitou

lwo読み込み時に走らせておくスクリプト

xsi |2008-10-15
メモ:lwoを読み込むときに使うもの。

1.あるフォルダ内のLwoファイルを読み込むためのスクリプトを生成するためのもの。コマンドプロンプト上で、
python このスクリプトが書かれたpyファイル lwoの入っているディレクトリパス
を実行。
import os, sys, re

exportFilePath = "C:\lwoList.txt"
sceneScle = str(100)

lwoImportList = []

if len(sys.argv) == 2:
	dictPath = os.path.abspath(sys.argv[1])
	if os.path.exists(dictPath):
		writeDataString = ""
		fileList = os.listdir(dictPath )
		for fileName in fileList:
			items = fileName.split(".")
			if (len(items) > 1) and (items[-1] == "lwo"):
				filePath = dictPath + "\\" +  fileName
				importCom = "Application.PO_XSI_ImportLWO(\"" + filePath + "\" , 1, 1, 1, 1, 1, " + sceneScle + ")"
				importCom = re.sub( r'\\', r'\\\\',importCom)
				writeDataString = writeDataString + "\n" + importCom 


	
	f = open(exportFilePath,'w')
	f.write(writeDataString ) 
	f.close()


2.読み込んだオブジェクトはモデルの子供にレイヤー名で作成されるが、そのレイヤーをモデルの名前と同じものに変更の上、モデル名に"_model"を追加(モデルを選択して実行)。
selObj = Application.Selection(0)

selObjChildren = selObj.FindChildren()

if selObjChildren.Count > 1:
	for i in range(0,selObjChildren.Count):
		Application.SetValue(selObjChildren(i).FullName + ".Name", selObj.Name + "_" + str(i + 1), "")
else:
	Application.SetValue(selObjChildren(0).FullName + ".Name", selObj.Name, "")
		
Application.SetValue(selObj.Name + ".Name", selObj.Name + "_model", "")
コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。