The Super Class ID and the Class ID

Plug-ins of all types create MAX system objects. These are not the 3D objects that appear in a scene, but objects in the C++ sense. There are two IDs associated with each plug-in system object. These are the Super Class ID and the Class ID. The Super Class ID specifies what super-class of MAX the plug-in class is a sub-class of. The Class ID differentiates between the various plug-ins for a super-class.

MAXScript provides a method to generate a fresh random class ID each time you run it:

genClassID [returnValue:<boolean>]


This method generates a random class ID similar to #(0x9b7ea231, 0xb6db86ef), and prints it to Listener if returnValue is not supplied or set to false. You can cut and paste this class ID into your script to use the generated ID.

If returnValue is true, the classid is not printed to the Listener, rather a 2 element array containing the 2 parts of the class ID is returned.

MAX, and each plug-in falls into one of these predefined categories define the Super Class IDs. For instance, all Texture Map plug-ins share the same Super Class ID of TEXMAP_CLASS_ID. Each individual texture map plug-in has its own unique Class ID however. Thus, the Super Class ID defines which kind of object it is, the Class ID uniquely identifies a specific plug-in class.

See also

Scripted Plug-ins

Scripted Custom Attributes

Menu Manager