PoseBone(bpy_struct)

base class — bpy_struct

class bpy.types.PoseBone(bpy_struct)

Channel defining pose data for a bone in a Pose

bbone_curveinx

X-axis handle offset for start of the B-Bone’s curve, adjusts curvature

Type:float in [-5, 5], default 0.0
bbone_curveiny

Y-axis handle offset for start of the B-Bone’s curve, adjusts curvature

Type:float in [-5, 5], default 0.0
bbone_curveoutx

X-axis handle offset for end of the B-Bone’s curve, adjusts curvature

Type:float in [-5, 5], default 0.0
bbone_curveouty

Y-axis handle offset for end of the B-Bone’s curve, adjusts curvature

Type:float in [-5, 5], default 0.0
bbone_custom_handle_end

Bone that serves as the end handle for the B-Bone curve

Type:PoseBone, (readonly)
bbone_custom_handle_start

Bone that serves as the start handle for the B-Bone curve

Type:PoseBone, (readonly)
bbone_easein

Length of first Bezier Handle (for B-Bones only)

Type:float in [-5, 5], default 1.0
bbone_easeout

Length of second Bezier Handle (for B-Bones only)

Type:float in [-5, 5], default 1.0
bbone_rollin

Roll offset for the start of the B-Bone, adjusts twist

Type:float in [-6.28319, 6.28319], default 0.0
bbone_rollout

Roll offset for the end of the B-Bone, adjusts twist

Type:float in [-6.28319, 6.28319], default 0.0
bbone_scalein

Scale factor for start of the B-Bone, adjusts thickness (for tapering effects)

Type:float in [0, 5], default 1.0
bbone_scaleout

Scale factor for end of the B-Bone, adjusts thickness (for tapering effects)

Type:float in [0, 5], default 1.0
bone

Bone associated with this PoseBone

Type:Bone, (readonly, never None)
bone_group

Bone Group this pose channel belongs to

Type:BoneGroup
bone_group_index

Bone Group this pose channel belongs to (0=no group)

Type:int in [-32768, 32767], default 0
child

Child of this pose bone

Type:PoseBone, (readonly)
constraints

Constraints that act on this PoseChannel

Type:PoseBoneConstraints bpy_prop_collection of Constraint, (readonly)
custom_shape

Object that defines custom draw type for this bone

Type:Object
custom_shape_scale

Adjust the size of the custom shape

Type:float in [0, 1000], default 0.0
custom_shape_transform

Bone that defines the display transform of this custom shape

Type:PoseBone
head

Location of head of the channel’s bone

Type:float array of 3 items in [-inf, inf], default (0.0, 0.0, 0.0), (readonly)
ik_linear_weight

Weight of scale constraint for IK

Type:float in [0, 1], default 0.0
ik_max_x

Maximum angles for IK Limit

Type:float in [0, 3.14159], default 0.0
ik_max_y

Maximum angles for IK Limit

Type:float in [0, 3.14159], default 0.0
ik_max_z

Maximum angles for IK Limit

Type:float in [0, 3.14159], default 0.0
ik_min_x

Minimum angles for IK Limit

Type:float in [-3.14159, 0], default 0.0
ik_min_y

Minimum angles for IK Limit

Type:float in [-3.14159, 0], default 0.0
ik_min_z

Minimum angles for IK Limit

Type:float in [-3.14159, 0], default 0.0
ik_rotation_weight

Weight of rotation constraint for IK

Type:float in [0, 1], default 0.0
ik_stiffness_x

IK stiffness around the X axis

Type:float in [0, 0.99], default 0.0
ik_stiffness_y

IK stiffness around the Y axis

Type:float in [0, 0.99], default 0.0
ik_stiffness_z

IK stiffness around the Z axis

Type:float in [0, 0.99], default 0.0
ik_stretch

Allow scaling of the bone for IK

Type:float in [0, 1], default 0.0
is_in_ik_chain

Is part of an IK chain

Type:boolean, default False, (readonly)
location
Type:float array of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)
lock_ik_x

Disallow movement around the X axis

Type:boolean, default False
lock_ik_y

Disallow movement around the Y axis

Type:boolean, default False
lock_ik_z

Disallow movement around the Z axis

Type:boolean, default False
lock_location

Lock editing of location in the interface

Type:boolean array of 3 items, default (False, False, False)
lock_rotation

Lock editing of rotation in the interface

Type:boolean array of 3 items, default (False, False, False)
lock_rotation_w

Lock editing of ‘angle’ component of four-component rotations in the interface

Type:boolean, default False
lock_rotations_4d

Lock editing of four component rotations by components (instead of as Eulers)

Type:boolean, default False
lock_scale

Lock editing of scale in the interface

