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.