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

Synopsis

nonLinear( objects , [after=boolean], [afterReference=boolean], [autoParent=boolean], [before=boolean], [commonParent=boolean], [defaultScale=boolean], [deformerTools=boolean], [exclusive=string], [frontOfChain=boolean], [geometry=string], [geometryIndices=boolean], [ignoreSelected=boolean], [name=string], [parallel=boolean], [prune=boolean], [remove=boolean], [split=boolean], [type=string])

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

nonLinear is undoable, queryable, and editable.

This command creates a functional deformer of the specified type that will deform the selected objects. The deformer consists of three nodes: The deformer driver that gets connected to the history of the selected objects, the deformer handle transform that controls position and orientation of the axis of the deformation and the deformer handle that maintains the deformation parameters. The type of the deformer handle shape created depends on the specified type of the deformer. The deformer handle will be positioned at the center of the selected objects' bounding box and oriented to match the orientation of the leading object in the selection list. The deformer handle transform will be selected when the command is completed.

The nonLinear command has some flags which are specific to the nonLinear type specified with the -type flag. The flags correspond to the primary keyable attributes related to the specific type of nonLinear node. For example, if the type is "bend", then the flags "-curvature", "-lowBound" and "-highBound" may be used to initialize, edit or query those attribute values on the bend node. Examples of this are covered in the example section below.

Return value

string[]Deformer driver name, deformer handle transform name.

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

Related

reorderDeformers

Flags

after, afterReference, autoParent, before, commonParent, defaultScale, deformerTools, exclusive, frontOfChain, geometry, geometryIndices, ignoreSelected, name, parallel, prune, remove, split, type
Long name (short name) Argument types Properties
name(n) string create
Used to specify the name of the node being created
geometry(g) string queryeditmultiuse
The specified object will be added to the list of objects being deformed by this deformer object, unless the -rm flag is also specified. When queried, this flag returns string string string ...
geometryIndices(gi) boolean query
Complements the -geometry flag in query mode. Returns the multi index of each geometry.
remove(rm) boolean editmultiuse
Specifies that objects listed after the -g flag should be removed from this deformer.
before(bf) boolean createedit
If the default behavior for insertion/appending into/onto the existing chain is not what you want then you can use this flag to force the command to stick the deformer node before the selected node in the chain even if a new geometry shape has to be created in order to do so. Works in create mode (and edit mode if the deformer has no geometry added yet).
after(af) boolean createedit
If the default behavior for insertion/appending into/onto the existing chain is not what you want then you can use this flag to force the command to stick the deformer node after the selected node in the chain even if a new geometry shape has to be created in order to do so. Works in create mode (and edit mode if the deformer has no geometry added yet).
afterReference(ar) boolean createedit
The -afterReference flag is used to specify deformer ordering in a hybrid way that choses between -before and -after automatically. If the geometry being deformed is referenced then -after mode is used in adding the new deformer otherwise -before mode is used. The net effect when using -afterReference to build deformer chains is that internal shape nodes in the deformer chain will only appear at reference file boundaries, leading to lightweight deformer networks that may be more amicable to reference swapping.
split(sp) boolean createedit
Branches off a new chain in the dependency graph instead of inserting/appending the deformer into/onto an existing chain. Works in create mode (and edit mode if the deformer has no geometry added yet).
frontOfChain(foc) boolean createedit
This command is used to specify that the new deformer node should be placed ahead (upstream) of existing deformer and skin nodes in the shape's history (but not ahead of existing tweak nodes). The input to the deformer will be the upstream shape rather than the visible downstream shape, so the behavior of this flag is the most intuitive if the downstream deformers are in their reset (hasNoEffect) position when the new deformer is added. Works in create mode (and edit mode if the deformer has no geometry added yet).
parallel(par) boolean createedit
Inserts the new deformer in a parallel chain to any existing deformers in the history of the object. A blendShape is inserted to blend the parallel results together. Works in create mode (and edit mode if the deformer has no geometry added yet).
ignoreSelected(ignoreSelected) boolean create
Tells the command to not deform objects on the current selection list
deformerTools(dt) boolean query
Returns the name of the deformer tool objects (if any) as string string ...
prune(pr) boolean edit
Removes any points not being deformed by the deformer in its current configuration from the deformer set.
exclusive(ex) string createquery
Puts the deformation set in a deform partition.
type(typ) string create
Specifies the type of deformation. The current valid deformation types are: bend, twist, squash, flare, sine and wave
commonParent(cp) boolean create
Creates a new transform and parents the selected object and the deformer handle under it. This flag is valid only when a single object is selected.
autoParent(ap) boolean create
Parents the deformer handle under the selected object's transform. This flag is valid only when a single object is selected.
defaultScale(ds) boolean create
Sets the scale of the deformation handle to 1. By default the deformation handle is scaled to the match the largest dimension of the selected objects' bounding box. [deformerFlags] The attributes of the deformer handle shape can be set upon creation, edited and queried as normal flags using either the long or the short attribute name. e.g.

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 bend deformer with curvature 0.5
#
cmds.nonLinear( type='bend', curvature=0.5 )

# To edit the curvature of the bend deformer
#
cmds.nonLinear( 'bend1', e=True, curvature=0.2 )

# To query the curvature of the bend deformer
#
cmds.nonLinear( 'bend1', query=True, curvature=True )