Documentation Changes in 3ds Max 2010

The following noteworthy changes and updates have been made to the MAXScript Online Reference for the 3ds Max 2010 release in addition to the topics covering new features listed in the What is New in MAXScript in 3ds Max 2010 page:

General

Removed the "splotchy" background image which looked distracting especially on LCD monitors. The background of the MAXScript Reference is now pure white.

New Topics On Existing Features

Render To Texture Using MAXScript

A new topic discussing the basic steps to render to texture using MAXScript, including an example of baking the diffuse and lighting information of scene objects into texture maps.

For Loop Collect Vs For Loop Do Performance

A new topic in the How To Make It Faster chapter of the MAXScript Frequently Asked Questions discussing the difference between collecting and appending via a For Loop.

Script Controller - Avoiding Circular Dependency

A new topic discussing the use of Node variables in script controllers instead of Target or Object variables to avoid circular dependency errors.

Referencing Nodes and Controllers in Script Controllers FAQ

The content was part of the Using Script Controllers topic but is now a separate FAQ list for easier cross-linking from other topics.

Script Controller Assignment Behavior Changes in 3ds Max 8

The content was part of the Script Controllers topic but is now a separate topics since it is relevant only to older versions of 3ds Max and is provided for historical reasons only.This helps reduce the clutter in the main topic.

Updated Topics

Script Controllers

Reworked and restructured the topic, added more info, image map navigation and examples.

transform_script: Matrix3Controller

Updated the topic and linked to the Script Controllers topic and a relevant MAXScript FAQ topic.

How do I keep a Plane aligned to 3 Point Helpers?

How do I change the text in a Text Shape dynamically?

Updated the examples of these MAXScript Frequently Asked Questions entries to use the new style scripted controllers introduced back in 3ds Max 8. The old examples still worked, but were teaching an obsolete way of dealing with animation updates and property access.

Never get a single pixel when you can get a whole line

Updated the examples of this MAXScript Frequently Asked Questions entry and added a new example using the pasteBitmap() method extended in 3ds Max 2010.

Node Event System

Added missing information about removing node event callbacks.

Interface: INodeMentalRayProperties

Added documentation of missing properties implemented in 3ds Max 2009 but left undocumented.

dotNet Struct Methods

Updated the documentation of the event handler methods and added an example of registering and removing event handler functions to DotNetControls.

Fixed Errors

PrintAllElements Variable and Context

Fixed an error in the PrintAllElements Context documentation. A context does not use a do statement before the expression.

The incorrect

 <boolean> 

                  <expr> 
                        withprintAllElements  do 

was changed to

  <boolean> <expr> 
                   withprintAllElements

Node Common Properties, Operators, and Methods

Fixed obsolete information regarding the pointSelection() method.The original text written for 3ds Max 2 claimed that only NURBS and Editable Mesh objects support soft selection. In the mean time, Editable Poly was introduced and added to the group of objects supporting soft selection access via the pointSelection() method.

Daylight : System

Fixed a most curious error in the documentation of the solar_date property of the Daylight System. The original documentation claimed that the date was stored as an offset from today which would be, of course, a bad idea. The actual date the offset is based on is June 21 st , the day of the Summer Solstice. By an incredible coincidence, the original documentation was written on exactly that day, resulting in an offset of 0 during the testing!

In addition, updated the script for converting solar_time into hours, minutes and seconds since the value type had changed in recent versions of 3ds Max.

StandardMaterial : Material

Some map-related parameters featured information about the corresponding index within the .maps , .mapEnables and .mapAmount arrays. These indices vary from shader to shader as listed in the table on the same page, so this information was potentially incorrect depending on the shader type (Anisotropic, Blinn etc.) selected inside the Standard material. In addition, the indices were incorrectly listed as 0-based.

These indices have been removed from the auto-generated property description to avoid further confusion.The above mentioned table is now the only and correct source of this information.

MaterialLibrary Values

The documentation claimed that a temp. material library could not be loaded or saved, but then went on to list two methods which do just that since 3ds Max 9. This has been fixed.

Interface: WorkingPivot

Some properties that were documented during the development of 3ds Max 2008 never made it into the final version so they had to be removed. Some methods on the other hand were implemented but never documented. This has been fixed.

makeDir()

The documentation previously stated that the method returns true if the directory was created, false if it existed. This is not true and the documentation was fixed accordingly - of the directory was created OR existed, it returns true, if it could not be created due to limited access or incorrect path name, it returns false.

Reformatted Topics

Modify Panel

The topic has been restructured into sub-topics for easier access.

Index Keywords Updates

Node Common Properties, Operators, and Methods

Updated the index keywords to improve their target accuracy. Duplicated the keywords as sub-indices of the 'node' keyword so typing 'node' in the Index tab would also show all common methods and topics. Updated the Table Of Contents to show the sub-sections of the page in the Contents tab.

Standard Open and Save File Dialogs

Updated the index keywords to improve their target accuracy. Duplicated the keywords as sub-indices of the 'file' keyword so typing 'file' in the Index tab would also show the Standard Open and Save File Dialog Methods.

File Name Parsing

Updated the index keywords to improve their target accuracy. Duplicated the keywords as sub-indices of the 'file' keyword so typing 'file' in the Index tab would also show the File Name Parsing Methods.

External File Methods

Updated the index keywords to improve their target accuracy. Duplicated the keywords as sub-indices of the 'file' keyword so typing 'file' in the Index tab would also show the External File Methods.

Accessing INI File Keys

Updated the index keywords to improve their target accuracy. Duplicated the keywords as sub-indices of the 'INI File Access' keyword so typing 'INI File Access' in the Index tab would also show the INI File Methods.

Added new "Similar Controls" set of links to most User Interface Controls' topics right after the See Also links. For example, Slider, Progressbar, ColorPicker, Angle and Curve Control are similar to Spinner (all are used for value input).

Added more cross-linking between related topics throughout the Reference. This is an ongoing effort.