MAXScript Extensions > MAXScript Extensions for Reactor >

# Springhelper : Helper

    Springhelper - superclass: Helper; super-superclass:Node - classID: #(74715456, 1431313522)

The Reactor dynamics system has been retired and REMOVED from 3ds Max 2012.

Value > MAXWrapper > Node > Helper > reactor > Springhelper

Description:

The Springhelper allows you to create a spring between two rigid bodies in the simulation, or between a rigid body and a point in space. During the simulation, the spring will exert forces on the attached bodies in an attempt to maintain its rest length.

Constructor

    Springhelper ... rctSpring ...

Properties

    .childBody (Child_Body) : node

Get/Set the child rigid body.

    .parentBody (Parent_Body) : node

Get/Set the child rigid body.

    .hasParent (Has_Parent) : boolean

When set to true, the Parent rigid body will be considered by the simulation.

    .restitution : float

Get/Set the strength of the spring that governs the force the spring will apply to each attached body for each unit difference between its current length and its rest length.

Note

Exposed to the UI as "Stiffness".

    .restLength (Rest_Length) : float

Get/Set the length the spring will attempt to reach by applying forces on the attached objects.

    .damping : float

Get/Set the damping value.

    .onCompression (Act_on_compression) : boolean

When set to true, the spring will apply forces on the attached objects when its length is less than its Rest Length. It defaults to true.

    .onExtension (Act_on_extension) : boolean

When set to true, the spring will apply forces on the attached objects when its length is greater than its Rest Length. It defaults to true.

    .disabled : boolean

When set to true, the spring is not be considered by the simulation.

    .lockSpaces (Lock_Spaces) : boolean

When set to true, the relative transform between the child and parent constraint spaces is locked - if you move the child space in the viewport, the parent space will move with it, and vice-versa.

### Interfaces

    Interface:rctSpringInterface

Properties

    .parentBody : node : Read|Write

Get/Set the child rigid body.

    .childBody : node : Read|Write

Get/Set the child rigid body.

    .hasParent : boolean : Read|Write

When set to true , the Parent rigid body will be considered by the simulation.

    .parentTransform : matrix3 by value : Read|Write

Get/Set the parent's transformation matrix

    .childTransform : matrix3 by value : Read|Write

Get/Set the child's transformation matrix

    .lockSpaces : boolean : Read|Write

When set to true , the relative transform between the child and parent constraint spaces is locked - if you move the child space in the viewport, the parent space will move with it, and vice-versa.

    .restitution : float : Read|Write

Get/Set the strength of the spring that governs the force the spring will apply to each attached body for each unit difference between its current length and its rest length.

Note

Exposed to the UI as "Stiffness".

    .damping : float : Read|Write

Get/Set the damping value.

    .actOnCompression : boolean : Read|Write

When set to true, the spring will apply forces on the attached objects when its length is less than its Rest Length. It defaults to true.

    .actOnExtension : boolean : Read|Write

When set to true , the spring will apply forces on the attached objects when its length is greater than its Rest Length. It defaults to true.

    .isDisabled : boolean : Read|Write

When set to true, the spring is not be considered by the simulation.

    .restLength : float : Read|Write

Get/Set the length the spring will attempt to reach by applying forces on the attached objects.

Methods

    <float>calculateRestLength()

Returns the restLength value.

    <boolean>isValid()

Returns true if the Spring is a valid constraint. A two-bodied spring is valid if it has two rigid bodies attached, a single-bodied spring is valid if it has one rigid body attached.

    <void>alignToParentBody()

Pressed the "Parent Body" button in the "Align Spaces To" group of UI controls.

    <void>alignToChildBody()

Pressed the "Child Body" button in the "Align Spaces To" group of UI controls.

    <void>alignToParentSpace()

Pressed the "Parent Space" button in the "Align Spaces To" group of UI controls.

    <void>alignToChildSpace()

Pressed the "Child Space" button in the "Align Spaces To" group of UI controls.

    <void>alignToEachBody()

Aligns to both Parent and Child bodies.

#### See Also

- MAXScript Extensions forReactor