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.