pymel.core.animation.dagPose

static animation.dagPose(*args, **kwargs)

This command is used to save and restore the matrix information for a dag hierarchy. Specifically, the data stored will restore the translate, rotate, scale, scale pivot, rotate pivot, rotation order, and (for joints) joint order for all the objects on the hierarchy. Data for other attributes is not stored by this command. This command can also be used to store a bindPose for an object. When you skin an object, a dagPose is automatically created for the skin.

Flags:
Long name (short name) Argument Types Properties
addToPose (a) bool ../../../_images/create.gif
 
Allows adding the selected items to the dagPose.
atPose (ap) bool ../../../_images/query.gif
 

Query whether the hierarchy is at same position as the pose. Names of hierarchy members that are not at the pose position will be returned. An empty return list indicates that the hierarchy is at the pose.

bindPose (bp) bool ../../../_images/create.gif ../../../_images/query.gif
 

Used to specify the bindPose for the selected hierarchy. Each hierarchy can have only a single bindPose, which is saved automatically at the time of a skin bind. The bindPose is used when adding influence objects, binding new skins, or adding flexors. Take care when modifying the bindPose with the -rs/-reset or -rm/-remove flags, since if the bindPose is ill-defined it can cause problems with subsequent skinning operations.

g (g) bool ../../../_images/create.gif
 

This flag can be used in conjunction with the restore flag to signal that the members of the pose should be restored to the global pose. The global pose means not only is each object locally oriented with respect to its parents, it is also in the same global position that it was at when the pose was saved. If a hierarchy’s parenting has been changed since the time that the pose was saved, you may have trouble reaching the global pose.

members (m) bool ../../../_images/query.gif
 
Query the members of the specified pose. The pose should be specified using the selection list, the -bp/-bindPose or the -n/-name flag.
name (n) unicode ../../../_images/create.gif ../../../_images/query.gif
 
Specify the name of the pose. This can be used during create, restore, reset, remove, and query operations to specify the pose to be created or acted upon.
remove (rm) bool ../../../_images/create.gif
 
Remove the selected joints from the specified pose.
reset (rs) bool ../../../_images/create.gif
 

Reset the pose on the selected joints. If you are resetting pose data for a bindPose, take care. It is appropriate to use the -rs/-reset flag if a joint has been reparented and/or appears to be exactly at the bindPose. However, a bindPose that is much different from the exact bindPose can cause problems with subsequent skinning operations.

restore (r) bool ../../../_images/create.gif
 
Restore the hierarchy to a saved pose. To specify the pose, select the pose node, or use the -bp/-bindPose or -n/-name flag.
save (s) bool ../../../_images/create.gif
 
Save a dagPose for the selected dag hierarchy. The name of the new pose will be returned.
selection (sl) bool ../../../_images/create.gif ../../../_images/query.gif
 
Whether or not to store a pose for all items in the hierarchy, or for only the selected items.
worldParent (wp) bool ../../../_images/create.gif
 

Indicates that the selected pose member should be recalculated as if it is parented to the world. This is typically used when you plan to reparent the object to world as the next operation. Flag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.dagPose

Example:

import pymel.core as pm

# To create a pose for all objects parented above and below
# the selected items.
#
pm.dagPose( save=True )

# To create a dagPose named "mypose" for the selected items only and not
# the dag objects parented below the selected items.
#
pm.dagPose( save=True, selection=True, name='mypose' )

# To restore the local (rather than global) mypose pose
#
pm.dagPose( 'mypose', restore=True )

# To restore the mypose pose in global mode.
#
pm.dagPose( 'mypose', restore=True, global=True )

# To query the members of the mypose pose.
#
pm.dagPose( 'mypose', query=True, members=True )

# To return the name (if any) of the bindPose attached to the
# selected items.
#
pm.dagPose( q=True, bindPose=True )

# To reset the pose data on a joint named bigToe for "mypose"
#
pm.dagPose( 'bigToe', reset=True, n='mypose' )

# To remove a joint named pinky from "mypose"
#
pm.dagPose( 'pinky', remove=True, n='mypose' )

# To restore the skeleton to its bindPose
#
pm.dagPose( restore=True, global=True, bindPose=True )

Previous topic

pymel.core.animation.cutKey

Next topic

pymel.core.animation.defineDataServer

Core

Core Modules

Other Modules

This Page