3ds Max CAT provides a powerful platform on which you can customize at will. An important part of this is that 3ds Max CAT is completely accessible to scripting.
Interfaces are structures in 3ds Max that expose Methods, Properties and Actions to script allowing you to use script to access objects written in C++. Often many different types of objects can use the same interface, thus allowing them to share same script script exposure. An example of this is that every controller in the CATRig returns the interface CATControlFPInterface. More-specialized controllers such as HubTrans can additionally return Interfaces that expose features relevant only to themselves.
To find out what functions are available on controllers and objects, you can use two different MaxScript calls:
ShowProperties <MaxObject>
Use ShowProperties to find out what values and subanims are available on an object, or controller.
ShowInterfaces <MaxObject>
Example: ShowInterfaces $CATParent01
Use ShowInterfaces to find out what functions/methods and properties are available on an object, or controller.
For more information, refer to the 3ds Max MAXScript help.
To access the controller of an object in 3ds Max, use the following syntax:
$<NodeName>.transform.controller
A shorthand way of doing the same thing:
$<NodeName>[3].controller
3ds Max CAT is simply a hierarchy of controllers and objects. All the standard calling conventions for navigating hierarchies, accessing subanims, and getting and setting controller values work with 3ds Max CAT.