Boolean3: GeometryClass

Boolean3 - superclass: GeometryClass; super-superclass:node - classID:#(7bc209af, 1bbac5f)

Boolean3 / BooleanObject2 合成オブジェクト クラスを使用すると、合成ブール演算オブジェクトを作成できます。 3ds Max 2017 以降で使用可能です。

エイリアス:

Boolean3
BooleanObject2

コンストラクタ:

コンストラクタはありません。以下を使用します。

startObjectCreation BooleanObject2

プロパティ

.iconsize: float
.materialOption: integer

ブール演算のマテリアルの設定:

0 - オペランド マテリアルを適用する

1 - 元のマテリアルを保持する

.displayOption: integer

ブール演算の表示の設定:

0 - 結果

1 - オペランド

2 - 選択されたオペランド

.displayAsShaded: integer

[シェーディングで表示] (Display as Shaded)の設定:

0 - オフ

1 - オン

.objects: maxObject array

ReferenceTarget オブジェクトとしてブール演算内にオペランドを含む配列。

.operation: int array

.objects 配列の対応する各オペランド用のオペランド タイプを含む配列。

0 - 和

1 - 交差

2 - 減算

3 - 合成

4 - アタッチ

5 - 挿入

.option: int array

各オペランドの[形跡] (Imprint)/[クッキー] (Cookie)オプションを含みます。

0 - オプションなし

1 - 形跡

2 - クッキー

.operand_tm: maxObject array

ブール演算オペランドの位置コントローラの配列です。

メソッド(BooleanObject2 インタフェースから):

<integer>GetNumOperands()

ブール演算内のオペランド数を返します。

<boolean>GetOperandName <index>index <&string>nameout

nameout is Out parameter

指定したインデックスのオペランド名を取得します。

<boolean>SetOperandName <index>index <index>operandIndex <string>name

指定したインデックスのオペランド名を設定します。

<boolean>GetOperandType <index>index <&enum>type

type enums: {#system|#generated}

type is Out parameter

指定したインデックスのオペランド タイプを取得します。

<boolean>GetNumChildren <index>index <&integer>count

count is Out parameter

指定したインデックスのオペランドの子の名前を取得します。

<boolean>GetOperationType <index>index <&enum>type

type enums: {#union|#intersection|#subtraction|#merge|#attach|#insert}

type is Out parameter

指定したインデックスのオペランドの演算タイプを取得します。

<boolean>SetOperationType <index>index <enum>type

type enums: {#union|#intersection|#subtraction|#merge|#attach|#insert}

指定したインデックスのオペランドの演算タイプを設定します。

<boolean>GetOperationOption <index>index <&enum>option

option enums: {#none|#imprint|#cookie}

option is Out parameter

指定したインデックスのオペランドの演算オプションを取得します。

<boolean>SetOperationOption <index>index <enum>option

option enums: {#none|#imprint|#cookie}

指定したインデックスのオペランドの演算オプションを設定します。

<boolean>GetSolo <index>operandIndex <&boolean>solo

solo is Out parameter

指定したインデックスのオペランドのソロ設定を取得します。

<boolean>SetSolo <index>operandIndex <boolean>solo

指定したインデックスのオペランドのソロ設定を設定します。

<boolean>GetSoloOperandIndex <&index>operandIndex

operandIndex is Out parameter
<boolean>GetDisable <index>operandIndex <&boolean>disable
disable is Out parameter

指定したインデックスのオペランドの無効な設定を取得します。

bool>SetDisable <index>operandIndex <boolean>disable

指定したインデックスのオペランドの無効な設定を設定します。

<boolean>HasSubdivs <index>operandIndex <time>time <&boolean>sub

sub is Out parameter

指定したインデックスのオペランドにサブディビジョンがあるかどうかを示します。

<boolean>GetSubdivs <index>index <time>time <&integer>subdivs <&interval>valid

 subdivs is Out parameter

 valid is In and Out parameter

指定した時刻および有効性に対する、指定したインデックスのオペランドのサブディビジョンを取得します。

<boolean>SetSubdivs <index>index <time>time <integer>subdivs

指定した時刻に対する、指定したインデックスのオペランドのサブディビジョン数を設定します。

<boolean>RemoveOperand <index>operandIndex

指定したオペランドをブール演算から削除します。

<boolean>AppendOperand <node>boolNode <node>operandNode <boolean>hold
<boolean>InsertOperand <node>boolNode <node>operandNode <index>where <boolean>hold

例:

    -- Create a couple of boxes, add them as operands with Union operation
    boxNum1 = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:34.4026 width:35.2684 height:28.3108 mapcoords:on pos:[-9.23886,6.62539,0] isSelected:on
    boxNum2 = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:34.6151 width:39.1545 height:16.8113 mapcoords:on pos:[10.8141,-3.6636,5.99007] isSelected:on
    select boxNum1
    -- The following can use "BooleanObject2" or "Boolean3"
    StartObjectCreation Boolean3
    bool = $
    -- Add Box2...
    bool.AppendOperand bool boxNum2 false
    -- Use it in a union
    bool.SetOperationType 2 #union

    -- Use it as subtraction
    bool.SetOperationType 2 #subtraction

    -- Delete both operands so have an empty boolean (makes icon appear)
    bool.RemoveOperand 2
    bool.RemoveOperand 1
    -- Set icon size big
    bool.iconSize = 200
    -- Set icon size tiny
    bool.iconSize = 2