user: Show practical ways to work with Options in a Blender add-on or script – include code.

assistant: [image reference removed]

Inverse Kinematics constraint.

[Target](../interface/common.xhtml#rigging-constraints-interface-common-target)
:   The object or bone which the IK chain should point towards.

Pole Target
:   The object or bone that determines the roll of the IK chain. For example,
    when applying IK to a character’s arm and using the *Target* to determine the
    position of the hand, the *Pole Target* determines the rotation of the arm,
    or put differently, the position of the elbow.

Iterations
:   Maximum number of solving iterations.

Chain Length
:   The number of bones affected by the constraint, starting with the owner bone
    and walking up its chain of ancestors. A value of 1 will only rotate the bone
    itself, a value of 2 will rotate the bone and its parent, and so on.

    A value of 0 will include all of the bone’s ancestors (up to the root).

Use Tail
:   Use the bone’s tail as the end of the chain. Unchecking this will
    use the bone’s head instead.

Stretch
:   Whether bones are allowed to scale up or down in order to reach the *Target*.
    This only applies to bones with an [IK Stretch](../../armatures/posing/bone_constraints/inverse_kinematics/introduction.xhtml#bpy-types-posebone-ik-stretch) value
    that’s greater than 0.

Weight Position
:   The checkbox determines whether the end of the chain should (try to) match
    the position of the *Target*.

    The slider determines how strongly this chain affects its bones, compared
    to other IK chains that affect those same bones. This kind of structure is
    called a “tree”, likening the chain tip bones to branches and their shared
    parents to a trunk. If a branch bone has a *Weight* of 1, it will “pull”
    on the trunk twice as hard as a branch with a *Weight* of 0.5.

Rotation
:   The checkbox determines whether the end of the chain should match
    the rotation of the *Target*.

    The slider determines how strongly this chain affects its bones, compared
    to other IK chains that affect those same bones.

[Influence](../interface/common.xhtml#bpy-types-constraint-influence)
:   How strongly the constraint affects the bone.

### iTaSC Solver

If the armature is configured to use the
[iTaSC IK Solver](../../armatures/posing/bone_constraints/inverse_kinematics/introduction.xhtml#rigging-armatures-posing-bone-constraints-ik-model-itasc),
the constraint has the following additional parameters:

IK Type
:   > Copy Pose:
    > :   Just as with the *Standard* IK solver, the chain tip matches the location and/or
    >     rotation of the *Target*.
    >
    >     Axis Reference
    >     :   The meaning of the axes in the *Lock* settings below.
    >
    >         Bone:
    >         :   The chain tip should be positioned (or rotated) so that the *Target* has an X/Y/Z
    >             coordinate (or angle) of 0 in the space of the bone.
    >
    >         Target:
    >         :   The chain tip should be positioned (or rotated) so that it has an X/Y/Z
    >             coordinate (or angle) of 0 in the space of the *Target*.
    >
    >     Lock Position/Rotation X/Y/Z
    >     :   Whether the chain tip is constrained to match the *Target* along each axis.

    : Distance:
    :   The end of the chain stays inside, on the surface of, or outside a sphere centered
        on the *Target*.

        Limit Mode
        :   Inside:
            :   The chain tip stays close to the target.

            Outside:
            :   The chain tip stays away from the target.

            On Surface:
            :   The chain tip stays at an exact distance from the target.

        Distance
        :   The distance to maintain.