# SplineIKConstraint(Constraint)

base classes — `bpy_struct`, `Constraint`

class `bpy.types.``SplineIKConstraint`(Constraint)

  Align ‘n’ bones along a curve

  `bulge`

    Factor between volume variation and stretching

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

  `bulge_max`

    Maximum volume stretching factor

    Type: | float in [1, 100], default 0.0

  `bulge_min`

    Minimum volume stretching factor

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

  `bulge_smooth`

    Strength of volume stretching clamping

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

  `chain_count`

    How many bones are included in the chain

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

  `joint_bindings`

    (EXPERIENCED USERS ONLY) The relative positions of the joints along the chain, as percentages

    Type: | float array of 32 items in [0, 1], 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, 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)

  `target`

    Curve that controls this relationship

    Type: | `Object`

  `use_bulge_max`

    Use upper limit for volume variation

    Type: | boolean, default False

  `use_bulge_min`

    Use lower limit for volume variation

    Type: | boolean, default False

  `use_chain_offset`

    Offset the entire chain relative to the root joint

    Type: | boolean, default False

  `use_curve_radius`

    Average radius of the endpoints is used to tweak the X and Z Scaling of the bones, on top of XZ Scale mode

    Type: | boolean, default False

  `use_even_divisions`

    Ignore the relative lengths of the bones when fitting to the curve

    Type: | boolean, default False

  `use_original_scale`

    Apply volume preservation over the original scaling

    Type: | boolean, default False

  `xz_scale_mode`

    Method used for determining the scaling of the X and Z axes of the bones

    - `NONE` None, Don’t scale the X and Z axes (Default).
    - `BONE_ORIGINAL` Bone Original, Use the original scaling of the bones.
    - `INVERSE_PRESERVE` Inverse Scale, Scale of the X and Z axes is the inverse of the Y-Scale.
    - `VOLUME_PRESERVE` Volume Preservation, Scale of the X and Z axes are adjusted to preserve the volume of the bones.

    Type: | enum in [‘NONE’, ‘BONE_ORIGINAL’, ‘INVERSE_PRESERVE’, ‘VOLUME_PRESERVE’], default ‘NONE’

  `y_scale_mode`

    Method used for determining the scaling of the Y axis of the bones, on top of the shape and scaling of the curve itself

    - `NONE` None, Don’t scale in the Y axis.
    - `FIT_CURVE` Fit Curve, Scale the bones to fit the entire length of the curve.
    - `BONE_ORIGINAL` Bone Original, Use the original Y scale of the bone.

    Type: | enum in [‘NONE’, ‘FIT_CURVE’, ‘BONE_ORIGINAL’], default ‘NONE’

  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

`bpy_struct.id_data` `Constraint.name` `Constraint.type` `Constraint.owner_space` `Constraint.target_space` `Constraint.mute` `Constraint.show_expanded` | `Constraint.is_valid` `Constraint.active` `Constraint.is_proxy_local` `Constraint.influence` `Constraint.error_location` `Constraint.error_rotation`

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_overridable_library` `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.pop` `bpy_struct.property_overridable_library_set` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`