Go to: Synopsis. Return value. Flags. Python examples.

Synopsis

detachSurface( surface , [caching=boolean], [constructionHistory=boolean], [direction=int], [keep=boolean], [name=string], [nodeState=int], [object=boolean], [parameter=float], [replaceOriginal=boolean])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

detachSurface is undoable, queryable, and editable.

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.

Return value

string[]Object name and node name

In query mode, return type is based on queried flag.

Flags

caching, constructionHistory, direction, keep, name, nodeState, object, parameter, replaceOriginal
Long name (short name) Argument types Properties
direction(d) int createqueryedit
Direction in which to detach: 0 - V direction, 1 - U direction
Default: 1
keep(k) boolean createqueryeditmultiuse
Keep the detached pieces.
Default: true
parameter(p) float createqueryeditmultiuse
Parameter at which to detach.
Default: 0.0
Common flags
constructionHistory(ch) boolean create
Turn the construction history on or off.
name(n) string create
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.
object(o) boolean create
Create the result, or just the dependency node.
replaceOriginal(rpo) boolean create
Create "in place" (i.e., replace).
Advanced flags
caching(cch) boolean createqueryedit
Modifies the node caching mode. See the node documentation for more information.
Note: For advanced users only.
nodeState(nds) int createqueryedit
Modifies the node state. See the node documentation for more information.
Note: For advanced users only.

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can have multiple arguments, passed either as a tuple or a list.

Python examples

import maya.cmds as cmds

cmds.detachSurface( 'surface1', ch=True, d=1, p=0.3, rpo=False )
cmds.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.

cmds.detachSurface( 'surface1', ch=True, k=(1,0), rpo=False, p=0.34, d=0 )
cmds.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.

cmds.detachSurface( 'surface1', ch=True, rpo=True, p=(0.2, 0.5), d=1 )
cmds.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.

cmds.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.

cmds.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.