# Bone(bpy_struct)

base class — `bpy_struct`

class `bpy.types.``Bone`(bpy_struct)

  Bone in an Armature data-block

  `bbone_in`

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

    Type: | float in [0, 2], default 0.0

  `bbone_out`

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

    Type: | float in [0, 2], default 0.0

  `bbone_segments`

    Number of subdivisions of bone (for B-Bones only)

    Type: | int in [1, 32], default 0

  `bbone_x`

    B-Bone X size

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

  `bbone_z`

    B-Bone Z size

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

  `children`

    Bones which are children of this bone

    Type: | `bpy_prop_collection` of `Bone`, (readonly)

  `envelope_distance`

    Bone deformation distance (for Envelope deform only)

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

  `envelope_weight`

    Bone deformation weight (for Envelope deform only)

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

  `head`

    Location of head end of the bone relative to its parent

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

  `head_local`

    Location of head end of the bone relative to armature

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

  `head_radius`

    Radius of head of bone (for Envelope deform only)

    Type: | float in [0, inf], default 0.0

  `hide`

    Bone is not visible when it is not in Edit Mode (i.e. in Object or Pose Modes)

    Type: | boolean, default False

  `hide_select`

    Bone is able to be selected

    Type: | boolean, default False

  `layers`

    Layers bone exists in

    Type: | boolean array of 32 items, default (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)

  `matrix`

    3x3 bone matrix

    Type: | float array of 9 items in [-inf, inf], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

  `matrix_local`

    4x4 bone matrix relative to armature

    Type: | float array of 16 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)

  `name`

    Type: | string, default “”, (never None)

  `parent`

    Parent bone (in same Armature)

    Type: | `Bone`, (readonly)

  `select`

    Type: | boolean, default False

  `select_head`

    Type: | boolean, default False

  `select_tail`

    Type: | boolean, default False

  `show_wire`

    Bone is always drawn as Wireframe regardless of viewport draw mode (useful for non-obstructive custom bone shapes)

    Type: | boolean, default False

  `tail`

    Location of tail end of the bone

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

  `tail_local`

    Location of tail end of the bone relative to armature

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

  `tail_radius`

    Radius of tail of bone (for Envelope deform only)

    Type: | float in [0, inf], default 0.0

  `use_connect`

    When bone has a parent, bone’s head is stuck to the parent’s tail

    Type: | boolean, default False, (readonly)

  `use_cyclic_offset`

    When bone doesn’t have a parent, it receives cyclic offset effects (Deprecated)

    Type: | boolean, default False

  `use_deform`

    Enable Bone to deform geometry

    Type: | boolean, default False

  `use_envelope_multiply`

    When deforming bone, multiply effects of Vertex Group weights with Envelope influence

    Type: | boolean, default False

  `use_inherit_rotation`

    Bone inherits rotation or scale from parent bone

    Type: | boolean, default False

  `use_inherit_scale`

    Bone inherits scaling from parent bone

    Type: | boolean, default False

  `use_local_location`

    Bone location is set in local space

    Type: | boolean, default False

  `use_relative_parent`

    Object children will use relative transform, like deform

    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`

    A list of all the bones children. (readonly)

  `children_recursive`

    A list of all children from this bone. (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. (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]

  `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

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` | `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`bpy.context.bone` `Armature.bones` `ArmatureBones.active` | `Bone.children` `Bone.parent` `PoseBone.bone`