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.
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 Flag can have multiple arguments, passed either as a tuple or a list.

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 )