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

# What is New in MAXScript in 3ds Max 2011

The following page will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 2011. For details on each feature, please follow the links to the respective documentation pages.

For a list of changes made to the MAXScript Reference itself besides documenting new feature, see Documentation Changes in 3ds Max 2011.

## New 3ds Max Features Exposure

The following new features have been added to 3ds Max 2011 and have been exposed to MAXScript:

### PolyTools (Graphite Modeling Tools)

PolyTools Interfaces - Graphite Modeling Tools

PolyToolsModeling : GlobalUtilityPlugin

PolyToolsPaintDeform : GlobalUtilityPlugin

PolyToolsPolyDraw : GlobalUtilityPlugin

PolyToolsSelect : GlobalUtilityPlugin

PolyToolsShift : GlobalUtilityPlugin

PolyToolsTopology : GlobalUtilityPlugin

PolyToolsUVWTweak : GlobalUtilityPlugin

The Graphite Modeling functionality has been consolidated using a number of GlobalUtilityPlugins exposing properties and methods that are now officially supported as MAXScript tools. (In 3ds Max 2010, these features, while exposed to MAXScript, were not officially supported for use in your own scripts).

### Ribbon and Caddy Manipulators

Interface: MaxRibbon

This new core interface exposes methods to access and customize the appearance of the Ribbon UI.

Interface: Grip

This new core interface exposes properties related to the appearance and placement of the Caddy in-screen parameter manipulators (called "Grips" internally).

Interface: EPolyManipGrip

This new core interface exposes methods related to the display of Caddy (Grips) in-screen parameter manipulators for various polygon modeling features.

### QuicksilverHardware Renderer

Quicksilver_Hardware_Renderer : RendererClass

This new renderer class lets you create instances of the Quicksliver hardware renderer to assign to the production renderer and set up its properties.

### Schematic Material Editor

maxOps Material Editor Mode

The new maxops.mtlDlgMode property lets you get and set the Material Editor mode - Legacy or Schematic Material Editor.

MatEditor - Open and Close the Material Editor

The existing methods for opening and closing the Material Editor now support the Schematic Material Editor. New properties and methods have been added to control the Material Editor mode and open the Schematic Material Editor specifically.

Interface: SME

This new core interface exposes the Schematic Material Editor to MAXScript.

### Containers and Locked Tracks

Interface: ContainerPreferences

This new core interface exposes the Container Preferences to MAXScript.

Container : Helper

Several new properties and methods have been added to the existing Container Helper object.

Interface: LockedTracksMan

Three new method has been added to the existing interface to control the Exposed UI state of anims and to allow the unlocking of children.

### CAT and MAXScript

| 3ds Max CAT - Quick Navigation

3ds Max CAT and MAXScript

The 3ds Max CAT (Character Animation Tools) system is now an integral part of 3ds Max and is fully exposed to MAXScript.

Use the Quick Navigation icon above to jump to any CAT-related topic.

### Biped and MAXScript

BipFilter Core Interface

The COMkeySpacing argument to the existing key Reduction method has been changed from integer to float.

### OpenEXR Bitmap I/O

OpenEXR : BitmapIO

This new OpenEXR IO plugin replaces the previously available one and adds support for layered EXR files.

### mental ray Renderer

Other mental ray Properties

The new .taskSize Auto property in mental ray controls whether to adjust the bucket size automatically to use all cores optimally (for example when updating Material Editor samples).

Interface: mental_ray_string_options

This new core Interface lets the user toggle rendering options and set internal parameters not yet available in the UI.

This allows for evaluation of mental ray features before they are exposed for regular usage. String options can be set and cleared only through MaxScript. Once set, an option affects all mental ray renders until cleared, or until 3ds Max is shut down.

mental ray String Options

This topic discusses the use of the String Options Interface to access some advanced and currently unexposed to the UI features of mental ray including Progressive Rendering, Irradiance Particles, Importons and Force Final Gather mode.

Interface: renderMessageManager

Exposes the mental ray Render Message window to MAXScript.

mental ray Shaders Index

