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.
The following new features have been added to 3ds Max 2011 and have been exposed to MAXScript:
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).
This new core interface exposes methods to access and customize the appearance of the Ribbon UI.
This new core interface exposes properties related to the appearance and placement of the Caddy in-screen parameter manipulators (called "Grips" internally).
This new core interface exposes methods related to the display of Caddy (Grips) in-screen parameter manipulators for various polygon modeling features.
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.
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.
This new core interface exposes the Schematic Material Editor to MAXScript.
Interface: ContainerPreferences
This new core interface exposes the Container Preferences to MAXScript.
Several new properties and methods have been added to the existing Container Helper object.
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.
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.
The COMkeySpacing argument to the existing key Reduction method has been changed from integer to float.
This new OpenEXR IO plugin replaces the previously available one and adds support for layered EXR files.
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.
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.
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.
A new property . deleteCacheBeforeCalculation has been added to the existing interface.
Interface: NamedSelectionSetManager
This interface exposes methods to access and manage Named Selection Sets.
SpaceCameraMap : SpacewarpModifier
A new .affectBehind Camera property was added to the existing modifiers.
A new method . getObjectProperty was added to the existing modifier's interface.
The four new Body objects implement solid bodies based on technology licensed from nPower Software.
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.
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.
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.
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.
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.
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.
Interface: FileResolutionManager
Two new methods have been added to the existing interface to provide access to Asset Types.
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
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.
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.