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 Constraint Type Items, (optional)) – Type

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 Constraint Type Items, (optional)) – Type

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(display_type='RANGE', range='SCENE', bake_location='HEADS')

Calculate paths for the selected bones

Parameters
bpy.ops.pose.paths_clear(only_selected=False)

Undocumented, consider contributing.

Parameters

only_selected (boolean, (optional)) – Only Selected, Only clear motion paths of 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='NEXT_KEY', end_frame=250.0)

Copy selected aspects of the current pose to subsequent poses already keyframed

Parameters
  • mode (enum in ['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

    • 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 Object Rotation Mode Items, (optional)) – Rotation Mode

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