PropertyLister 0.8.3
This program is for viewing and modifying properties of several types of objects in 3DSMax. These objects include scene objects that derive from the maxwrapper class via the node class, materials, and any and all renderer classes. Given enough time this program can be used to inspect any object in max that is ‘scripter visible’, which means any object that can be controlled from the maxscript command line.
Motivation:
Features:
Node's properties. Note: Max Parent classes do not have any properties to expose. Any
properties in the Parent classes are usually overridden in the base class anyway.
from the scene and update the GUI in the PropertyLister!!
class. Rows that represent color properties are colored with the same color for simplicity
in picking it out. I couldn't change the background color of the editText controls unfortunately
button on the popup menu that says "Add to tweaks". To view tweaks just select the appropriate
item in the mode list.
renderer, and with Vray.
Bugs:
Are listed in the heading of the macroscript.
Wish List:
To do and wish list items are listed in the heading of the macroscript.
Screen Shots:

(Figure 1: Showing
properties in object mode. Note the object is NOT selected. )
Figure 1 shows the program in objects mode. That funny looking object on the right is a rectangle shape with six modifiers on it’s stack. The screen shot shows the expanded rectangle group, representing the rectangle class. The properties exposed are the same properties that are accessible on the modifier command panel. So in a few cases this program can be used to replace the command panel. The groups or classes shown are as follows (from bottom to top):

(Figure 2: Showing
the material properties expanded. )
Figure 2 shows the internals of the Brazil Advanced material. Color properties have their fields filled with the same color they represent. Colors however are a class with 3 member variables, thus each color property has 3 sub properties. As such each color node has 3 child nodes which can be shown upon expanding the parent color node. Note, the various map properties are shown as blanks they were all unused when the script was run. However notice the bmtl_Cs_map properties has a + next to it. That is the color channel, and it however does have properties that can be inspected and modified upon expanding that node.

(Figure 3: Showing
the currently assign production renderer)
Figure 3 shows the currently assigned renderer and the
common properties that are independent of each renderer. The groups shown above
are organized after the rollouts and subgroups in the render dialog. The

(Figure 4: Tweaks
display. )
These are called tweaks for lack of imagination to call them anything else. It is really just a collector for favorite properties, that can be accessed in one location. This is helpful in keeping the artist or technician from ‘running’ all over max to modify scene properties. With this all favorite properties can be accessed in one place. In the above picture, 4 different commonly used properties have been collected in one accessible place. If the user is not satisfied and wants more, then can go back to the other dialogs and collect and add more properties to the tweaks display. Currently this feature is still in an early stage compared to the rest of the program, and could use some polishing of the user interface.

(Figure 5: Variables
mode, or watch list)
This is a ‘catch all’ for displaying any other type of variable which inherits from the Value class but which has no user interface. In this case shown above, I created an array called ‘chris’. Normally chris is only accessed via the command line, but here chris is displayed by the property lister. First the array was created on the command line. Second, it was typed into the property lister. Then auto refresh was turned on. Thirdly in the command line the 3 element of the array was changed to “foo”, whereupon the propertylister quickly updated the value for the 3rd element of the array. Conversely values can be entered into the property lister for any array element, and the array will be changed in the maxscript listener.
PropertyLister is still under development and is not available for general release at this time. Though stay tuned for updates.
Chris Johnson
Alpine,