user: Give a detailed overview of Options: syntax, arguments, return values, common patterns.

assistant: [image reference removed]

Transformation constraint.

[Target](../interface/common.xhtml#rigging-constraints-interface-common-target)
:   The object or bone to retrieve the transformation from.

Extrapolate
:   By default, the input and output values are clamped to the *Min/Max* values.
    When you enable *Extrapolate*, they’re allowed to go beyond these limits.
    This is illustrated with the graphs below, where the X axis represents the input
    (*Map From* set to *Min* = 1 and *Max* = 4) and the Y axis represents the output
    (*Map To* set to *Min* = 1 and *Max* = 2).

    The Extrapolate option.

    |  |  |
    | --- | --- |
    | ../../../_images/animation_constraints_transform_transformation_extrapolate-1.png   Extrapolate disabled: the output values are limited to the Map To range. | ../../../_images/animation_constraints_transform_transformation_extrapolate-2.png   Extrapolate enabled: the output values can extend beyond the limits. |

[Target/Owner](../interface/common.xhtml#rigging-constraints-interface-common-space)
:   The spaces for retrieving the transformation from the target and for applying it to the owner.

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

### Map From

The transformation to read from the *Target*.

Location, Rotation, Scale
:   The type of transformation to read.

Mode Rotation
:   The type of rotation to use, including different [Euler](../../../glossary/index.xhtml#term-Euler) orders,
    [Quaternion](../../../glossary/index.xhtml#term-Quaternion), and other [Rotation Channel Modes](../../drivers/drivers_panel.xhtml#drivers-variables-rotation-modes).
    Defaults to using the [Euler](../../../glossary/index.xhtml#term-Euler) order of the constraint owner.

    In the *Quaternion* mode, the channels are converted to weighted angles in the same way as
    the swing angles of the [Swing and X/Y/Z Twist](../../drivers/drivers_panel.xhtml#drivers-variables-rotation-modes) modes.

X/Y/Z Min, Max
:   The input value range for each axis.

### Map To

The transformation to apply to the owner.

Location, Rotation, Scale
:   The type of transformation to apply.

Order Rotation
:   Which [Euler](../../../glossary/index.xhtml#term-Euler) order to use. Defaults to the order of the constraint owner.

X/Y/Z Source Axis
:   For each of the three output axes, lets you choose the input axis that it should take
    its value from. You can select the same input axis multiple times.

Min, Max
:   The output value range for each axis.

Mix
:   Specifies how the result of the constraint is combined with the existing transformation.
    The set of available choices varies based on the type of transformation.

    Replace
    :   The result of the constraint replaces the existing transformation.

    Multiply Scale
    :   The new values are multiplied with the existing axis values.

    Add Location Rotation
    :   The new values are added to the existing axis values.

    Before Original Rotation
    :   The new rotation is added before the existing rotation, as if it were applied to
        a parent of the constraint owner.

    After Original Rotation
    :   The new rotation is added after the existing rotation, as if it were applied to
        a child of the constraint owner.