The following page will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 2016. For details on each feature, please follow the links to the respective documentation pages.
The new Physical : camera object provides an advanced camera exposing physical lens controls, film width controls and presets, and built-in exposure gain controls.
The new iray_Section : helper can be used to produce sections of the scene geometry at render time.
The new Crease : Modifier can be used to define edge creases on geometry objects.
The new CreaseSet : Modifier can be used to manage sets of edge creases.
The new OpenSubdiv : Modifier implements the Pixar OpenSubdiv libraries in 3ds Max.
The new Alembic_Export : ExporterPlugin can be used to export scene objects to the Alembic .ABC file format.
The new Alembic_Import : ImporterPlugin can be used to import objects from Alembic .ABC files into the scene.
The new AlembicCamera : Camera class implements the Camera object imported from an Alembic .ABC file.
The new AlembicContainer : GeometryClass object is used by the Alembic Importer to represent the root for grouping object imported from the same file.
The new AlembicObject : GeometryClass object is used to represent a geometry entity imported from an Alembic .ABC file.
The new AlembicXform : Matrix3Controller is used to load the object transformation animation data from an Alembic .ABC file.
The new simpleMeshMod Scripted Plug-in class allows the processing of the incoming TriMesh on the stack and is used by the Max Creation Graph system to implement procedural modifiers.
The new ATF_Alias_importer : ImporterPlugin exposes the Autodesk Translation Framework Alias file format Importer to MAXScript.
The new ATF_CATIA_V4_importer : ImporterPlugin exposes the Autodesk Translation Framework CATIA v4 file format importer to MAXScript.
The new ATF_CATIA_V5_importer : ImporterPlugin exposes the Autodesk Translation Framework CATIA v5 file format importer to MAXScript.
The new ATF_IGES_importer : ImporterPlugin exposes the Autodesk Translation Framework IGES file format importer to MAXScript.
The new ATF_JT_importer : ImporterPlugin exposes the Autodesk Translation Framework JT file format importer to MAXScript.
The new ATF_ProE_importer : ImporterPlugin exposes the Autodesk Translation Framework ProE file format importer to MAXScript.
The new ATF_Solidworks_importer : ImporterPlugin exposes the Autodesk Translation Framework Solidworks file format importer to MAXScript.
The new ATF_STEP_importer : ImporterPlugin exposes the Autodesk Translation Framework STEP file format importer to MAXScript.
The new ATF_UG_NX_importer : ImporterPlugin exposes the Autodesk Translation Framework UG-NX file format importer to MAXScript.
The new Revit_importer : ImporterPlugin exposes the Autodesk Revit file format inporter to MAXScript.
The new Multi_Sub_Object : Material exposes the empty multi-sub Material to MAXScript. It provides no properties or methods.
The new builtin_displace_mdl : textureMap implements a displace shader using the NVIDIA Material Definition Language (MDL).
The new builtin_function_mdl : textureMap implements a function shader using the NVIDIA Material Definition Language (MDL).
The new builtin_mdl_multiply_scalar : textureMap implements a multiply by scalar shader using the NVIDIA Material Definition Language (MDL).
The new max_physical_camera_lens : textureMap represents the mental ray shader implementation of the new Physical : camera object.
The new Float_XRef_Controller : FloatController is used to expose Float parameters of XRef objects.
The new Point3_XRef_Controller : Point3Controller is used to expose Point3 parameters of XRef objects.
The new iray__Alpha : RenderElement can be used to output transparency information from the iRay renderer.
The new iray__Irradiance : RenderElement can be used to output irradiance information from the iRay renderer.
The new iray__normal : RenderElement can be used to output surface normals information from the iRay renderer.
The new iray__Matte_Environment : textureMap can be used to output matte information from the iRay renderer.
The new mr_Ambient_Occlusion : RenderElement can be used to output ambient information from the iRay renderer.
The new Physical_Camera_Exposure_Control : ToneOperator exposes the Physical Camera Exposure Control to MAXScript.
The new Interface: Autodesk360 provides methods related to initializing the web services, logging in and out, and querying login info from the Autodesk 360 service.
The new Interface: CreaseSetManager provides methods to create and manage CreaseSets.
The new Interface: CreaseExplorerManager provides methods to manage the Crease Explorer window including programmatically opening and closing it, as well as loading and saving its configuration to disk.
The new Interface: RevitImportWorkflow exposes no properties or methods.
The new Interface: paramPublishMgr exposes methods to initiate the parameter publishing and to add a parameter by its index.
In the existing Chamfer : Modifier, several new properties have been added: .limiteffect , .useminangle , .usemaxangle , .minangle , .maxangle , and .smoothtoadjacent .
In the existing DirectX_9_Shader : Material, a new property has been added: .shaderfxgraph .
In the existing Edit_Poly : Modifier, several new properties have been added: .dataChannel , .dataValue , .hardedgedisplay , and .hardedgedisplaycolor .
In the existing Editable_Poly : GeometryClass, several new properties have been added: .hardedgedisplay and .hardedgedisplaycolor .
In the existing Interface: EditablePoly, several new methods have been added: .makeHardEdges() , .makeSmoothEdges() , .selectHardEdges() , and .selectSmoothEdges() .
In the existing iRay_Renderer : RendererClass, several new properties have been added: .displacementDisplaceMethod , .displacementParametricSubdivisionLevel , .textureCompressionEnabled , and .textureCompressionMinResolution .
In the existing max_base_GBuffer_lens : textureMap, several new properties have been added: .pauseEventLow , .pauseEventHigh , .pauseEventLow_connected , .pauseEventLow_shader , .pauseEventLow_paramName , .pauseEventHigh_connected , .pauseEventHigh_shader , and .pauseEventHigh_paramName .
In the existing renderers struct, three new properties have been added: .renderDialogMode , .renderButtonText , and .target .
In the existing max_rtt_output : textureMap, a new property has been added: .elementIndex .
In the existing mental_ray_renderer : RendererClass, several new properties have been added: .Displace_Method , .EnableLIS , and .LISQuality .
In the existing Normalize_Spl : Modifier, a new .Accuracy property has been added.
In the existing Skin : Modifier, a new property has been added: .enableDQ .
In the existing XRefObject : Node, a new property has been added to the IXRefProxy Interface: .useLocal .
In the existing XRef_Controller : Matrix3Controller, a new property has been added: .xrefCtrlStatus .
In the existing Interface : objXRefMgr, two new properties have been added: .includeAll and .enableUseLocalProxySettings .
In the existing XRef_Material : Material, two new properties have been added: .enableOverride and .overrideMaterial .
In the existing LayerProperties MixinInterface, three new methods have been added: canDelete() , getNumNodes() , and hasSceneXRefNodesInHierarchy() .
In the existing Interface: AssetManager, the new method AssetManager.RemoveMissingAssets() has been added.
In the existing Interface: maxOps, the new property maxOps.isRenderActive has been added.
In the existing Interface: PlacementTool, the two new methods PlacementTools.ShowOptionDialog() and PlacementTool.GetCommandMode() have been added.
In the existing Interface: SteeringWheelOps, the new property SteeringWheel.loadOptions() has been added.
In the existing Interface: ViewCubeOps, the new property ViewCubeOps.loadOptions() has been added.
Several properties have been removed from the existing mental_ray_renderer : RendererClass: .FinalGatherMinRadius , .FinalGatherMinRadius_View , .FinalGatherOnly , .FinalGatherPreview , .FinalGatherRadius , .FinalGatherRadius_View , .FinalGatherUseRadiusInterpolation , .FinalGatherView , .UseFinalGatherMinRadius , .UseFinalGatherRadius , and .view .
In the existing Egg : Shape, the existing properties have been changed from float to worldUnits type: .egg_length , .egg_thickness , and .egg_width .
In the existing Ellipse : Shape, the existing properties have been changed from float to worldUnits type: .ellipse_thickness , .length , and .width .
In the existing Interface: EPolyManipGrip, the new enum #VertexCrease has been added to the two existing methods: EPolyManipGrip.SetManipulateGrip() and EPolyManipGrip.GetManipulateGrip() .
In the existing Interface: AssetManager, the new enum #MaxCreationGraph has been added to the assetType argument of the two existing methods: AssetManager.GetAssetId() and AssetManager.GetAsset() .
In the existing Interface: FileResolutionManager, the new enum #MaxCreationGraph has been added to the assetType argument of the two existing methods: FileResolutionManager.GetFullFilePath() and FileResolutionManager.GetAssetTypeString() .
In the existing Interface: maxOps, the existing read-only property maxOps.productAppID can only contain #max and the exiting read-only property maxOps.productID can only contain #3dsMax in 3ds Max 2016 due to the retiring of 3ds Max Design.
In the existing Interface: pop, the enums list of the existing property pop.DisplayType has been changed to remove the #Segmented option.
A new LayerManager.doesLayerHierarchyContainNodes() method has been added to the existing Interface: LayerManager.
A new LayerManager.deleteLayerHierarchy() method has been added to the existing Interface: LayerManager.
A new LayerManager.getDuplicateLayerWithoutSameHierarchyOnMerge() method has been added to the existing Interface: LayerManager.
A new LayerManager.setDuplicateLayerWithoutSameHierarchyOnMerge() method has been added to the existing Interface: LayerManager.
In the existing methods .SaveViewGraph() , .LoadViewGraph() , .UnloadViewGraph() , .SetViewShadeFragment() , and .ResetViewShadeFragment() of the NitrousGraphicsManager Interface, the existing viewIndex argument type has been changed from <integer> to <index>.
A new .GetFixedViewportPipeline() method has been added to the NitrousGraphicsManager Interface.