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


insertKnotSurface( surface , [addKnots=boolean], [caching=boolean], [constructionHistory=boolean], [direction=int], [insertBetween=boolean], [name=string], [nodeState=int], [numberOfKnots=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.

insertKnotSurface is undoable, queryable, and editable.

The insertKnotSurface command inserts knots (aka isoparms) into a surface given a list of parameter values. The number of knots to add at each parameter value and whether the knots are added or complemented can be specified. The name of the surface is returned and if history is on, the name of the resulting dependency node is also returned.

You must specify one, none or all number of knots with the "-nk" flag. eg. if you specify none, then the default (one) knot will be added at each specified parameter value. If you specify one "-nk" value then that number of knots will be added at each parameter value. Otherwise, you must specify the same number of "-nk" flags as "-p" flags, defining the number of knots to be added at each specified parameter value.

You can insert up to "degree" knots at a parameter value that isn't already an isoparm. eg. for a degree 3 surface, you can insert up to 3 knots.

Use this operation if you need more CVs in a local area of the surface. Use this operation if you want to create a corner in the surface.

Note: A single insertKnotSurface command cannot insert in both directions at once; you must use two separate commands to do this.

Return value

string[]Object name and node name

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


addKnots, caching, constructionHistory, direction, insertBetween, name, nodeState, numberOfKnots, object, parameter, replaceOriginal
Long name (short name) Argument types Properties
parameter(p) float createqueryeditmultiuse
Parameter value(s) where knots are added
Default: 0.0
numberOfKnots(nk) int createqueryeditmultiuse
How many knots to insert
Default: 1
addKnots(add) boolean createqueryedit
Whether to add knots or complement. Complement means knots will be added to reach the specified number of knots.
Default: true
insertBetween(ib) boolean createqueryedit
If set to true, and there is more than one parameter value specified, the knots will get inserted at equally spaced intervals between the given parameter values, rather than at the parameter values themselves.
Default: false
direction(d) int createqueryedit
Direction in which to insert knot: 0 - V direction, 1 - U direction
Default: 1
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
replaceOriginal(rpo) boolean create
Create "in place" (i.e., replace)

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.insertKnotSurface( 'surface1', ch=True, p=0.3, d=0 )
cmds.insertKnotSurface( 'surface1.v[0.3]', ch=True )
# Inserts one knot (which is the default) into surface1 at
# parameter value v = 0.3.  When an isoparm is specified, the direction
# and parameter value is implied and the "p" and "d" flags can be omitted.

cmds.insertKnotSurface( 'surface1', ch=True, p=0.3, nk=2, d=0 )
# Inserts two knots into surface1 at parameter value v = 0.3.

cmds.insertKnotSurface( 'surface1', ch=True, p=0.3, p=0.5, p=0.8, nk=2, d=0 )
# Inserts two knots at each parameter value v = 0.3, 0.5 and 0.8.

cmds.insertKnotSurface( 'surface1', ch=True, p=0.5, add=False, nk=3, d=1 )
# Inserts enough knots into surface1 at parameter value u = 0.5 to
# achieve a knot multiplicity of 3.