pymel.core.modeling.polyBoolOp

polyBoolOp(*args, **kwargs)

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.

Flags:
Long name (short name) Argument Types Properties
caching (cch) bool ../../../_images/create.gif ../../../_images/edit.gif
 
Toggle caching for all attributes so that no recomputation is needed
constructionHistory (ch) bool ../../../_images/create.gif ../../../_images/query.gif
 

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  
   
name (n) unicode ../../../_images/create.gif
 
Give a name to the resulting node.
nodeState (nds) int ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

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 have multiple arguments, passed either as a tuple or a list.

object (o) bool ../../../_images/create.gif
 
Create the result, or just the dependency node (where applicable). Common flags
operation (op) int ../../../_images/create.gif
 
1=union, 2=difference, 3=intersection
preserveColor (pcr) bool  
   
useThresholds (uth) bool  
   
vertexDistanceThreshold (vdt) float  
   

Derived from mel command maya.cmds.polyBoolOp

Example:

import pymel.core as pm

# 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' )

Previous topic

pymel.core.modeling.polyBlindData

Next topic

pymel.core.modeling.polyBridgeEdge

Core

Core Modules

Other Modules

This Page