Dynamic Properties

In addition to the properties listed in the reference, MAXScript provides access to the dynamic properties in 3ds Max entities, those properties that are specific to an individual object and depend on the operations you've performed on that object in the 3ds Max scene. These includes such things as animatable modifier sub-objects like gizmos and FFD control points and sub-controllers like those in a List controller or P/R/S Transform or Path controller.

These correspond to the many animatable parameters and sub-objects that you see in the Track View for an object; if you can see them in the Track View they will be visible as either static or dynamic properties in the MAXScript value that corresponds to that object.

The property name you specify is matched against the sub-animatable name (as it would be seen in the Track View or sub-object drop-down) using the standard MAXScript conventions of mapping spaces to '_' underscores and ignoring case when dealing with 3ds Max class and property names. You can also simply leave out the spaces in any dynamic property names.

Example:

p = $foo.bend.center

$baz.taper.gizmo.rotation = quat 30 z_axis

$foo.pos.controller.bezier_position = [10,0,0]

Because these properties are dynamic and may change as controllers are replaced and sub-objects become animated, they may vary from object to object and so are not reported in the properties section of the showClass() function output. Instead, you can use the built-in function showProperties() which will display the accessible properties on a 3ds Max entity including the currently visible dynamic properties. Both functions are described in Class and Object Inspector Functions.