pymel.core.effects.constrain

constrain(*args, **kwargs)

This command constrains rigid bodies to the world or other rigid bodies. In query mode, return type is based on queried flag.

Flags:
Long name (short name) Argument Types Properties
barrier (br) bool ../../../_images/create.gif ../../../_images/query.gif
 
Creates a barrier constraint. This command requires one rigid bodies.
damping (d) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Sets the damping constant. Default value: 0.1 Range: -1000.0 to 1000.0
directionalHinge (dhi) bool ../../../_images/create.gif ../../../_images/query.gif
 
Creates a directional hinge constraint. This command requires two rigid bodies. The directional hinge always maintains the initial direction of its axis.
hinge (hi) bool ../../../_images/create.gif ../../../_images/query.gif
 
Creates a hinge constraint. This command requires one or two rigid bodies.
interpenetrate (i) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Allows (or disallows) the rigid bodies defined in the constrain to ipenetrate. Flag can have multiple arguments, passed either as a tuple or a list.

nail (na) bool ../../../_images/create.gif ../../../_images/query.gif
 
Creates a nail constraint. This command requires one rigid body.
name (n) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Names the rigid constraint.
orientation (o) float, float, float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Set initial orientation of the constraint in world space. This command is only valid with hinge and barrier constraints Default value: 0.0 0.0 0.0
pinConstraint (pin) bool ../../../_images/create.gif ../../../_images/query.gif
 
Creates a pin constraint. This command requires two rigid bodies.
position (p) float, float, float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Set initial position of the constraint in world space. Default value: 0.0 0.0 0.0 for uni-constraints, midpoint of bodies for deul constraint.
restLength (rl) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Sets the rest length. Default value: 1.0
spring (s) bool ../../../_images/create.gif ../../../_images/query.gif
 
Creates a spring constraint. This command requires one or two rigidies.
stiffness (st) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Sets the springs stiffness constant. Default value: 5.0

Derived from mel command maya.cmds.constrain

Example:

import pymel.core as pm

# "Nail" a rigid body at position ""0.0, 2.5, 0.0""
#
pm.constrain( 'rigidBody1', nail=True, p=(0, 2.5, 0) )

# "Pin" two rigid bodies together at the position ""0.0, 2.5, 0.0"".
#
pm.constrain( 'rigidBody1', 'rigidBody2', pin=True, n='pin', p=(0, 2.5, 0) )

# "Hinge" a rigid body at the position ""0.0, 2.5, 0.0"".
#
pm.constrain( 'rigidBody1', hinge=True, p=(0, 2.5, 0) )

# Create a barrier for a rigid body which will not allow the rigid body
# to fall below (in y by default) the plane defined by the
# barrier point ""0.0, 2.5, 0.0"".
#
pm.constrain( 'rigidBody1', barrier=True, p=(0, 2.5, 0) )

# Add a "Spring" to a rigid body at the position ""0.0, 2.5, 0.0""
# connected on the rigid body at point ""0, 0, 0""
#
pm.constrain( 'rigidBody1', spring=True, name='spring', p=(0, 2.5, 0), rl=1.0 )

Previous topic

pymel.core.effects.connectDynamic

Next topic

pymel.core.effects.drag

Core

Core Modules

Other Modules

This Page