pymel.core.modeling.polySplitEdge¶
- polySplitEdge(*args, **kwargs)¶
Split Edges.There are two operations for this command depending on the value of the -operation flag. If -operation is set to 1 then this command will split apart faces along all selected manifold edges. If -operation is set to 0 then this command will split non-manifold edges so as to make them manifold edges. It creates the minimum number of edges that can be created to make the edge manifold. The default value for -operation is 1, operate on manifold edges. Resulting mesh may have extra vertices or edges to ensure geometry is valid.
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. operation / op int Derived from mel command maya.cmds.polySplitEdge
Example:
import pymel.core as pm # An example taking a non-manifold edge and splitting it to # make it manifold pm.polyPlane( w=1, h=1, sx=10, sy=10, ax=(0, 1, 0), cuv=1, ch=1 ) pm.scale( 15, 15, 15, r=True ) pm.move( -8, 0, 6, r=True ) pm.select( 'polyPlane1', addFirst=True ) pm.setAttr( 'polyPlane1.subdivisionsWidth', 3 ) pm.setAttr( 'polyPlane1.subdivisionsHeight', 3 ) pm.select( 'pPlane1.e[12]', r=True ) pm.polyExtrudeEdge( 'pPlane1.e[12]', ch=1, kft=0, pvx=-5.5, pvy=0.0, pvz=6.0 ) polyExtrudeEdge1 pm.setAttr( 'polyExtrudeEdge1.localTranslate', 0, 0, 5.093611) pm.select( 'pPlane1.e[12]', r=True ) pm.polySplitEdge(op=0) polySplitEdge1 # The edge is now split.. pm.select( 'pPlane1.f[9]', r=True) pm.move(0, 0.5, 0, r=True) # An example which splits loops of manifold edges pm.polyPlane(w=10, h=10, sx=4, sy=4, ch=1, name='ManifoldTest') pm.select('ManifoldTest.e[3]', 'ManifoldTest.e[12:15]', 'ManifoldTest.e[21]', 'ManifoldTest.e[23]', 'ManifoldTest.e[29]') pm.polySplitEdge(operation=1) pm.select('ManifoldTest.f[1:3]', 'ManifoldTest.f[5]', 'ManifoldTest.f[9]') pm.move(0, 0, 5, r=True) pm.select('ManifoldTest.f[0]', 'ManifoldTest.f[4]', 'ManifoldTest.f[6:8]', 'ManifoldTest.f[10:15]') pm.move(0, 0, -5, r=True)