値の操作

 

   

値とコレクション - クイック ナビゲーション

出力とフォーマット

print() および format() 関数はわかりやすい関数です。

format 関数は、任意の出力フォーマットを使用する場合や、複数の値を 1 行で出力する場合に使用します。

いずれの関数を使って値を出力しても、値が文字列で出力されます。これは、3ds Max オブジェクトやマテリアルなどの名前付きオブジェクトのオブジェクト名ではありません。

次の例では、変数 b に、マテリアルを適用した 3ds Max ボックス オブジェクトへの参照が含まれています。

print b
print b.name
print b.material
print b.material.name

出力:

$Box:Box01 @ [-74.353745,0.000001,-19.931978]
"Box01"
Material #1:Standard
"Material #1"

上記の出力結果も <value> as string 操作の結果を反映します。出力結果はオブジェクト名ではなく、文字列表記されたオブジェクトになります。

classOf、superClassOf、および isKindOf

次の表では、3ds Max ボックス オブジェクト(つまり b=box() )への参照を含む変数のクラスおよびスーパークラスの階層を示します。

 

ClassOf

SuperClassOf

b [直方体](Box) GeometryClass
box GeometryClass ノード
GeometryClass ノード MAXWrapper
ノード MAXWrapper
MAXWrapper

isKindOf() および classOf() 関数は、セットからオブジェクトをフィルタリングする場合に役立ちます。

次のいずれかを使用すると、 box クラスのすべてのオブジェクトが変数 allBoxes に収集されます。

allBoxes=for obj in $* where (isKindOf obj box) collect obj
allBoxes=#()
for obj in $* do (if classOf obj == box then append allBoxes obj)

インタラクティブ ノード選択関数への名前付きパラメータのひとつに、 filter があります。これを使用すると、オブジェクトが選択可能な場合に true の値を返す関数を指定できます。

これらの関数では、 classOf superClassOf 、および isKindOf がよく使用されます。

次の関数は選択範囲をシェイプ オブジェクトに限定します。

fn shape_filt obj = isKindOf obj Shape

使用方法の例については、「Pickbutton」を参照してください。