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


projectCurve( [curve] [surface] , [caching=boolean], [constructionHistory=boolean], [direction=[linear, linear, linear]], [directionX=linear], [directionY=linear], [directionZ=linear], [name=string], [nodeState=int], [object=boolean], [range=boolean], [tolerance=linear], [useNormal=boolean])

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

projectCurve is undoable, queryable, and editable.

The projectCurve command creates curves on surface where all selected curves project onto the selected surfaces. Projection can be done using the surface normals or the user can specify the vector to project along. Note: the user does not have to specify the curves and surfaces in any particular order in the command line.

Return value

string[]Object name and node name

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


curveOnSurface, duplicateCurve, intersect


caching, constructionHistory, direction, directionX, directionY, directionZ, name, nodeState, object, range, tolerance, useNormal
Long name (short name) Argument types Properties
direction(d) [linear, linear, linear] createqueryedit
Direction of projection. Available only if useNormal is false.
directionX(dx) linear createqueryedit
X direction of projection.
Default: 0.0
directionY(dy) linear createqueryedit
Y direction of projection.
Default: 0.0
directionZ(dz) linear createqueryedit
Z direction of projection.
Default: 1.0
tolerance(tol) linear createqueryedit
Tolerance to fit to.
Default: 0.01
useNormal(un) boolean createqueryedit
True if the surface normal is to be used and false if the direction vector should be used instead.
Default: false
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
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.
constructionHistory(ch) boolean create
Turn the construction history on or off
object(o) boolean create
Create the result, or just the dependency node
range(rn) boolean create
Force a curve range on complete input curve

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

# Project the active curve onto the active surface using the surface
# normals:
cmds.projectCurve( un=True )

# Project this curve onto the nurbs sphere using the specified direction:
cmds.projectCurve( 'curve1', 'nurbsSphere1', d=(0.0, 6.0, 0.0) )