The following pages will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 7. For details on each feature, please follow the links to the respective documentation pages.
New properties added to the Editable_Poly geometry class providing access to the Paint Soft Selections and Paint Deformations functionality.
New methods added to the EditablePoly Interface, providing access to Bridge, MakePlanarIn and Relax functionality.
Editable_Mesh : GeometryClass and TriMesh : Value
New mesh: construction parameter added to the mesh constructor to allow creation of Editable_Mesh objects from existing TriMesh values.
NURBSCurveshape : Shape
Added access to the following parameters: #angle, #renderable, #mapCoords, #thickness, #sides, #viewport_thickness, #viewport_sides, #viewport_angle, #displayRenderMesh, #useViewportSettings, #displayRenderSettings
ExposeTm : Helper
This new Helper can be used to extract position and rotation data from any scene nodes to be used as input for scripted controllers, wire controllers etc. It simplifies significantly the creation of custom animation rigs.
Edit_Poly : Modifier
The new Edit_Poly modifier implements the Editable Poly modeling tools in a modifier that can be added to the stack and allow for non-destructive editing and animation.
EmptyModifier : Modifier
Replaces the previous implementation of the EmptyModifier which is now EmptyModifier_Old. Can be used as an Custom Attributes holder.
Poly_Select : modifier
New properties controlling the Soft Selection Painting added to the existing modifier.
Projection : Modifier
Project_Mapping_Holder : Modifier
Project_Mapping : ReferenceTarget
The new Projection modifiers provide means to copy UVW coordinates between high-resolution meshes and low-resolution meshes necessary for Normal Map baking.
Renderable_Spline : Modifier
The new Renderable_Spline modifier provides a procedural way to turn a spline into a mesh in the renderer and the viewports. It is also used when transferring data between 3ds Max and other Autodesk products.
Skin_Morph : Modifier
The new Skin_Morph modifier...
Skin_Wrap : Modifier
The new Skin_Wrap modifier....
Skin_Wrap_Patch : Modifier
The new Skin_Wrap_Patch modifier...
TurboSmooth : Modifier
The new TurboSmooth modifier is an optimized and very fast subdivision modifier.
Unwrap_UVW - Unwrap_4_Interface
The new Unwrap_UVW Interface provides additional methods to control the Unwrap_UVW modifier, including Open Edges display in the Editor and the Viewports, Flatten Map By Material IDs, access to geometry and UVW Area calculations for selected faces, Relative/Absolute type-in mode, and adding maps to the maps list of the Editor.
VertexPaint : Modifier
New .radiosityOption property added to the existing modifier.
New properties .isPB2Based , .isMSPluginClass and .isMSCustAttribClass added to the Custom Attributes definition class.
The new custAttributes.getOwner method returns the object the Custom Attribute is applied to.
This new interface controls whether Custom Attributes will survive collapsing the modifier stack or not.
Camera_Map_Per_Pixel : textureMap
The new per-pixel camera mapping texture map yields precise results on any geometry at any viewing angle.
DirectX_9_Shader : Material
New properties .lightDir, .k_a, .k_d, .k_s, .n added to the existing DirectX_9_Shader material. Some obsolete properties were retired from the material.
New methods added to the existing DirectX_9_Shader material.
ViewportManagerCustAttrib : CustAttrib
New properties and methods controlling the DirectX Standard Material shader and saving of FX files added to the existing ViewportManagerCustAttrib class and its interface.
Normal_Bump : textureMap
The new Normal_Bump texture map is used as the host for baked normal maps.
Ambient_Reflective_Occlusion__base : textureMap
A new mental ray texture map.
HeightMap : BakeElement
The new HeightMap BakeElement can be used to bake geometry into Height Maps textures.
NormalsMap : BakeElement
Two new properties added to the existing BakeElement: .useHeightAsAlpha and .useNormalBump.
mental_ray_Shadow_Map : Shadow
New properties added to the existing shader which is now officially supported in 3ds Max 7.
mental_ray_renderer : RendererClass
New properties added to the existing renderer class, some obsolete properties removed.
Sub-Surface Scattering - mental ray Shaders
New shaders implementing both physically-correct and fast Sub-Surface Scattering (SSS) added. Note that these classes are not officially supported in MAXScript.
Object_Display_Culling : UtilityPlugin
New Utility Plug-in to maintain user-defined frame rates in the viewports through view-dependent objects culling.
This new callback is sent when a scene node name is set or changed. It is more reliable to use this callback type than the #nodeRenamed callback. callbacks.notificationParam() will return a 3 element array for this callback type, containing the old name, the new name, and the node.
#filePreOpen and #filePostOpen
callbacks.notificationParam() will now return an integer value of 2 if a Render Presets file is being opened, undefined otherwise.
New methods for registering and managing trackbar key filter functions added.
The two new topics
Exploring the Trackbar Filter Callback Functions
Trackbar Filter Callback Function Examples
discuss the functionality and possible custom filter functions.
The new FrameTagManager Interface provides access to the Time Tags feature. See also
The new ParamCollectorOps Interface provides access to the Parameter Collector dialog.
The new reactionMgr Interface provides access to the Reaction Manager dialog.
The new walkThroughOps Interface provides access to the Walkthrough viewport navigation mode.
The new INodeBakeProjProperties Interface implements the projection mapping process using the new Projection : Modifier and Project_Mapping_Holder : Modifier modifiers.
Interface : thePainterInterface
New .hitNode method added to the existing Interface.
New properties .dragStrLimitMin and .dragStrLimitMax added to the existing Interface.
New .closeDialog and .isDialogOpen methods added to the existing Interface.
New .closeDialog and .isChecked methods added to the existing Interface.
New .paintSelBrushSize property controlling the size of the new Paint Selection Brush option added to the existing Interface.
New deleteSelectedAnimation() method added to the existing Interface.
New SuspendEditing and ResumeEditing methods added.
The syntax of SetCommandPanelTaskMode was modified so that the panel name to switch to can either be specified as the mode keyword argument, or simply as the argument to the method.
Accessing Active Viewport Info, Type, and Transforms
New method viewport.isWire() added.
New methods viewport.GetRenderLevel(), viewport.SetRenderLevel() added.
New methods viewport.GetShowEdgeFaces(), viewport.SetShowEdgeFaces() added.
New methods viewport.GetTransparencyLevel(), viewport.SetTransparencyLevel() added.
New method viewport.GetFOV() added.
New method viewport.GetScreenScaleFactor() added.
New method viewport.IsEnabled() added.
New method viewport.IsPerspView() added.
New system global viewport.DispBkgImage added.
Many new properties added to the existing Struct, providing full access to Snap options and results.
3ds Max System Globals
New preferences.spinnerPrecision, preferences.spinnerSnap and preferences.useSpinnerSnap system globals corresponding to the controls in the Customize > Preferences > General > Spinner group added.
Track View Pick Dialog
New optional filter_function and new optional keyword options: added to the existing TrackView.pickTrackDlg function.
New labelOnTop keyword option in EditText UI controls. If true, the caption is placed above the edit text box. If false or not specified, the caption is placed to the left of the edit text box.
New readOnly keyword option in ListBox UI controls. If true, the user cannot pick items from the list. NOT exposed as a property.
New autoDisplay keyword option in Pickbutton UI controls. If true, the name of the picked object will be placed on the button automatically.
The .object property has been fixed to accept undefined as a valid value assignment.
.height and .width are now exposed as read/write properties of the these UI controls.
For ComboBox, DropdownList, and ListBox, these properties get/set the height/width of the list window in pixels.
that as constructor parameter, the height specifies the height in lines of text!
For ComboBox and Dropdownlist, the height property does not include the height of the edit-text box. For ComboBox, the minimum height setting is clamped at 0 pixels, for DropdownList at 1 pixel.
Two new methods to get and set the dialog's background bitmap added.
Utility and Rollout Properties, Methods, and Event Handlers
New read-only property .isDisplayed added to rollouts.
closeDialogs MacroScript handler
This new macroScript handler allows the implementation of macroScript toggling on and off in conjunction with the isChecked handler. When the isChecked handler returns true and the button is pressed again, the closeDialogs handler will be called instead of the on execute handler.
Scripted Helper Plug-ins
New on getDisplayMesh handler lets the developer replace the default viewport display mesh of the delegate with a custom viewport mesh.
Scripted Plug-in Clauses
ListBox user interface controls are now supported as a valid association with type:#integer parameters in scripted plugins.
New superclass 'SoundClass' added. The default sound object class belongs to this superclass. Explicit declaration of 'Default_Sound' class added.
This new method returns true if the property is animatable, false if the property is not found or is not animatable.
This new method returns an array of all instances of specified class that exist in the scene.
This new method prints in the Listener all installed macroscripts including ID, name, category and source path.
Value Common Properties, Operators, and Methods
New methods isMSCustAttrib(), isMSCustAttribClass(), isMSPlugin(), isMSPluginClass() for checking whether a value is a scripted plugin or custom attribute class or instance.
MAXWrapper Common Properties, Operators, and Methods
New method isValidObj returns true if the argument points to a MAXWrapper that has not been deleted.
New method getClassName returns the class name of the MAXWrapper as a string.
New optional explicitNames keyword added to the existing ExprForMaxObject method.
New immediateOnly keyword added to refs.dependents method. If true, only the immediate dependents of the specified object are returned.
New refs.dependencyLoopTest method added to the existing refs struct.
Indexed Access to Animatable Properties in 3ds Max Objects
New .name read-only property added to SubAnim class.
New optional asString keyword added to the existing getSubAnimName method.
New getSuperLevel method added.
This new method returns the position of the 3ds Max window in relation to the upper left corner of the desktop.
MAXScript Extensions in character studio
Character Studio is now part of 3ds Max 7.
Mixer MAXScript Extensions
Added documentation of the Character Studio Motion Mixer properties and methods.
Biped Animation Manipulation and Clearing
Additional methods to clear animation in single body parts or whole bipeds.
Setting and Resetting Biped IK Keys
Additional methods related to IK access.
Biped Miscellaneous Methods
Additional general Biped-related methods.
Biped Load and Save
The Biped Load and Save function have been extended to specify objects and subAnim tracks to be loaded and saved.
New in MAXScript