This command creates a new poly as the result of a boolean operation on input polys : union, intersection, difference.Only for difference, the order of the selected objects is important :result = object1 - object2.If no objects are specified in the command line, then the objects from the active list are used.
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
caching (cch) | bool | ||
|
|||
constructionHistory (ch) | bool | ||
Turn the construction history on or off (where applicable). If construction history is on then the corresponding node will be inserted into the history chain for the mesh. If construction history is off then the operation will be performed directly on the object.Note:If the object already has construction history then this flag is ignored and the node will always be inserted into the history chain. |
|||
faceAreaThreshold (fat) | float | ||
mergeUVSets (muv) | int | ||
name (n) | unicode | ||
|
|||
nodeState (nds) | int | ||
Defines how to evaluate the node. 0: Normal1: PassThrough2: Blocking3: Internally disabled. Will return to Normal state when enabled4: Internally disabled. Will return to PassThrough state when enabled5: Internally disabled. Will return to Blocking state when enabledFlag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list. |
|||
object (o) | bool | ||
|
|||
operation (op) | int | ||
|
|||
preserveColor (pcr) | bool | ||
useThresholds (uth) | bool | ||
vertexDistanceThreshold (vdt) | float | ||
Derived from mel command maya.cmds.polyBoolOp
Example:
import pymel.core as pm
import maya.cmds as cmds
# Union
pm.polyCube( n='Cube1', w=1, h=10, d=1 )
pm.polyCube( n='cub1', w=3, h=3, d=3 )
pm.polyBoolOp( 'cub1', 'Cube1', op=1, n='result1' )
# Difference
pm.polyCube( n='Cube2', w=1, h=10, d=1 )
pm.polyCube( n='cub2', w=3, h=3, d=3 )
pm.polyBoolOp( 'cub2', 'Cube2', op=2, n='result2' )
pm.move( 5, 0, 0, 'result2' )
# Intersection
pm.polyCube( n='Cube3', w=1, h=10, d=1 )
pm.polyCube( n='cub3', w=3, h=3, d=3 )
pm.polyBoolOp( 'cub3', 'Cube3', op=3, n='result3' )
pm.move( 10, 0, 0, 'result3' )