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 操作の結果を反映します。出力結果はオブジェクト名ではなく、文字列表記されたオブジェクトになります。
次の表では、3ds Max ボックス オブジェクト(つまり b=box())への参照を含む変数のクラスおよびスーパークラスの階層を示します。
| ClassOf | SuperClassOf | |
|---|---|---|
b |
Box |
GeometryClass |
box |
GeometryClass |
Node |
GeometryClass |
Node |
MAXWrapper |
Node |
MAXWrapper |
Value |
MAXWrapper |
Value |
Value |
Value |
Value |
Value |
isKindOf() および classOf() 関数は、セットからオブジェクトをフィルタリングする場合に役立ちます。
例
次のいずれかを使用すると、
boxクラスのすべてのオブジェクトが変数allBoxesに収集されます。allBoxes=for obj in $* where (isKindOf obj box) collect objallBoxes=#() 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」を参照してください。