Constraint(bpy_struct)

base class — bpy_struct

subclasses — ActionConstraint, ArmatureConstraint, CameraSolverConstraint, ChildOfConstraint, ClampToConstraint, CopyLocationConstraint, CopyRotationConstraint, CopyScaleConstraint, CopyTransformsConstraint, DampedTrackConstraint, FloorConstraint, FollowPathConstraint, FollowTrackConstraint, KinematicConstraint, LimitDistanceConstraint, LimitLocationConstraint, LimitRotationConstraint, LimitScaleConstraint, LockedTrackConstraint, MaintainVolumeConstraint, ObjectSolverConstraint, PivotConstraint, PythonConstraint, RigidBodyJointConstraint, ShrinkwrapConstraint, SplineIKConstraint, StretchToConstraint, TrackToConstraint, TransformCacheConstraint, TransformConstraint

class bpy.types.Constraint(bpy_struct)

Constraint modifying the transformation of objects and bones

active

Constraint is the one being edited

Type

boolean, default False

enabled

Use the results of this constraint

Type

boolean, default False

error_location

Amount of residual error in Blender space unit for constraints that work on position

Type

float in [-inf, inf], default 0.0, (readonly)

error_rotation

Amount of residual error in radians for constraints that work on orientation

Type

float in [-inf, inf], default 0.0, (readonly)

influence

Amount of influence constraint will have on the final solution

Type

float in [0, 1], default 0.0

is_proxy_local

Constraint was added in this proxy instance (i.e. did not belong to source Armature)

Type

boolean, default False, (readonly)

is_valid

Constraint has valid settings and can be evaluated

Type

boolean, default False, (readonly)

mute

Enable/Disable Constraint

Type

boolean, default False

name

Constraint name

Type

string, default “”, (never None)

owner_space

Space that owner is evaluated in

  • WORLD World Space – The constraint is applied relative to the world coordinate system.

  • CUSTOM Custom Space – The constraint is applied in local space of a custom object/bone/vertex group.

  • POSE Pose Space – The constraint is applied in Pose Space, the object transformation is ignored.

  • LOCAL_WITH_PARENT Local With Parent – The constraint is applied relative to the rest pose local coordinate system of the bone, thus including the parent-induced transformation.

  • LOCAL Local Space – The constraint is applied relative to the local coordinate system of the object.

Type

enum in [‘WORLD’, ‘CUSTOM’, ‘POSE’, ‘LOCAL_WITH_PARENT’, ‘LOCAL’], default ‘WORLD’

show_expanded

Constraint’s panel is expanded in UI

Type

boolean, default False

space_object

Object for Custom Space

Type

Object

space_subtarget

Armature bone, mesh or lattice vertex group, …

Type

string, default “”, (never None)

target_space

Space that target is evaluated in

  • WORLD World Space – The transformation of the target is evaluated relative to the world coordinate system.

  • CUSTOM Custom Space – The transformation of the target is evaluated relative to a custom object/bone/vertex group.

  • POSE Pose Space – The transformation of the target is only evaluated in the Pose Space, the target armature object transformation is ignored.

  • LOCAL_WITH_PARENT Local With Parent – The transformation of the target bone is evaluated relative to its rest pose local coordinate system, thus including the parent-induced transformation.

  • LOCAL Local Space – The transformation of the target is evaluated relative to its local coordinate system.

  • LOCAL_OWNER_ORIENT Local Space (Owner Orientation) – The transformation of the target bone is evaluated relative to its local coordinate system, followed by a correction for the difference in target and owner rest pose orientations. When applied as local transform to the owner produces the same global motion as the target if the parents are still in rest pose.

Type

enum in [‘WORLD’, ‘CUSTOM’, ‘POSE’, ‘LOCAL_WITH_PARENT’, ‘LOCAL’, ‘LOCAL_OWNER_ORIENT’], default ‘WORLD’

