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