<< Metasequoia Pythonで平面をつくる その1 戻る ポリゴン、5角形をつくる >>

Metasequoia Pythonで平面をつくる その2

新規オブジェクトで平面を作っていく。
インデックスが-1
[-1] ドキュメントに登録されていないオブジェクトということでしょうか。

# 基本図形、新規オブジェクトで平面をつくる
doc = MQSystem.getDocument()

obj = MQSystem.newObject() #新規オブジェクト
out = MQSystem.println
out(obj.name)
a=doc.getObjectIndex(obj) #オブジェクトのインデックスを取得

obj.name="plane_%d" % a #オブジェクト名をつける

v = []
v.append( obj.addVertex(200,0,200)) #面の向きはカメラから見て反時計回り
v.append( obj.addVertex(-200,0,200))
v.append( obj.addVertex(-200,0,-200))
v.append( obj.addVertex(200,0,-200))

obj.addFace(v)
doc.addObject( obj )

num = doc.numObject #オブジェクトの数
out("オブジェクトの数 %d" % num) #オブジェクトの数を表示


-1となるのがわかりました。
doc.addObject( obj )
でシーンにオブジェクトを追加(ドキュメントに登録)した後に、
a=doc.getObjectIndex(obj) #オブジェクトのインデックスを取得
を行えば、aは1となりますね。

obj.name="plane_%d" % a #オブジェクト名をつける

plane_1と表示されます。
オブジェクトのインデックス番号が1なのは、最初にあるobj1がインデックス番号0だからですね。

くりかえしくりかえし、基礎基本の勉強です。
ありがとうございます。
  • -
  • -

<< Metasequoia Pythonで平面をつくる その1 戻る ポリゴン、5角形をつくる >>