What is New in MAXScript > What was New in MAXScript in Previous Versions > What was New in MAXScript in 3ds Max 5 >

# MAXScript Changes in 3ds Max 5.1

## Undo System

TheHold

Exposes public SDK methods to access the Undo/Redo system at a low level.

## Modify Panel

modPanel.setCurrentObject

Documenation change: Added a previously undocumented switch ui:<boolean>

modPanel.validModifier

Added new method which returns true if Modify panel is open, one or more nodes are selected, and the specified modifier is applicable to all the nodes at their current edit level in the stack.

getSelectionLevel and setSelectionLevel

New methods added for getting/setting the sub-object selection level.

<node>.baseObject

The .baseobject property of a node is now write-able.

Interface: maxOps

The new maxOps .pivotMode property lets you get / set the Affect Pivot mode buttons in the Hierarchy panel. Possible values are #none, #pivotOnly, #objectOnly, #hierarchyOnly

## Interfaces

Interface: LayerManager

New method deleteLayerByName has been added to the LayerManager Core Interface.

Interface: LayerProperties

A number of new properties have been added to the LayerProperties Interface:

. renderable, .inheritVisibility, .primaryVisibility, .secondaryVisibility, .receiveshadows, .castShadows, .applyAtmospherics, .renderOccluded, .ishidden, .isfrozen, .boxmode, .backfacecull, .alledges, .vertexTicks, .showTrajectory, .xray, .ignoreExtents, .showFrozenInGray, .showVertexColors, .vertexColorsShaded, .visibility, .imageMotionBlurMultiplier, .motionBlurOn, .motionblur, .display, .INodeGIProperties

Interface: trackviews

If you supply a height and width argument to trackviews.open , it only has effect the first time the track view is opened. After that the user defined size takes effect. This makes it possible to specify a size when scripting the opening of track view, but still allow users to change the size and have the new size remembered.

Interface: tmGizmos

More TransformGizmo properties have been exposed to MAXScript: .ShowMultipleTransformGizmos, .moveGizmoRelativeSize, .rotateGizmoRelativeSize, .scaleGizmoRelativeSize, .intersectMode, .perpsectiveSensitivity, .rotationIncrement, .arcRotateSnapAngle

## SetKey Filters

Interface: maxOps

New maxOps.setKeyMode, maxOps.setKeySuspend, maxOps.setKeyFilters, maxOps.setKeyNodeSets, maxOps.setKeyNodeSetCurrent properties provide access to SetKey Mode, Filters and NodeSets. New GetSetKeyFilterState, setSetKeyFilterState methods for getting and setting the SetKey filter state.

Controller Common Properties, Operators, and Methods

New setKey-related controller properties .supportsKeys, .keyable and . isHSV

## Custom Attributes

Access to Custom Attributes Virtual Array

MAXScript Custom Attributes for any Max object, new Custom Attributes virtual array class and . custAttributes property.

Scripted Custom Attributes

The custAttributes methods that take an object as an argument ( add, delete, count,get, makeUnique,getDef, getDefs ) can now be applied to the node itself. In the past, they operated only on the base object. New optional keyword argument baseObject :<bool> has been added to these methods.

## Rollouts and Dialogs

Utility and Rollout Properties, Methods, and Event Handlers

Added new .name and .title and streamlined existing properties of rollouts and rollout floaters.

PrameterBlock2

TabChanged Paramblock event handlers exposed to MAXScript.

Scripted Plug-in Rollouts_and_related_Event_Handlers

Documenation change: Added previously undocumented scripted plug-ins rollout event handlers' on <rollout> reload do ' and 'on <rollout> setTime <val> do '.

cui.RegisterDialogBar and cui.UnRegisterDialogBar

When the new #cui_max_sized DialogBar Style flag is specified, docking the DialogBar on the top causes the DialogBar to expand to the full window width, docked to bottom it expands to full window width minus command panel width.

## ActiveX Controls

ActiveXControl

Documenation change: Added two previously undocumented options in ActiveXControl UI element - setupEvents:<boolean> and releaseOnClose:<boolean>

ActiveX by-reference arguments for methods and events

ActiveX now supports by-reference arguments for methods and events.

## Materials and Maps

MorpherMaterial

The .Mat_1 to .Mat_100 and .base are now standard properties and are accessible before materials have been assigned to these tracks.

Bricks

.Bricks_Map and .Mortar_Map properties are now standard properties and are accessible before materials have been assigned to these tracks.

## Rendering

Render() cancelled argument

Added cancelled argument to the render method.

## Callbacks

FilePreSave and FilePostSave

New callbacks.notificationParam parameters: #filePreSave and #filePostSave

## Viewport Background

InvalidateAllBackgrounds

New method causes all viewport backgrounds to be invalidated and updated.

#### See Also

- What's new in MAXScript in 3ds Max 5
- MAXScript Documentation Changes in 3ds Max 5.1.1 (Particle Flow Update)
- Particle Flow and MAXScript