type
  • CAMERA_SOLVER Camera Solver.

  • FOLLOW_TRACK Follow Track.

  • OBJECT_SOLVER Object Solver.

  • COPY_LOCATION Copy Location – Copy the location of a target (with an optional offset), so that they move together.

  • COPY_ROTATION Copy Rotation – Copy the rotation of a target (with an optional offset), so that they rotate together.

  • COPY_SCALE Copy Scale – Copy the scale factors of a target (with an optional offset), so that they are scaled by the same amount.

  • COPY_TRANSFORMS Copy Transforms – Copy all the transformations of a target, so that they move together.

  • LIMIT_DISTANCE Limit Distance – Restrict movements to within a certain distance of a target (at the time of constraint evaluation only).

  • LIMIT_LOCATION Limit Location – Restrict movement along each axis within given ranges.

  • LIMIT_ROTATION Limit Rotation – Restrict rotation along each axis within given ranges.

  • LIMIT_SCALE Limit Scale – Restrict scaling along each axis with given ranges.

  • MAINTAIN_VOLUME Maintain Volume – Compensate for scaling one axis by applying suitable scaling to the other two axes.

  • TRANSFORM Transformation – Use one transform property from target to control another (or same) property on owner.

  • TRANSFORM_CACHE Transform Cache – Look up the transformation matrix from an external file.

  • CLAMP_TO Clamp To – Restrict movements to lie along a curve by remapping location along curve’s longest axis.

  • DAMPED_TRACK Damped Track – Point towards a target by performing the smallest rotation necessary.

  • IK Inverse Kinematics – Control a chain of bones by specifying the endpoint target (Bones only).

  • LOCKED_TRACK Locked Track – Rotate around the specified (‘locked’) axis to point towards a target.

  • SPLINE_IK Spline IK – Align chain of bones along a curve (Bones only).

  • STRETCH_TO Stretch To – Stretch along Y-Axis to point towards a target.

  • TRACK_TO Track To – Legacy tracking constraint prone to twisting artifacts.

  • ACTION Action – Use transform property of target to look up pose for owner from an Action.

  • ARMATURE Armature – Apply weight-blended transformation from multiple bones like the Armature modifier.

  • CHILD_OF Child Of – Make target the ‘detachable’ parent of owner.

  • FLOOR Floor – Use position (and optionally rotation) of target to define a ‘wall’ or ‘floor’ that the owner can not cross.

  • FOLLOW_PATH Follow Path – Use to animate an object/bone following a path.

  • PIVOT Pivot – Change pivot point for transforms (buggy).

  • RIGID_BODY_JOINT Rigid Body Joint – Use to define a Rigid Body Constraint (for Game Engine use only).

  • SHRINKWRAP Shrinkwrap – Restrict movements to surface of target mesh.

Type

enum in [‘CAMERA_SOLVER’, ‘FOLLOW_TRACK’, ‘OBJECT_SOLVER’, ‘COPY_LOCATION’, ‘COPY_ROTATION’, ‘COPY_SCALE’, ‘COPY_TRANSFORMS’, ‘LIMIT_DISTANCE’, ‘LIMIT_LOCATION’, ‘LIMIT_ROTATION’, ‘LIMIT_SCALE’, ‘MAINTAIN_VOLUME’, ‘TRANSFORM’, ‘TRANSFORM_CACHE’, ‘CLAMP_TO’, ‘DAMPED_TRACK’, ‘IK’, ‘LOCKED_TRACK’, ‘SPLINE_IK’, ‘STRETCH_TO’, ‘TRACK_TO’, ‘ACTION’, ‘ARMATURE’, ‘CHILD_OF’, ‘FLOOR’, ‘FOLLOW_PATH’, ‘PIVOT’, ‘RIGID_BODY_JOINT’, ‘SHRINKWRAP’], default ‘CAMERA_SOLVER’, (readonly)

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

Inherited Functions

References