A large number of new mental ray shaders have been added to 3ds Max 2011.

MultiOutputChannelTexmapToTexmap : textureMap

A specialized texture map used to pass the output of a multi-output MetaSL shader to an input of another shader.

### Light Meter Manager

Interface: LightMeterManager

A new property . deleteCacheBeforeCalculation has been added to the existing interface.

### Named Selection Sets Manager

Interface: NamedSelectionSetManager

This interface exposes methods to access and manage Named Selection Sets.

### Modifiers

CameraMap : Modifier

SpaceCameraMap : SpacewarpModifier

A new .affectBehind Camera property was added to the existing modifiers.

ClothOpsInterface

A new method . getObjectProperty was added to the existing modifier's interface.

### Body Objects

Body Objects

Body_Object : GeometryClass

Body_Cutter : GeometryClass

Body_Utility : GeometryClass

Join_Bodies : GeometryClass

The four new Body objects implement solid bodies based on technology licensed from nPower Software.

### Object Snaps

snapMode

A new "Body" OSnap set has been added to the existing Snaps system with index 1, increasing the number of snap sets from 5 to 6 and pushing the previously available "NURBS" and 4 "Standard" OSnap sets one index up.

The previously available property snapMode.useAxisCenterAsStartSnap Point has been deprecated in 3ds Max 2011.

### Importer Plugins

sketchUp : ImporterPlugin

This new ImporterPlugin provides the ability to import Google SketchUp files into 3ds Max.

InventorImport : ImporterPlugin

This new ImporterPlugin provides the ability to import Autodesk Inventor files (.IPT, .WIRE, .IAM) into 3ds Max.

### Default Object Names And Renaming

maxOps.NameSuffixLength

In 3ds Max 2011, the default number of digits in object names was changed to 3. This number can be controlled using the maxOps.NameSuffixLength property.

uniquename

The uniquename() method also supports the new default digits number and also provides a new optional keyword argument numDigits : controlling the number of digits to be generated.

mergeMaxFile()

The mergeMaxFile() method now supports a new optional flag #autoRenameDups which causes incoming objects with names that already exist in the scene to be renamed automatically.

### Saving As Previous Version

saveMaxFile()

saveNodes()

The saveMaxFile() and saveNodes() methods now support a new optional keyword argument saveAsVersion : which accepts an integer value of 2010 and causes the file to be saved in the specified version's format. If not supplied, or if any other value is supplied, the current version's file format will be used.

Container SaveContainer Method

The saveContainer() method also adds support for a new optional keyword argument saveAsVersion: which accepts an integer value of 2010 and causes the file to be saved in the specified version's format. If not supplied, or if any other value is supplied, the current version's file format will be used.

### File Asset Types

Interface: FileResolutionManager

Two new methods have been added to the existing interface to provide access to Asset Types.

### getClassInstances Function Improvements And rootScene Access

getClassInstances()

In versions prior to 3ds Max 2011, the getClassInstances() function was looking for the class instances by enumerating the animatable tree. There are many cases where the set of subAnims of an object is a subset of the references held by an object, so instances present in the scene were being missed. To solve this, the function now searches for class instances in a variety of ways depending on its arguments, including two new arguments.

rootScene System Global Variable

Max System Globals - R

Represents the scene root in scripts and the Macro Recorder. The subAnims of rootScene include the node hierarchy, the Material Editor, Track View, Scene Material Library etc.

### Number Values

64 Bit Values - Double, Integer64, IntegerPtr

Printing of very small Double values has been improved.

### MAXScript Rendering And Bitmap Pager Improvements

MAXScript Rendering And Bitmap Pager Improvements in 3ds Max 2011

In previous releases, if a MAXScript performed multiple render() calls, the result of previous renders remained in memory and were not released automatically. The user had to invoke a manual garbage collection to release them. This wasted memory and, because of the Bitmap Pager, disk space. This issue has been fixed in 3ds Max 2011 by performing periodic garbage collections automatically after rendering.

#### See Also

- Documentation Changes in 3ds Max 2011
- New in MAXScript