pymel.core.modeling.polyTriangulate¶
- polyTriangulate(*args, **kwargs)¶
Triangulation breaks polygons down into triangles, ensuring that all faces are planar and non-holed. Triangulation of models can be beneficial in many areas.
Flags:
Long Name / Short Name Argument Types Properties caching / cch bool Toggle caching for all attributes so that no recomputation is needed. 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. frozen / fzn bool name / n unicode Give a name to the resulting node. 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 have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.polyTriangulate
Example:
import pymel.core as pm # Non-planar faces pm.polyPlane( n='plg1', sx=5, sy=5, w=5, h=5 ) pm.move( -6, 0, 0 ) pm.polyMoveVertex( 'plg1.vtx[7]', 'plg1.vtx[10]', 'plg1.vtx[25]', 'plg1.vtx[28]', ltz=1 ) pm.polyTriangulate( 'plg1.f[0:1]', 'plg1.f[5:6]', 'plg1.f[3:4]', 'plg1.f[8:9]', 'plg1.f[15:16]', 'plg1.f[20:21]', 'plg1.f[18:19]', 'plg1.f[23:24]' ) # Holed faces maya.pm.polyCreateFacet( p=[(2.5, 0, 2.5), (2.5, 0, -2.5), (-2.5, 0, -2.5), (-2.5, 0, 2.5), (), (1, 0, -1), (-1, 0, -1), (-1, 0, 1), (1, 0, 1)], n='plg2' ) pm.polyTriangulate( 'plg2.f[0]' ) # Both holed and non-planar facets pm.polyPlane( n='plg3', sx=3, sy=3, h=5, w=5 ) pm.move( 6, 0, 0 ) pm.polyChipOff( 'plg3.f[4]', dup=1, ltz=1, ls=(.25, .25, .25) ) pm.polyMergeFacet( 'plg3', ch=True, ff=4, sf=9 ) pm.polyTriangulate( 'plg3.f[4]' )