Several of the properties on 3ds Max objects contain values that are themselves compound, for example <node>.pos yields a Point3, which itself contains x , y and z properties.
MAXScript provides a mechanism that lets you modify these nested properties on MAXWrapper objects in place such that assignment to them will affect that nested property on the 3ds Max object.
This mechanism depends on the nested property being accessed in one, cascaded property access.
If you first get the intermediate value into some variable and then set the property on that value, the change will not be reflected in the original object, the connection is only maintained within a single cascaded property access.
FOR EXAMPLE, |
In this case, you would have to explicitly re-assign the free-standing point to $foo's position to affect $foo: |
In general, any property on a MAXWrapper object that is itself a foundation compound value such as a Point3 or Quat will yield a free-standing value when simply accessed and supports object sub-property assignment in cascaded property assignment.