今回はオブジェクトのTRSの値を得たい時の記述方法です。

■TRSの取得方法

[python]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from pyfbsdk import FBModelCube,FBVector3d,FBModelTransformationType

lName = "Cube"
lMdl = FBModelCube(lName)
lMdl.Show = True
IS_GLOBAL = True
lTransform = FBModelTransformationType.kModelTranslation
lVec = FBVector3d()

lMdl.GetVector( lVec, lTransform, IS_GLOBAL )
lMdl.SetVector( lVec, lTransform, IS_GLOBAL )
[/python]

IS_GLOBAL=Falseにするとローカル値を取得、設定できます。

なにやら知らないクラスが二つほどあると思うので紹介します。

 

 

■FBVector3d( list = [0,0,0] )

引数には要素が3つのfloatで構成されたlistオブジェクトを渡します。
引数に何も渡さないときは自動的に[0,0,0]が設定されます。

■使用方法

[python]
lVec = FBVector3d()
lVec = FBVector3d(1,2,3)
[/python]

 

 

■FBModelTransformationType

vector,matrixオブジェクトのTransformationTypeを選ぶためのクラスです。
記述するときは FBModelTransformationType.Attribute になります。
例えばTranslationを指定するときはこんな感じになります

■使用方法

[python]
FBModelTransformationType.kModelTransformation
[/python]

 

Attributeの部分は一覧と入れ替えることで操作するTransformationTypeを変更できます。

■Attribute一覧

[python]
kModelTransformation
kModelRotation
kModelTranslation
kModelScaling
kModelTransformation_Geometry
kModelInverse_Transformation
kModelInverse_Rotation
kModelInverse_Translation
kModelInverse_Scaling
kModelInverse_Transformation_Geometry
[/python]