Type:boolean array of 3 items, default (False, False, False)
matrix

Final 4x4 matrix after constraints and drivers are applied (object space)

Type:float multi-dimensional array of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))
matrix_basis

Alternative access to location/scale/rotation relative to the parent and own rest bone

Type:float multi-dimensional array of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))
matrix_channel

4x4 matrix, before constraints

Type:float multi-dimensional array of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), (readonly)
motion_path

Motion Path for this element

Type:MotionPath, (readonly)
name
Type:string, default “”, (never None)
parent

Parent of this pose bone

Type:PoseBone, (readonly)
rotation_axis_angle

Angle of Rotation for Axis-Angle rotation representation

Type:float array of 4 items in [-inf, inf], default (0.0, 0.0, 1.0, 0.0)
rotation_euler

Rotation in Eulers

Type:float array of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)
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.
Type:enum in [‘QUATERNION’, ‘XYZ’, ‘XZY’, ‘YXZ’, ‘YZX’, ‘ZXY’, ‘ZYX’, ‘AXIS_ANGLE’], default ‘QUATERNION’
rotation_quaternion

Rotation in Quaternions

Type:float array of 4 items in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)
scale
Type:float array of 3 items in [-inf, inf], default (1.0, 1.0, 1.0)
tail

Location of tail of the channel’s bone

Type:float array of 3 items in [-inf, inf], default (0.0, 0.0, 0.0), (readonly)
use_custom_shape_bone_size

Scale the custom object by the bone length

Type:boolean, default False
use_ik_limit_x

Limit movement around the X axis

Type:boolean, default False
use_ik_limit_y

Limit movement around the Y axis

Type:boolean, default False
use_ik_limit_z

Limit movement around the Z axis

Type:boolean, default False
use_ik_linear_control

Apply channel size as IK constraint if stretching is enabled

Type:boolean, default False
use_ik_rotation_control

Apply channel rotation as IK constraint

Type:boolean, default False
basename

The name of this bone before any ‘.’ character (readonly)

center

The midpoint between the head and the tail. (readonly)

children

(readonly)

children_recursive

A list of all children from this bone. Warning: takes O(len(bones)**2) time. (readonly)

children_recursive_basename

Returns a chain of children with the same base name as this bone. Only direct chains are supported, forks caused by multiple children with matching base names will terminate the function and not be returned. Warning: takes O(len(bones)**2) time. (readonly)

length

The distance from head to tail, when set the head is moved to fit the length.

parent_recursive

A list of parents, starting with the immediate parent (readonly)

vector

The direction this bone is pointing. Utility function for (tail - head) (readonly)

x_axis

Vector pointing down the x-axis of the bone. (readonly)

y_axis

Vector pointing down the y-axis of the bone. (readonly)

z_axis

Vector pointing down the z-axis of the bone. (readonly)

evaluate_envelope(point)

Calculate bone envelope at given point

Parameters:point (float array of 3 items in [-inf, inf]) – Point, Position in 3d space to evaluate
Returns:Factor, Envelope factor
Return type:float in [-inf, inf]
bbone_segment_matrix(index, rest=False)

Retrieve the matrix of the B-Bone segment if available

Parameters:
  • index (int in [0, inf]) – Index of the segment
  • rest (boolean, (optional)) – Return the rest pose matrix
Returns:

The resulting matrix in bone local space

Return type:

float multi-dimensional array of 4 * 4 items in [-inf, inf]

compute_bbone_handles(rest=False, ease=False, offsets=False)

Retrieve the vectors and rolls coming from B-Bone custom handles

Parameters:
  • rest (boolean, (optional)) – Return the rest pose state
  • ease (boolean, (optional)) – Apply scale from ease values
  • offsets (boolean, (optional)) – Apply roll and curve offsets from bone properties
Return (handle1, roll1, handle2, roll2):
 

handle1, The direction vector of the start handle in bone local space, float array of 3 items in [-inf, inf]

roll1, Roll of the start handle, float in [-inf, inf]

handle2, The direction vector of the end handle in bone local space, float array of 3 items in [-inf, inf]

roll2, Roll of the end handle, float in [-inf, inf]

parent_index(parent_test)

The same as ‘bone in other_bone.parent_recursive’ but saved generating a list.

translate(vec)

Utility function to add vec to the head and tail of this bone

classmethod bl_rna_get_subclass(id, default=None)
Parameters:id (string) – The RNA type identifier.
Returns:The RNA type or default when not found.
Return type:bpy.types.Struct subclass
classmethod bl_rna_get_subclass_py(id, default=None)
Parameters:id (string) – The RNA type identifier.
Returns:The class or default when not found.
Return type:type

Inherited Properties

Inherited Functions

References