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


subdToPoly( [subd] , [applyMatrixToResult=boolean], [caching=boolean], [connectShaders=boolean], [constructionHistory=boolean], [copyUVTopology=boolean], [depth=int], [extractPointPosition=boolean], [format=int], [inSubdCVId=[int, int]], [inSubdCVIdLeft=int], [inSubdCVIdRight=int], [maxPolys=int], [name=string], [nodeState=int], [object=boolean], [outSubdCVId=[int, int]], [outSubdCVIdLeft=int], [outSubdCVIdRight=int], [outv=int], [preserveVertexOrdering=boolean], [sampleCount=int], [shareUVs=boolean], [subdNormals=boolean])

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

subdToPoly is undoable, queryable, and editable.

This command tessellates a subdivision surface and produces polygon. The name of the new polygon is returned. If construction history is ON, then the name of the new dependency node is returned as well.

Return value

string[]The polygon and optionally the dependency node name

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


changeSubdivComponentDisplayLevel, changeSubdivRegion, createSubdivRegion, nurbsToSubdiv, polyToSubdiv, querySubdiv, refineSubdivSelectionList, subdCollapse, subdToBlind, subdiv, subdivCrease, subdivDisplaySmoothness


applyMatrixToResult, caching, connectShaders, constructionHistory, copyUVTopology, depth, extractPointPosition, format, inSubdCVId, inSubdCVIdLeft, inSubdCVIdRight, maxPolys, name, nodeState, object, outSubdCVId, outSubdCVIdLeft, outSubdCVIdRight, outv, preserveVertexOrdering, sampleCount, shareUVs, subdNormals
Long name (short name) Argument types Properties
format(f) int createqueryedit
  • 0 - Uniform
  • 1 - Adaptive
  • 2 - Polygon Count
  • 3 - Vertices

Default: 0
extractPointPosition(epp) boolean createqueryedit
Determines how the position of a mesh point is calculated If on the position of the mesh point is returned. If off the position of the point of the surface is returned.
Default: false
sampleCount(sc) int createqueryedit
The number of samples per face
Default: 1
depth(d) int createqueryedit
The depth at which constant-depth tessellates the surface
Default: 0
maxPolys(mp) int createqueryedit
The maximum number of polygons at which by polygons tessellates. If this attribute is greater than zero, it will override the sample count and depth attributes.
Default: 0
subdNormals(un) boolean createqueryedit
Keep subdiv surface normals
Default: false
copyUVTopology(cut) boolean createqueryedit
Copy over uv topology (shared/unshared) from the original subdivision surface to the converted polygonal mesh.
Default: false
shareUVs(suv) boolean createqueryedit
Force sharing of uvs on all common vertices - the value of this attribute gets overridden by the value of the copyUVTopology attribute.
Default: false
outSubdCVId(os) [int, int] createqueryeditmultiuse
Output CV Id
outSubdCVIdLeft(osl) int createqueryedit
Higher 32 bit integer of the output CV Id
outSubdCVIdRight(osr) int createqueryedit
Lower 32 bit integer of the output CV Id
inSubdCVId(inSubdCVId) [int, int] createqueryeditmultiuse
Input CV Id
inSubdCVIdLeft(isl) int createqueryedit
Higher 32 bit integer of the input CV Id
inSubdCVIdRight(isr) int createqueryedit
Lower 32 bit integer of the input CV Id
preserveVertexOrdering(pvo) boolean createqueryedit
Preserve vertex ordering in conversion
Default: true
outv(ov) int createqueryeditmultiuse
Out Vertices corresponding to the inSubDCVs.
applyMatrixToResult(amr) boolean createqueryedit
If true, the matrix on the input geometry is applied to the object and the resulting geometry will have identity matrix on it. If false the conversion is done on the local space object and the resulting geometry has the input object's matrix on it.
Default: true
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.
Common flags
name(n) string create
Name the resulting object
constructionHistory(ch) boolean create
Turn the construction history on or off (where applicable)
object(o) boolean create
Create the result, or just the dep. node (where applicable)
connectShaders(cs) boolean create
If true, all shader assignment will be copied from the original subdiv surface to the converted polygonal surface.
Default: true

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

# To create a new polygon from a subdivision surface:
cmds.subdToPoly( 'subd1' )