Position_Constraint : PositionController

Position_Constraint - superclass: PositionController; super-superclass:MAXWrapper - 1:0 - classID: #(8217, 0)

A position constraint causes an object to follow the position of an object or the averaged position of several objects.

In order to activate, a position constraint requires an object and a target object. Once assigned the object becomes constrained to the target objects position. Animating the target's position causes the constrained object to follow

Each target has a weight value defining its influence. A value of 0 is equal to off. Any value greater than 0 will cause the target to influence the constrained object. Weight values may be animated to create effects such a ball being picked up from a table.

Multiple targets can be used to influence a constrained object. When using multiple targets, each target's weight value defines how much it influences the constrained object. For example if a sphere is Position constrained between 2 targets and each target's weight value is 100. Then the sphere will maintain an equal distance between both targets even when they are in motion. If one of the weight values is 0 and the other is 50, then the Sphere is only influenced by the target with the higher value.


Position_Constraint ...


<Position_Constraint>.relative Boolean default: false -- boolean

Position_Constraint interfaces:

Interface: constraints



Returns the number of target nodes in the target list.

<node>getNode <index>targetNumber

Returns the indexed target node.

<float>getWeight <index>targetNumber

Returns the weight of the indexed target if the targetNumber is relevant, 0.0 otherwise.

<boolean>setWeight <index>targetNumber <float>weight

Sets the weight of the indexed node specified by targetNumber. Returns True on success, False otherwise.

<boolean>appendTarget <node>target <float>weight

Appends the specified node to the list and sets its weight to the specified value. Returns True on success, False otherwise.

<boolean>deleteTarget <index>targetNumber

Deletes the indexed target. Returns True on success, False otherwise.


posCtrl = Position_Constraint()

posConstraintInterface = posCtrl.constraints

posConstraintInterface.appendTarget $box01 20.0

node1 = posConstraintInterface.getNode 1

weight = posConstraintInterface.getWeight 1

posConstraintInterface.setWeight 1 0.0

See also

Link_Constraint : Matrix3Controller

LookAt_Constraint : RotationController

Orientation_Constraint : RotationController

Path_Constraint - superclass: PositionController

Controller Functions for Use with Constraint Assignments