pymel.core.modeling.detachSurface¶
- detachSurface(*args, **kwargs)¶
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 -kflag. 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 -pflag. If you are specifying -kflags, then you must specify one, none or all -kflags. If you are specifying all -kflags, there must be one more -kflag than -pflags.
Flags:
Long Name / Short Name Argument Types Properties caching / cch bool Modifies the node caching mode. See the node documentation for more information. Note:For advanced users only. constructionHistory / ch bool Turn the construction history on or off. direction / d int Direction in which to detach: 0 - V direction, 1 - U direction Default:1 frozen / fzn bool keep / k bool Keep the detached pieces. Default:true 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 Modifies the node state. See the node documentation for more information. Note:For advanced users only. Flag can have multiple arguments, passed either as a tuple or a list. object / o bool Create the result, or just the dependency node. parameter / p float Parameter at which to detach. Default:0.0 Common flags replaceOriginal / rpo bool Create in place(i.e., replace). Advanced flags 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.