The detachSurface command detaches a surface into pieces, given a list of parameter values and a direction. You can also specify which pieces to keep and which to discard using the “-k” flag. The names of the newly detached surface(s) are returned. If history is on, the name of the resulting dependency node is also returned. You can only detach in either U or V (not both) with a single detachSurface operation. You can use this command to open a closed surface at a particular parameter value. You would use this command with only one “-p” flag. If you are specifying “-k” flags, then you must specify one, none or all “-k” flags. If you are specifying all “-k” flags, there must be one more “-k” flag than “-p” flags.
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
caching (cch) | bool | ||
|
|||
constructionHistory (ch) | bool | ||
|
|||
direction (d) | int | ||
|
|||
keep (k) | bool | ||
|
|||
name (n) | unicode | ||
Sets the name of the newly-created node. If it contains namespace path, the new node will be created under the specified namespace; if the namespace does not exist, it will be created. |
|||
nodeState (nds) | int | ||
|
|||
object (o) | bool | ||
|
|||
parameter (p) | float | ||
|
|||
replaceOriginal (rpo) | bool | ||
|
Derived from mel command maya.cmds.detachSurface
Example:
import pymel.core as pm
pm.detachSurface( 'surface1', ch=True, d=1, p=0.3, rpo=False )
pm.detachSurface( 'surface1.u[0.3]', ch=True )
# Detaches surface1 into two pieces at u = 0.3.
# The results are two surface pieces, and a detachSurface dependency node.
# Since no "-keep" flag is used, all pieces are kept.
pm.detachSurface( 'surface1', ch=True, k=(1,0), rpo=False, p=0.34, d=0 )
pm.detachSurface( 'surface1.v[0.34]', ch=True, k=(1,0), rpo=False )
# Detaches surface1 at v = 0.34. Because of the "k" flags, two
# surfaces are created but the second surface is empty. A
# detachSurface dependency node is also returned.
pm.detachSurface( 'surface1', ch=True, rpo=True, p=(0.2, 0.5), d=1 )
pm.detachSurface( 'surface1.u[0.2]', 'surface1.u[0.5]', ch=True, rpo=True )
# Detaches surface1 into three pieces. Because of the "-rpo" flag,
# the first surface piece is used to replace the original surface1.
# The results are the three surfaces (including the original surface).
# Even though the "ch" flag is on, a dependency node is not created
# if surface1 is not a result of construction history. If surface1
# is the result of construction history, then a dependency node is
# created and its name is returned.
pm.detachSurface( 'cylinder1', ch=True, d=0, p=0.3, rpo=False )
# Detaches cylinder1, which is periodic in V, where the V parameter
# ranges between 0.0 and 8.0. The parameter, 0.3, is used to move
# the start point of the cylinder, also known as the "seam".
# The resulting surface's V parameter range is 0.0 to 0.3.
pm.detachSurface( 'cylinder1', ch=True, d=0, p=(0.3, 0.7), rpo=False )
# Detaches cylinder1, which is periodic in V, where the V parameter
# ranges between 0.0 and 8.0. The 1st parameter, 0.3, is used to move
# the start point of the cylinder, also known as the "seam".
# The second parameter, 0.7, is used to detach the cylinder again.
# The result is only TWO surfaces; the first surface's V parameter ranges
# from 0.0 to 0.3. The second surface's V parameter ranges from 0.3 to 0.7.