Skip to content

BL_ArmatureChannel

Base class: EXP_PyObjectPlus

Proxy to armature pose channel. Allows to read and set armature pose. The attributes are identical to RNA attributes, but mostly in read-only mode.

channel name (=bone name), read-only.

Type: string

return the bone object corresponding to this pose channel, read-only.

Type: BL_ArmatureBone

return the parent channel object, None if root channel, read-only.

Type: BL_ArmatureChannel

true if the bone is part of an active IK chain, read-only. This flag is not set when an IK constraint is defined but not enabled (miss target information for example).

Type: boolean

true if the bone is free to rotation in the X axis, read-only.

Type: boolean

true if the bone is free to rotation in the Y axis, read-only.

Type: boolean

true if the bone is free to rotation in the Z axis, read-only.

Type: boolean

true if a limit is imposed on X rotation, read-only.

Type: boolean

true if a limit is imposed on Y rotation, read-only.

Type: boolean

true if a limit is imposed on Z rotation, read-only.

Type: boolean

true if channel rotation should applied as IK constraint, read-only.

Type: boolean

true if channel size should applied as IK constraint, read-only.

Type: boolean

displacement of the bone head in armature local space, read-write.

Type: vector [X, Y, Z].

scale of the bone relative to its parent, read-write.

Type: vector [sizeX, sizeY, sizeZ].

rotation of the bone relative to its parent expressed as a quaternion, read-write.

Type: vector [qr, qi, qj, qk].

rotation of the bone relative to its parent expressed as a set of euler angles, read-write.

Type: vector [X, Y, Z].

Method of updating the bone rotation, read-write.

Type: integer (one of these constants)

pose matrix in bone space (deformation of the bone due to action, constraint, etc), Read-only. This field is updated after the graphic render, it represents the current pose.

Type: matrix [4][4]

pose matrix in armature space, read-only, This field is updated after the graphic render, it represents the current pose.

Type: matrix [4][4]

position of bone head in armature space, read-only.

Type: vector [x, y, z]

position of bone tail in armature space, read-only.

Type: vector [x, y, z]

minimum value of X rotation in degree (<= 0) when X rotation is limited (see ik_limit_x), read-only.

Type: float

maximum value of X rotation in degree (>= 0) when X rotation is limited (see ik_limit_x), read-only.

Type: float

minimum value of Y rotation in degree (<= 0) when Y rotation is limited (see ik_limit_y), read-only.

Type: float

maximum value of Y rotation in degree (>= 0) when Y rotation is limited (see ik_limit_y), read-only.

Type: float

minimum value of Z rotation in degree (<= 0) when Z rotation is limited (see ik_limit_z), read-only.

Type: float

maximum value of Z rotation in degree (>= 0) when Z rotation is limited (see ik_limit_z), read-only.

Type: float

bone rotation stiffness in X axis, read-only.

Type: float between 0 and 1

bone rotation stiffness in Y axis, read-only.

Type: float between 0 and 1

bone rotation stiffness in Z axis, read-only.

Type: float between 0 and 1

ratio of scale change that is allowed, 0=bone can’t change size, read-only.

Type: float

weight of rotation constraint when ik_rot_control is set, read-write.

Type: float between 0 and 1

weight of size constraint when ik_lin_control is set, read-write.

Type: float between 0 and 1

Control bone rotation in term of joint angle (for robotic applications), read-write.

When writing to this attribute, you pass a [x, y, z] vector and an appropriate set of euler angles or quaternion is calculated according to the rotation_mode.

When you read this attribute, the current pose matrix is converted into a [x, y, z] vector representing the joint angles.

The value and the meaning of the x, y, z depends on the ik_dof_x/ik_dof_y/ik_dof_z attributes:

  • 1DoF joint X, Y or Z: the corresponding x, y, or z value is used an a joint angle in radiant
  • 2DoF joint X+Y or Z+Y: treated as 2 successive 1DoF joints: first X or Z, then Y. The x or z value is used as a joint angle in radiant along the X or Z axis, followed by a rotation along the new Y axis of y radiants.
  • 2DoF joint X+Z: treated as a 2DoF joint with rotation axis on the X/Z plane. The x and z values are used as the coordinates of the rotation vector in the X/Z plane.
  • 3DoF joint X+Y+Z: treated as a revolute joint. The [x, y, z] vector represents the equivalent rotation vector to bring the joint from the rest pose to the new pose.

Type: vector [x, y, z]