Pose Operators
- bpy.ops.pose.armature_apply(selected=False)
Apply the current pose as the new rest pose
- Parameters
selected (boolean, (optional)) – Selected Only, Only apply the selected bones (with propagation to children)
- bpy.ops.pose.autoside_names(axis='XAXIS')
Automatically renames the selected bones according to which side of the target axis they fall on
- Parameters
axis (enum in ['XAXIS', 'YAXIS', 'ZAXIS'], (optional)) –
Axis, Axis tag names with
XAXIS
X-Axis – Left/Right.YAXIS
Y-Axis – Front/Back.ZAXIS
Z-Axis – Top/Bottom.
- bpy.ops.pose.blend_to_neighbor(factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE')
Blend from current position to previous or next keyframe
- Parameters
factor (float in [0, 1], (optional)) – Factor, Weighting factor for which keyframe is favored more
prev_frame (int in [-1048574, 1048574], (optional)) – Previous Keyframe, Frame number of keyframe immediately before the current frame
next_frame (int in [-1048574, 1048574], (optional)) – Next Keyframe, Frame number of keyframe immediately after the current frame
channels (enum in ['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'], (optional)) –
Channels, Set of properties that are affected
ALL
All Properties – All properties, including transforms, bendy bone shape, and custom properties.LOC
Location – Location only.ROT
Rotation – Rotation only.SIZE
Scale – Scale only.BBONE
Bendy Bone – Bendy Bone shape properties.CUSTOM
Custom Properties – Custom properties.
axis_lock (enum in ['FREE', 'X', 'Y', 'Z'], (optional)) –
Axis Lock, Transform axis to restrict effects to
FREE
Free – All axes are affected.X
X – Only X-axis transforms are affected.Y
Y – Only Y-axis transforms are affected.Z
Z – Only Z-axis transforms are affected.
- bpy.ops.pose.bone_layers(layers=(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
Change the layers that the selected bones belong to
- Parameters
layers (boolean array of 32 items, (optional)) – Layer, Armature layers that bone belongs to
- bpy.ops.pose.breakdown(factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE')
Create a suitable breakdown pose on the current frame
- Parameters
factor (float in [0, 1], (optional)) – Factor, Weighting factor for which keyframe is favored more
prev_frame (int in [-1048574, 1048574], (optional)) – Previous Keyframe, Frame number of keyframe immediately before the current frame
next_frame (int in [-1048574, 1048574], (optional)) – Next Keyframe, Frame number of keyframe immediately after the current frame
channels (enum in ['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'], (optional)) –
Channels, Set of properties that are affected
ALL
All Properties – All properties, including transforms, bendy bone shape, and custom properties.LOC
Location – Location only.ROT
Rotation – Rotation only.SIZE
Scale – Scale only.BBONE
Bendy Bone – Bendy Bone shape properties.CUSTOM
Custom Properties – Custom properties.
axis_lock (enum in ['FREE', 'X', 'Y', 'Z'], (optional)) –
Axis Lock, Transform axis to restrict effects to
FREE
Free – All axes are affected.X
X – Only X-axis transforms are affected.Y
Y – Only Y-axis transforms are affected.Z
Z – Only Z-axis transforms are affected.
- bpy.ops.pose.constraint_add(type='')
Add a constraint to the active bone
- Parameters
type (enum in ['CAMERA_SOLVER', 'FOLLOW_TRACK', 'OBJECT_SOLVER', 'COPY_LOCATION', 'COPY_ROTATION', 'COPY_SCALE', 'COPY_TRANSFORMS', 'LIMIT_DISTANCE', 'LIMIT_LOCATION', 'LIMIT_ROTATION', 'LIMIT_SCALE', 'MAINTAIN_VOLUME', 'TRANSFORM', 'TRANSFORM_CACHE', 'CLAMP_TO', 'DAMPED_TRACK', 'IK', 'LOCKED_TRACK', 'SPLINE_IK', 'STRETCH_TO', 'TRACK_TO', 'ACTION', 'ARMATURE', 'CHILD_OF', 'FLOOR', 'FOLLOW_PATH', 'PIVOT', 'SHRINKWRAP'], (optional)) –
Type
CAMERA_SOLVER
Camera Solver.FOLLOW_TRACK
Follow Track.OBJECT_SOLVER
Object Solver.COPY_LOCATION
Copy Location – Copy the location of a target (with an optional offset), so that they move together.COPY_ROTATION
Copy Rotation – Copy the rotation of a target (with an optional offset), so that they rotate together.COPY_SCALE
Copy Scale – Copy the scale factors of a target (with an optional offset), so that they are scaled by the same amount.COPY_TRANSFORMS
Copy Transforms – Copy all the transformations of a target, so that they move together.LIMIT_DISTANCE
Limit Distance – Restrict movements to within a certain distance of a target (at the time of constraint evaluation only).LIMIT_LOCATION
Limit Location – Restrict movement along each axis within given ranges.LIMIT_ROTATION
Limit Rotation – Restrict rotation along each axis within given ranges.LIMIT_SCALE
Limit Scale – Restrict scaling along each axis with given ranges.MAINTAIN_VOLUME
Maintain Volume – Compensate for scaling one axis by applying suitable scaling to the other two axes.TRANSFORM
Transformation – Use one transform property from target to control another (or same) property on owner.TRANSFORM_CACHE
Transform Cache – Look up the transformation matrix from an external file.CLAMP_TO
Clamp To – Restrict movements to lie along a curve by remapping location along curve’s longest axis.DAMPED_TRACK
Damped Track – Point towards a target by performing the smallest rotation necessary.IK
Inverse Kinematics – Control a chain of bones by specifying the endpoint target (Bones only).LOCKED_TRACK
Locked Track – Rotate around the specified (‘locked’) axis to point towards a target.SPLINE_IK
Spline IK – Align chain of bones along a curve (Bones only).STRETCH_TO
Stretch To – Stretch along Y-Axis to point towards a target.TRACK_TO
Track To – Legacy tracking constraint prone to twisting artifacts.ACTION
Action – Use transform property of target to look up pose for owner from an Action.ARMATURE
Armature – Apply weight-blended transformation from multiple bones like the Armature modifier.CHILD_OF
Child Of – Make target the ‘detachable’ parent of owner.FLOOR
Floor – Use position (and optionally rotation) of target to define a ‘wall’ or ‘floor’ that the owner can not cross.FOLLOW_PATH
Follow Path – Use to animate an object/bone following a path.PIVOT
Pivot – Change pivot point for transforms (buggy).SHRINKWRAP
Shrinkwrap – Restrict movements to surface of target mesh.
- bpy.ops.pose.constraint_add_with_targets(type='')
Add a constraint to the active bone, with target (where applicable) set to the selected Objects/Bones
- Parameters
type (enum in ['CAMERA_SOLVER', 'FOLLOW_TRACK', 'OBJECT_SOLVER', 'COPY_LOCATION', 'COPY_ROTATION', 'COPY_SCALE', 'COPY_TRANSFORMS', 'LIMIT_DISTANCE', 'LIMIT_LOCATION', 'LIMIT_ROTATION', 'LIMIT_SCALE', 'MAINTAIN_VOLUME', 'TRANSFORM', 'TRANSFORM_CACHE', 'CLAMP_TO', 'DAMPED_TRACK', 'IK', 'LOCKED_TRACK', 'SPLINE_IK', 'STRETCH_TO', 'TRACK_TO', 'ACTION', 'ARMATURE', 'CHILD_OF', 'FLOOR', 'FOLLOW_PATH', 'PIVOT', 'SHRINKWRAP'], (optional)) –
Type
CAMERA_SOLVER
Camera Solver.FOLLOW_TRACK
Follow Track.OBJECT_SOLVER
Object Solver.COPY_LOCATION
Copy Location – Copy the location of a target (with an optional offset), so that they move together.COPY_ROTATION
Copy Rotation – Copy the rotation of a target (with an optional offset), so that they rotate together.COPY_SCALE
Copy Scale – Copy the scale factors of a target (with an optional offset), so that they are scaled by the same amount.COPY_TRANSFORMS
Copy Transforms – Copy all the transformations of a target, so that they move together.LIMIT_DISTANCE
Limit Distance – Restrict movements to within a certain distance of a target (at the time of constraint evaluation only).LIMIT_LOCATION
Limit Location – Restrict movement along each axis within given ranges.LIMIT_ROTATION
Limit Rotation – Restrict rotation along each axis within given ranges.LIMIT_SCALE
Limit Scale – Restrict scaling along each axis with given ranges.MAINTAIN_VOLUME
Maintain Volume – Compensate for scaling one axis by applying suitable scaling to the other two axes.TRANSFORM
Transformation – Use one transform property from target to control another (or same) property on owner.TRANSFORM_CACHE
Transform Cache – Look up the transformation matrix from an external file.CLAMP_TO
Clamp To – Restrict movements to lie along a curve by remapping location along curve’s longest axis.DAMPED_TRACK
Damped Track – Point towards a target by performing the smallest rotation necessary.IK
Inverse Kinematics – Control a chain of bones by specifying the endpoint target (Bones only).LOCKED_TRACK
Locked Track – Rotate around the specified (‘locked’) axis to point towards a target.SPLINE_IK
Spline IK – Align chain of bones along a curve (Bones only).STRETCH_TO
Stretch To – Stretch along Y-Axis to point towards a target.TRACK_TO
Track To – Legacy tracking constraint prone to twisting artifacts.ACTION
Action – Use transform property of target to look up pose for owner from an Action.ARMATURE
Armature – Apply weight-blended transformation from multiple bones like the Armature modifier.CHILD_OF
Child Of – Make target the ‘detachable’ parent of owner.FLOOR
Floor – Use position (and optionally rotation) of target to define a ‘wall’ or ‘floor’ that the owner can not cross.FOLLOW_PATH
Follow Path – Use to animate an object/bone following a path.PIVOT
Pivot – Change pivot point for transforms (buggy).SHRINKWRAP
Shrinkwrap – Restrict movements to surface of target mesh.
- bpy.ops.pose.constraints_clear()
Clear all the constraints for the selected bones
- bpy.ops.pose.constraints_copy()
Copy constraints to other selected bones
- bpy.ops.pose.copy()
Copies the current pose of the selected bones to copy/paste buffer
- bpy.ops.pose.flip_names(do_strip_numbers=False)
Flips (and corrects) the axis suffixes of the names of selected bones
- Parameters
do_strip_numbers (boolean, (optional)) – Strip Numbers, Try to remove right-most dot-number from flipped names. Warning: May result in incoherent naming in some cases
- bpy.ops.pose.group_add()
Add a new bone group
- bpy.ops.pose.group_assign(type=0)
Add selected bones to the chosen bone group
- Parameters
type (int in [0, inf], (optional)) – Bone Group Index
- bpy.ops.pose.group_deselect()
Deselect bones of active Bone Group
- bpy.ops.pose.group_move(direction='UP')
Change position of active Bone Group in list of Bone Groups
- Parameters
direction (enum in ['UP', 'DOWN'], (optional)) – Direction, Direction to move the active Bone Group towards
- bpy.ops.pose.group_remove()
Remove the active bone group
- bpy.ops.pose.group_select()
Select bones in active Bone Group
- bpy.ops.pose.group_sort()
Sort Bone Groups by their names in ascending order
- bpy.ops.pose.group_unassign()
Remove selected bones from all bone groups
- bpy.ops.pose.hide(unselected=False)
Tag selected bones to not be visible in Pose Mode
- Parameters
unselected (boolean, (optional)) – Unselected
- bpy.ops.pose.ik_add(with_targets=True)
Add IK Constraint to the active Bone
- Parameters
with_targets (boolean, (optional)) – With Targets, Assign IK Constraint with targets derived from the select bones/objects
- bpy.ops.pose.ik_clear()
Remove all IK Constraints from selected bones
- bpy.ops.pose.loc_clear()
Reset locations of selected bones to their default values
- bpy.ops.pose.paste(flipped=False, selected_mask=False)
Paste the stored pose on to the current pose
- Parameters
flipped (boolean, (optional)) – Flipped on X-Axis, Paste the stored pose flipped on to current pose
selected_mask (boolean, (optional)) – On Selected Only, Only paste the stored pose on to selected bones in the current pose
- bpy.ops.pose.paths_calculate(start_frame=1, end_frame=250, bake_location='HEADS')
Calculate paths for the selected bones
- Parameters
start_frame (int in [-1048574, 1048574], (optional)) – Start, First frame to calculate bone paths on
end_frame (int in [-1048574, 1048574], (optional)) – End, Last frame to calculate bone paths on
bake_location (enum in ['HEADS', 'TAILS'], (optional)) –
Bake Location, Which point on the bones is used when calculating paths
HEADS
Heads – Calculate bone paths from heads.TAILS
Tails – Calculate bone paths from tails.
- bpy.ops.pose.paths_clear(only_selected=False)
Clear path caches for all bones, hold Shift key for selected bones only
- Parameters
only_selected (boolean, (optional)) – Only Selected, Only clear paths from selected bones
- bpy.ops.pose.paths_range_update()
Update frame range for motion paths from the Scene’s current frame range
- bpy.ops.pose.paths_update()
Recalculate paths for bones that already have them
- bpy.ops.pose.propagate(mode='WHILE_HELD', end_frame=250.0)
Copy selected aspects of the current pose to subsequent poses already keyframed
- Parameters
mode (enum in ['WHILE_HELD', 'NEXT_KEY', 'LAST_KEY', 'BEFORE_FRAME', 'BEFORE_END', 'SELECTED_KEYS', 'SELECTED_MARKERS'], (optional)) –
Terminate Mode, Method used to determine when to stop propagating pose to keyframes
WHILE_HELD
While Held – Propagate pose to all keyframes after current frame that don’t change (Default behavior).NEXT_KEY
To Next Keyframe – Propagate pose to first keyframe following the current frame only.LAST_KEY
To Last Keyframe – Propagate pose to the last keyframe only (i.e. making action cyclic).BEFORE_FRAME
Before Frame – Propagate pose to all keyframes between current frame and ‘Frame’ property.BEFORE_END
Before Last Keyframe – Propagate pose to all keyframes from current frame until no more are found.SELECTED_KEYS
On Selected Keyframes – Propagate pose to all selected keyframes.SELECTED_MARKERS
On Selected Markers – Propagate pose to all keyframes occurring on frames with Scene Markers after the current frame.
end_frame (float in [1.17549e-38, inf], (optional)) – End Frame, Frame to stop propagating frames to (for ‘Before Frame’ mode)
- bpy.ops.pose.push(factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE')
Exaggerate the current pose in regards to the breakdown pose
- Parameters
factor (float in [0, 1], (optional)) – Factor, Weighting factor for which keyframe is favored more
prev_frame (int in [-1048574, 1048574], (optional)) – Previous Keyframe, Frame number of keyframe immediately before the current frame
next_frame (int in [-1048574, 1048574], (optional)) – Next Keyframe, Frame number of keyframe immediately after the current frame
channels (enum in ['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'], (optional)) –
Channels, Set of properties that are affected
ALL
All Properties – All properties, including transforms, bendy bone shape, and custom properties.LOC
Location – Location only.ROT
Rotation – Rotation only.SIZE
Scale – Scale only.BBONE
Bendy Bone – Bendy Bone shape properties.CUSTOM
Custom Properties – Custom properties.
axis_lock (enum in ['FREE', 'X', 'Y', 'Z'], (optional)) –
Axis Lock, Transform axis to restrict effects to
FREE
Free – All axes are affected.X
X – Only X-axis transforms are affected.Y
Y – Only Y-axis transforms are affected.Z
Z – Only Z-axis transforms are affected.
- bpy.ops.pose.push_rest(factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE')
Push the current pose further away from the rest pose
- Parameters
factor (float in [0, 1], (optional)) – Factor, Weighting factor for which keyframe is favored more
prev_frame (int in [-1048574, 1048574], (optional)) – Previous Keyframe, Frame number of keyframe immediately before the current frame
next_frame (int in [-1048574, 1048574], (optional)) – Next Keyframe, Frame number of keyframe immediately after the current frame
channels (enum in ['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'], (optional)) –
Channels, Set of properties that are affected
ALL
All Properties – All properties, including transforms, bendy bone shape, and custom properties.LOC
Location – Location only.ROT
Rotation – Rotation only.SIZE
Scale – Scale only.BBONE
Bendy Bone – Bendy Bone shape properties.CUSTOM
Custom Properties – Custom properties.
axis_lock (enum in ['FREE', 'X', 'Y', 'Z'], (optional)) –
Axis Lock, Transform axis to restrict effects to
FREE
Free – All axes are affected.X
X – Only X-axis transforms are affected.Y
Y – Only Y-axis transforms are affected.Z
Z – Only Z-axis transforms are affected.
- bpy.ops.pose.quaternions_flip()
Flip quaternion values to achieve desired rotations, while maintaining the same orientations
- bpy.ops.pose.relax(factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE')
Make the current pose more similar to its breakdown pose
- Parameters
factor (float in [0, 1], (optional)) – Factor, Weighting factor for which keyframe is favored more
prev_frame (int in [-1048574, 1048574], (optional)) – Previous Keyframe, Frame number of keyframe immediately before the current frame
next_frame (int in [-1048574, 1048574], (optional)) – Next Keyframe, Frame number of keyframe immediately after the current frame
channels (enum in ['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'], (optional)) –
Channels, Set of properties that are affected
ALL
All Properties – All properties, including transforms, bendy bone shape, and custom properties.LOC
Location – Location only.ROT
Rotation – Rotation only.SIZE
Scale – Scale only.BBONE
Bendy Bone – Bendy Bone shape properties.CUSTOM
Custom Properties – Custom properties.
axis_lock (enum in ['FREE', 'X', 'Y', 'Z'], (optional)) –
Axis Lock, Transform axis to restrict effects to
FREE
Free – All axes are affected.X
X – Only X-axis transforms are affected.Y
Y – Only Y-axis transforms are affected.Z
Z – Only Z-axis transforms are affected.
- bpy.ops.pose.relax_rest(factor=0.5, prev_frame=0, next_frame=0, channels='ALL', axis_lock='FREE')
Make the current pose more similar to the rest pose
- Parameters
factor (float in [0, 1], (optional)) – Factor, Weighting factor for which keyframe is favored more
prev_frame (int in [-1048574, 1048574], (optional)) – Previous Keyframe, Frame number of keyframe immediately before the current frame
next_frame (int in [-1048574, 1048574], (optional)) – Next Keyframe, Frame number of keyframe immediately after the current frame
channels (enum in ['ALL', 'LOC', 'ROT', 'SIZE', 'BBONE', 'CUSTOM'], (optional)) –
Channels, Set of properties that are affected
ALL
All Properties – All properties, including transforms, bendy bone shape, and custom properties.LOC
Location – Location only.ROT
Rotation – Rotation only.SIZE
Scale – Scale only.BBONE
Bendy Bone – Bendy Bone shape properties.CUSTOM
Custom Properties – Custom properties.
axis_lock (enum in ['FREE', 'X', 'Y', 'Z'], (optional)) –
Axis Lock, Transform axis to restrict effects to
FREE
Free – All axes are affected.X
X – Only X-axis transforms are affected.Y
Y – Only Y-axis transforms are affected.Z
Z – Only Z-axis transforms are affected.
- bpy.ops.pose.reveal(select=True)
Reveal all bones hidden in Pose Mode
- Parameters
select (boolean, (optional)) – Select
- bpy.ops.pose.rot_clear()
Reset rotations of selected bones to their default values
- bpy.ops.pose.rotation_mode_set(type='QUATERNION')
Set the rotation representation used by selected bones
- Parameters
type (enum in ['QUATERNION', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX', 'AXIS_ANGLE'], (optional)) –
Rotation Mode
QUATERNION
Quaternion (WXYZ) – No Gimbal Lock.XYZ
XYZ Euler – XYZ Rotation Order - prone to Gimbal Lock (default).XZY
XZY Euler – XZY Rotation Order - prone to Gimbal Lock.YXZ
YXZ Euler – YXZ Rotation Order - prone to Gimbal Lock.YZX
YZX Euler – YZX Rotation Order - prone to Gimbal Lock.ZXY
ZXY Euler – ZXY Rotation Order - prone to Gimbal Lock.ZYX
ZYX Euler – ZYX Rotation Order - prone to Gimbal Lock.AXIS_ANGLE
Axis Angle – Axis Angle (W+XYZ), defines a rotation around some axis defined by 3D-Vector.
- bpy.ops.pose.scale_clear()
Reset scaling of selected bones to their default values
- bpy.ops.pose.select_all(action='TOGGLE')
Toggle selection status of all bones
- Parameters
action (enum in ['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'], (optional)) –
Action, Selection action to execute
TOGGLE
Toggle – Toggle selection for all elements.SELECT
Select – Select all elements.DESELECT
Deselect – Deselect all elements.INVERT
Invert – Invert selection of all elements.
- bpy.ops.pose.select_constraint_target()
Select bones used as targets for the currently selected bones
- bpy.ops.pose.select_grouped(extend=False, type='LAYER')
Select all visible bones grouped by similar properties
- Parameters
extend (boolean, (optional)) – Extend, Extend selection instead of deselecting everything first
type (enum in ['LAYER', 'GROUP', 'KEYINGSET'], (optional)) –
Type
LAYER
Layer – Shared layers.GROUP
Group – Shared group.KEYINGSET
Keying Set – All bones affected by active Keying Set.
- bpy.ops.pose.select_hierarchy(direction='PARENT', extend=False)
Select immediate parent/children of selected bones
- Parameters
direction (enum in ['PARENT', 'CHILD'], (optional)) – Direction
extend (boolean, (optional)) – Extend, Extend the selection
- bpy.ops.pose.select_linked()
Select all bones linked by parent/child connections to the current selection
- bpy.ops.pose.select_linked_pick(extend=False)
Select bones linked by parent/child connections under the mouse cursor
- Parameters
extend (boolean, (optional)) – Extend, Extend selection instead of deselecting everything first
- bpy.ops.pose.select_mirror(only_active=False, extend=False)
Mirror the bone selection
- Parameters
only_active (boolean, (optional)) – Active Only, Only operate on the active bone
extend (boolean, (optional)) – Extend, Extend the selection
- bpy.ops.pose.select_parent()
Select bones that are parents of the currently selected bones
- bpy.ops.pose.transforms_clear()
Reset location, rotation, and scaling of selected bones to their default values
- bpy.ops.pose.user_transforms_clear(only_selected=True)
Reset pose bone transforms to keyframed state
- Parameters
only_selected (boolean, (optional)) – Only Selected, Only visible/selected bones
- bpy.ops.pose.visual_transform_apply()
Apply final constrained position of pose bones to their transform