3ds Max C++ API Reference
plugapi.h File Reference

This file contains API related to plug-in identification to 3ds Max. More...

#include "MaxWindowsVersion.h"
#include "maxheap.h"
#include "maxtypes.h"
#include "buildver.h"
#include "maxversion.h"
#include "iparamb2Typedefs.h"
#include "coreexp.h"
#include "tab.h"
#include "strbasic.h"
#include "box2.h"
#include "BuildWarnings.h"

Classes

class  ClassDesc
 Class descriptors provide the system with information about the plug-in classes in the DLL. More...
 
struct  ClassDescReplaced
 CallParam data for NOTIFY_CLASSDESC_REPLACED broadcasts. More...
 

Macros

#define GEN_MODAPP_CLASS_ID   0x00000b
 Reserved Super Class IDs. More...
 
#define MODAPP_CLASS_ID   0x00000c
 
#define OBREF_MODAPP_CLASS_ID   0x00000d
 
#define BASENODE_CLASS_ID   0x000001
 
#define GEN_DERIVOB_CLASS_ID   0x000002
 
#define DERIVOB_CLASS_ID   0x000003
 
#define WSM_DERIVOB_CLASS_ID   0x000004
 
#define PARAMETER_BLOCK_CLASS_ID   0x000008
 
#define PARAMETER_BLOCK2_CLASS_ID   0x000082
 
#define EASE_LIST_CLASS_ID   0x000009
 
#define AXIS_DISPLAY_CLASS_ID   0x00000e
 
#define MULT_LIST_CLASS_ID   0x00000f
 
#define NOTETRACK_CLASS_ID   0x0000ff
 
#define TREE_VIEW_CLASS_ID   0xffffff00
 
#define SCENE_CLASS_ID   0xfffffd00
 
#define THE_GRIDREF_CLASS_ID   0xfffffe00
 
#define VIEWREF_CLASS_ID   0xffffff01
 
#define BITMAPDAD_CLASS_ID   0xffffff02
 
#define AGGMAN_CLASS_ID   0xffffff05
 
#define MAXSCRIPT_WRAPPER_CLASS_ID   0xffffff06
 
#define TRACKBAR_CLASS_ID   0xffffff07
 
#define MAKEREF_REST_CLASS_ID   0x9876544
 
#define DELREF_REST_CLASS_ID   0x9876543
 
#define ASSIGNREF_REST_CLASS_ID   0x121242
 
#define LAYER_CLASS_ID   0x0010f0
 Obsolete. More...
 
#define TEMP_OBJECT_SUPERCLASSID   0x98aa1d
 
#define TEAPOT_CLASS_ID1   0xACAD13D3
 Teapot upper class ID. More...
 
#define TEAPOT_CLASS_ID2   0xACAD26D9
 Teapot lower class ID. More...
 
#define PATCHGRID_CLASS_ID   0x1070
 
#define BONE_OBJ_CLASSID   Class_ID(0x28bf6e8d, 0x2ecca840)
 Procedural bone object, subclass of GeomObject. More...
 
#define STANDIN_CLASS_ID   0xffffffff
 Subclass class IDs for all classes. More...
 
#define DEF_SOUNDOBJ_CLASS_ID   0x0000001
 Default sound object. More...
 
#define FOG_CLASS_ID   0x10000001
 Default atmosphere effect. More...
 
#define GENERIC_AMSOLID_CLASS_ID   Class_ID(0x5bb661e8, 0xa2c27f02)
 
3ds Max Release Identifiers
#define MAX_RELEASE_UNSUPPORTED   (-1)
 
#define MAX_RELEASE_R7   7000
 3ds Max 7 release ID More...
 
#define MAX_RELEASE_R8_ALPHA   7800
 3ds Max 8 alpha release ID More...
 
#define MAX_RELEASE_R8   8000
 3ds Max 8 release id More...
 
#define MAX_RELEASE_R9_ALPHA   8900
 3ds Max 9 alpha release id More...
 
#define MAX_RELEASE_R9_ALPHA2   8901
 3ds Max 9 alpha 2 release id (file format change) More...
 
#define MAX_RELEASE_R9   9000
 3ds Max 9 release id More...
 
#define MAX_RELEASE_R10_ALPHA   9900
 3ds Max 10 alpha release id More...
 
#define MAX_RELEASE_R10   10000
 3ds Max 10 release id More...
 
#define MAX_RELEASE_R11_ALPHA   10900
 3ds Max 2009 alpha release id More...
 
#define MAX_RELEASE_R11   11000
 3ds Max 2009 release id More...
 
#define MAX_RELEASE_R12_ALPHA   11900
 3ds Max 2010 alpha release id More...
 
#define MAX_RELEASE_R12   12000
 3ds Max 2010 release id More...
 
#define MAX_RELEASE_R13_ALPHA   12900
 3ds Max 2011 alpha release id More...
 
#define MAX_RELEASE_R13   13000
 3ds Max 2011 release id More...
 
#define MAX_RELEASE_R14_ALPHA   13900
 3ds Max R14 (2012) Alpha, Beta release id More...
 
#define MAX_RELEASE_R14   14000
 3ds Max R14 (2012) release id More...
 
#define MAX_RELEASE_R15_ALPHA_MBCS   14800
 3ds Max R15 (2013) pre-Alpha mbcs release id (SimCity main branch, mbcs build) More...
 
#define MAX_RELEASE_R15_ALPHA_UNICODE_MBCS   14850
 3ds Max R15 (2013) pre-Alpha mbcs build / unicode branch release id (SimCity Unicode branch, mbcs build) More...
 
#define MAX_RELEASE_R15_ALPHA_UNICODE_UNICODE   14900
 3ds Max R15 (2013) Alpha, Beta Unicode release id (SimCity Unicode branch, unicode build) More...
 
#define MAX_RELEASE_R15   15000
 3ds Max R15 (2013) release id More...
 
#define MAX_RELEASE_R16_ALPHA   15900
 3ds Max R16 (2014) Alpha release id More...
 
#define MAX_RELEASE_R16_ALPHA2   15901
 3ds Max R16 (2014) Alpha, Beta release id - new asset metadata stream More...
 
#define MAX_RELEASE_R16   16000
 3ds Max R16 (2014) release id More...
 
#define MAX_RELEASE_R17_ALPHA   16900
 3ds Max R17 (2015) Alpha release id More...
 
#define MAX_RELEASE_R17   17000
 3ds Max R17 (2015) release id More...
 
#define MAX_RELEASE_R18_PREVIEW   17900
 3ds Max R18 (2016) Preview release id More...
 
#define MAX_RELEASE_R18   18000
 3ds Max R18 (2016) release id More...
 
#define MAX_RELEASE_R19_PREVIEW   18900
 3ds Max R19 (2017) Preview release id More...
 
#define MAX_RELEASE_R19   19000
 3ds Max R19 (2017) release id More...
 
#define MAX_RELEASE_R20_PREVIEW   19900
 3ds Max R20 (2018) Preview release id More...
 
#define MAX_RELEASE_R20   20000
 3ds Max R20 (2018) release id More...
 
#define MAX_RELEASE_R21_PREVIEW   20900
 3ds Max R21 (2019) Preview release id More...
 
#define MAX_RELEASE_R21_PREVIEW2   20901
 3ds Max R21 (2019) Preview 2 (ShapeObject revisions) More...
 
#define MAX_RELEASE_R21   21000
 3ds Max R21 (2019) release id More...
 
#define MAX_RELEASE_R22_PREVIEW   21900
 3ds Max R22 (2020) Preview release id More...
 
#define MAX_RELEASE_R22   22000
 3ds Max R22 (2020) release id More...
 
#define MAX_RELEASE_R23_PREVIEW   22900
 3ds Max R23 (2021) Preview release id More...
 
#define MAX_RELEASE_R23   23000
 3ds Max R23 (2021) release id More...
 
#define MAX_RELEASE_R24_PREVIEW   23900
 3ds Max R24 (2022) Preview release id More...
 
#define MAX_RELEASE_R24   24000
 3ds Max R24 (2022) release id More...
 
#define MAX_RELEASE   MAX_RELEASE_R24
 Identifier of the current 3ds Max release. More...
 
#define MAX_RELEASE_EXTERNAL   MAX_RELEASE
 MAX_RELEASE_EXTERNAL is an alternative for MAX_RELEASE that can be used for UI when the internal version of the product is different from the branded version number. More...
 
Macros for extracting parts of VERSION_3DSMAX
#define GET_MAX_RELEASE(x)   (((x)>>16)&0xffff)
 
#define GET_MAX_API_NUM(x)   (((x)>>8)&0xff)
 
#define GET_MAX_SDK_REV(x)   ((x)&0xff)
 
#define GET_MAX_SDK_NUMREV(x)   ((x)&0xffff)
 
Super-class IDs for Plug-ins

These are the super-class IDs that can be used by the different plug-in types that can be built with the 3ds Max SDK.

#define GEOMOBJECT_CLASS_ID   0x000010
 Geometric object super-class ID. More...
 
#define CAMERA_CLASS_ID   0x000020
 Camera object super-class ID. More...
 
#define LIGHT_CLASS_ID   0x000030
 Light object super-class ID. More...
 
#define SHAPE_CLASS_ID   0x000040
 Shape object super-class ID. More...
 
#define HELPER_CLASS_ID   0x000050
 Helper object super-class ID. More...
 
#define SYSTEM_CLASS_ID   0x000060
 System plug-in super-class ID. More...
 
#define REF_MAKER_CLASS_ID   0x000100
 ReferenceMaker super-class ID. More...
 
#define REF_TARGET_CLASS_ID   0x000200
 ReferenceTarget super-class ID. More...
 
#define OSM_CLASS_ID   0x000810
 Object-space modifier (Modifier) super-class ID. More...
 
#define WSM_CLASS_ID   0x000820
 World-space modifier (WSModifier) super-class ID. More...
 
#define WSM_OBJECT_CLASS_ID   0x000830
 World-space modifier object (WSMObject) super-class ID. More...
 
#define SCENE_IMPORT_CLASS_ID   0x000A10
 Scene importer (SceneImport) super-class ID. More...
 
#define SCENE_EXPORT_CLASS_ID   0x000A20
 Scene exporter (SceneExport) super-class ID. More...
 
#define BMM_STORAGE_CLASS_ID   0x000B10
 Bitmap storage super-class ID. More...
 
#define BMM_FILTER_CLASS_ID   0x000B20
 Image filter super-class ID. More...
 
#define BMM_IO_CLASS_ID   0x000B30
 Image loading/saving super-class ID. More...
 
#define BMM_DITHER_CLASS_ID   0x000B40
 Bitmap dithering super-class ID. More...
 
#define BMM_COLORCUT_CLASS_ID   0x000B50
 Bitmap color cut super-class ID. More...
 
#define MATERIAL_CLASS_ID   0x000C00
 Materials super-class ID. More...
 
#define TEXMAP_CLASS_ID   0x000C10
 Texture maps super-class ID. More...
 
#define UVGEN_CLASS_ID   0x0000C20
 UV Generator super-class ID. More...
 
#define XYZGEN_CLASS_ID   0x0000C30
 XYZ Generator super-class ID. More...
 
#define TEXOUTPUT_CLASS_ID   0x0000C40
 Texture output filter super-class ID. More...
 
#define SOUNDOBJ_CLASS_ID   0x000D00
 Sound object super-class ID. More...
 
#define FLT_CLASS_ID   0x000E00
 Image processing filter super-class ID. More...
 
#define RENDERER_CLASS_ID   0x000F00
 Renderer super-class ID. More...
 
#define BEZFONT_LOADER_CLASS_ID   0x001000
 Bezier font loader super-class ID. More...
 
#define ATMOSPHERIC_CLASS_ID   0x001010
 Atmospheric effect super-class ID. More...
 
#define UTILITY_CLASS_ID   0x001020
 Utility object super-class ID. More...
 
#define TRACKVIEW_UTILITY_CLASS_ID   0x001030
 Trackview utility super-class ID. More...
 
#define MOT_CAP_DEV_CLASS_ID   0x001060
 Motion capture device super-class ID. More...
 
#define MOT_CAP_DEVBINDING_CLASS_ID   0x001050
 Motion capture device binding super-class ID. More...
 
#define OSNAP_CLASS_ID   0x001070
 Object snap super-class ID. More...
 
#define TEXMAP_CONTAINER_CLASS_ID   0x001080
 Texture map container super-class ID. More...
 
#define RENDER_EFFECT_CLASS_ID   0x001090
 Render post-effects super-class ID. More...
 
#define FILTER_KERNEL_CLASS_ID   0x0010a0
 Anti-aliasing filter kernel super-class ID. More...
 
#define SHADER_CLASS_ID   0x0010b0
 Standard material shader super-class ID. More...
 
#define COLPICK_CLASS_ID   0x0010c0
 Color picker super-class ID. More...
 
#define SHADOW_TYPE_CLASS_ID   0x0010d0
 Shadow generator super-class ID. More...
 
#define GUP_CLASS_ID   0x0010e0
 Global utility plug-in super-class ID. More...
 
#define SCHEMATICVIEW_UTILITY_CLASS_ID   0x001100
 Schematic view utility super-class ID. More...
 
#define SAMPLER_CLASS_ID   0x001110
 Sampler super-class ID. More...
 
#define IK_SOLVER_CLASS_ID   0x001140
 IK solver super-class ID. More...
 
#define RENDER_ELEMENT_CLASS_ID   0x001150
 Render output element super-class ID. More...
 
#define BAKE_ELEMENT_CLASS_ID   0x001151
 Texture bake output element super-class ID. More...
 
#define COMMON_BAKE_MAP_CLASS_ID   0x001152
 Bake To Texture - Common Bake Map super-class ID. More...
 
#define COMMON_BAKE_MAP_OPERATOR_CLASS_ID   0x001153
 Bake To Texture - Common Bake Map Operator super-class ID. More...
 
#define CUST_ATTRIB_CLASS_ID   0x001160
 Custom attributes super-class ID. More...
 
#define RADIOSITY_CLASS_ID   0x001170
 Global illumination plugin super-class ID. More...
 
#define TONE_OPERATOR_CLASS_ID   0x001180
 Tone operator super-class ID. More...
 
#define MPASS_CAM_EFFECT_CLASS_ID   0x001190
 Multi-pass camera effect super-class ID. More...
 
#define MR_SHADER_CLASS_ID_DEFUNCT   0x0011a0
 Mental ray shader super-class ID. More...
 
#define Fragment_CLASS_ID   0x0011b0
 Fragment super-class ID. More...
 
#define DATACHANNELENGINE_SUPER_CLASS_ID   0x11992ac
 IDataChannelEngine super-class ID. More...
 
#define MAXFLUID_SOLVER_SUPERCLASS_ID   0x0011c0
 Fluid solver (i.e. More...
 
Controller super-class IDs

These super-class IDs identify the different kinds of controller (Control) plug-ins.

#define CTRL_SHORT_CLASS_ID   0x9001
 Short controller super-class ID. More...
 
#define CTRL_INTEGER_CLASS_ID   0x9002
 Integer controller super-class ID. More...
 
#define CTRL_FLOAT_CLASS_ID   0x9003
 Float controller super-class ID. More...
 
#define CTRL_POINT2_CLASS_ID   0x9004
 Point2 controller super-class ID. More...
 
#define CTRL_POINT3_CLASS_ID   0x9005
 Point3 controller super-class ID. More...
 
#define CTRL_MATRIX3_CLASS_ID   0x9008
 Matrix3 controller super-class ID. More...
 
#define CTRL_COLOR_CLASS_ID   0x9009
 Color controller super-class ID. More...
 
#define CTRL_COLOR24_CLASS_ID   0x900A
 Color24 controller super-class ID. More...
 
#define CTRL_POSITION_CLASS_ID   0x900B
 Position controller super-class ID. More...
 
#define CTRL_ROTATION_CLASS_ID   0x900C
 Rotation controller super-class ID. More...
 
#define CTRL_SCALE_CLASS_ID   0x900D
 Scale controller super-class ID. More...
 
#define CTRL_MORPH_CLASS_ID   0x900E
 Morph controller super-class ID. More...
 
#define CTRL_USERTYPE_CLASS_ID   0x900F
 User defined type for a controller super-class ID. More...
 
#define POINTCTRLCONTAINER_SUPERCLASS_ID   0x9010
 Short controller super-class ID. More...
 
#define CTRL_MASTERPOINT_CLASS_ID   0x9010
 
#define DRIVERBLOCK_SUPER_CLASS_ID   0x9011
 Short controller super-class ID. More...
 
#define MASTERBLOCK_SUPER_CLASS_ID   0x9011
 
#define CTRL_POINT4_CLASS_ID   0x9012
 Short controller super-class ID. More...
 
#define CTRL_FRGBA_CLASS_ID   0x9013
 Short controller super-class ID. More...
 
#define DEFORM_OBJ_CLASS_ID   0x000005
 Deformable object pseudo super-class ID. More...
 
#define MAPPABLE_OBJ_CLASS_ID   0x000006
 Mappable object pseudo super-class ID. More...
 
#define GENERIC_SHAPE_CLASS_ID   0x0000ab
 Shape pseudo super-class ID. More...
 
Class IDs of built-in classes

Class ID's of built-in classes.

The value is the first ULONG of the 8 byte Class ID: the second ULONG is 0 for most built-in classes.

Note
Plug-ins should never have a class ID where the second ULONG is 0.
#define PATH_CONTROL_CLASS_ID   0x2011
 
#define EULER_CONTROL_CLASS_ID   0x2012
 
#define EXPR_POS_CONTROL_CLASS_ID   0x2013
 
#define EXPR_P3_CONTROL_CLASS_ID   0x2014
 
#define EXPR_FLOAT_CONTROL_CLASS_ID   0x2015
 
#define EXPR_SCALE_CONTROL_CLASS_ID   0x2016
 
#define EXPR_ROT_CONTROL_CLASS_ID   0x2017
 
#define LOCAL_EULER_CONTROL_CLASS_ID   0x2018
 
#define POSITION_CONSTRAINT_CLASS_ID   0x2019
 
#define ORIENTATION_CONSTRAINT_CLASS_ID   0x2020
 
#define LOOKAT_CONSTRAINT_CLASS_ID   0x2021
 
#define ADDITIVE_EULER_CONTROL_CLASS_ID   0x2022
 
#define BOOLCNTRL_CLASS_ID   Class_ID(0x5ed56fc5, 0x6af0e521)
 
#define FLOATNOISE_CONTROL_CLASS_ID   0x87a6df24
 
#define POSITIONNOISE_CONTROL_CLASS_ID   0x87a6df25
 
#define POINT3NOISE_CONTROL_CLASS_ID   0x87a6df26
 
#define ROTATIONNOISE_CONTROL_CLASS_ID   0x87a6df27
 
#define SCALENOISE_CONTROL_CLASS_ID   0x87a6df28
 
#define SURF_CONTROL_CLASSID   Class_ID(0xe8334011,0xaeb330c8)
 
#define LINKCTRL_CLASSID   Class_ID(0x873fe764,0xaabe8601)
 
#define ATTACH_CONTROL_CLASS_ID   Class_ID(0xbb27e611,0xa72f43e7)
 
#define FLOATLIMITCTRL_CLASS_ID   0x17127e3e
 
#define DUMMYCHANNEL_CLASS_ID   0xefffffff
 
#define RINGARRAY_CLASS_ID   0x9120
 
#define SUNLIGHT_CLASS_ID   Class_ID(0x5897670e, 0x61b5008d)
 
#define DAYLIGHT_CLASS_ID   Class_ID(0x18147db5, 0x20f17194)
 
#define CUSTATTRIB_CONTAINER_CLASS_ID   Class_ID(0x5ddb3626, 0x23b708db)
 
#define TEMP_OBJECT_CLASSID   0xbeef406a
 
Class IDs of classes derived from GEOMOBJECT_CLASS_ID

These are built-in class IDs.

#define TRIOBJ_CLASS_ID   0x0009
 TriObject class ID. More...
 
#define EDITTRIOBJ_CLASS_ID   0xe44f10b3
 Base triangle mesh (Edit class ID. More...
 
#define POLYOBJ_CLASS_ID   0x5d21369a
 Polygon mesh (PolyObject) class ID. More...
 
#define PATCHOBJ_CLASS_ID   0x1030
 Patch object. More...
 
#define NURBSOBJ_CLASS_ID   0x4135
 Nurbs object. More...
 
#define EPOLYOBJ_CLASS_ID   Class_ID(0x1bf8338d,0x192f6098)
 Editable poly. More...
 
Primitive Object Class IDs
#define BOXOBJ_CLASS_ID   0x0010
 Boolean object Class ID. More...
 
#define SPHERE_CLASS_ID   0x0011
 Boolean object Class ID. More...
 
#define CYLINDER_CLASS_ID   0x0012
 Boolean object Class ID. More...
 
#define PLANE_CLASS_ID   Class_ID(0x81f1dfc, 0x77566f65)
 Boolean object Class ID. More...
 
#define PYRAMID_CLASS_ID   Class_ID(0x76bf318a, 0x4bf37b10)
 Boolean object Class ID. More...
 
#define GSPHERE_CLASS_ID   Class_ID(0, 32670)
 Boolean object Class ID. More...
 
#define CONE_CLASS_ID   0xa86c23dd
 Boolean object Class ID. More...
 
#define TORUS_CLASS_ID   0x0020
 Boolean object Class ID. More...
 
#define TUBE_CLASS_ID   0x7B21
 Boolean object Class ID. More...
 
#define HEDRA_CLASS_ID   0xf21c5e23
 Boolean object Class ID. More...
 
#define NEWBOOL_CLASS_ID   Class_ID(0x51db4f2f,0x1c596b1a)
 Boolean object Class ID. More...
 
#define BOOLEAN2OBJ_CLASS_ID   Class_ID(0x7bc209af, 0x01bbac5f)
 Boolean2 object Class ID. More...
 
#define SHAPEBOOLEANOBJ_CLASS_ID   Class_ID(0x6b963d5f, 0x6e243528)
 Shape Boolean Class ID. More...
 
#define PRISM_CLASS_ID   Class_ID(0x63705fac, 0x5c1f553f)
 Boolean object Class ID. More...
 
#define CAPSULE_CLASS_ID   Class_ID(0x6d3d77ac, 0x79c939a9)
 Boolean object Class ID. More...
 
#define CHAMFERBOX_CLASS_ID   Class_ID(0x1AD73F40, 0x48EA0F97)
 Boolean object Class ID. More...
 
#define CHAMFERCYL_CLASS_ID   Class_ID(0x7b9a546e, 0x21a446a1)
 Boolean object Class ID. More...
 
#define LEXT_CLASS_ID   Class_ID(0x9e73a08, 0x8693067)
 Boolean object Class ID. More...
 
#define CEXT_CLASS_ID   Class_ID(0x33b1284d, 0x7af0200d)
 Boolean object Class ID. More...
 
XRef Class IDs
#define XREFOBJ_CLASS_ID   Class_ID(0x92aab38c, 0)
 XRef object class ID. More...
 
#define XREFATMOS_CLASS_ID   Class_ID(0x4869d60f, 0x21af2ae4)
 XRef atmospheric effect class ID. More...
 
#define XREFMATERIAL_CLASS_ID   Class_ID(0x272c0d4b, 0x432a414b)
 XRef material class ID. More...
 
#define XREFCTRL_CLASS_ID   Class_ID(0x32fb4637, 0x65fd482b)
 matrix3 type XRef control class ID More...
 
#define FLOAT_XREFCTRL_CLASS_ID   Class_ID(0x0626200e, 0x049070cc)
 float type XRef control class ID More...
 
#define POINT3_XREFCTRL_CLASS_ID   Class_ID(0x0603ee00, 0x0105530f)
 point3 type XRef control class ID More...
 
#define POINT4_XREFCTRL_CLASS_ID   Class_ID(0x46320d2a, 0xb1c3177e)
 point4 type XRef control class ID More...
 
Subclasses of OSNAP_CLASS_ID
#define GRID_OSNAP_CLASS_ID   Class_ID(0x62f565d6, 0x110a1f97)
 
Particle Class IDs
#define RAIN_CLASS_ID   0x9bd61aa0
 
#define SNOW_CLASS_ID   0x9bd61aa1
 
Space Warp Object Class IDs
#define WAVEOBJ_CLASS_ID   0x0013
 
Lofter Class IDs
#define LOFTOBJ_CLASS_ID   0x1035
 
#define LOFT_DEFCURVE_CLASS_ID   0x1036
 
#define LOFT_GENERIC_CLASS_ID   0x10B0
 
Miscellaneous Class IDs
#define TARGET_CLASS_ID   0x1020
 Camera target class ID. More...
 
#define MORPHOBJ_CLASS_ID   0x1021
 Morph object class ID. More...
 
Subclass class IDs of SHAPE_CLASS_ID
#define SPLINESHAPE_CLASS_ID   0x00000a
 
#define LINEARSHAPE_CLASS_ID   0x0000aa
 
#define SPLINE3D_CLASS_ID   0x1040
 
#define NGON_CLASS_ID   0x1050
 
#define DONUT_CLASS_ID   0x1060
 
#define STAR_CLASS_ID   0x1995
 
#define RECTANGLE_CLASS_ID   0x1065
 
#define HELIX_CLASS_ID   0x1994
 
#define ELLIPSE_CLASS_ID   0x1097
 
#define CIRCLE_CLASS_ID   0x1999
 
#define TEXT_CLASS_ID   0x1993
 
#define ARC_CLASS_ID   0x1996
 
#define HALF_ROUND_CLASS_ID   0x1997
 
#define QUARTER_ROUND_CLASS_ID   0x1998
 
#define PIPE_CLASS_ID   0x199A
 
#define WALLED_RECTANGLE_CLASS_ID   0xd8bff66c
 
#define CHANNEL_CLASS_ID   0x7dbc0e96
 
#define ANGLE_CLASS_ID   0x93257030
 
#define TEE_CLASS_ID   0xfaead70c
 
#define WIDE_FLANGE_CLASS_ID   0xa2b72ef6
 
#define EGG_CLASS_ID   0x171a1afe
 
Subclass class IDs of CAMERA_CLASS_ID
#define SIMPLE_CAM_CLASS_ID   0x1001
 
#define LOOKAT_CAM_CLASS_ID   0x1002
 
Subclass class IDs of LIGHT_CLASS_ID
#define OMNI_LIGHT_CLASS_ID   0x1011
 Class id for the Mental Ray Physical Sun Light object. More...
 
#define SPOT_LIGHT_CLASS_ID   0x1012
 Class id for the Mental Ray Physical Sun Light object. More...
 
#define DIR_LIGHT_CLASS_ID   0x1013
 Class id for the Mental Ray Physical Sun Light object. More...
 
#define FSPOT_LIGHT_CLASS_ID   0x1014
 Class id for the Mental Ray Physical Sun Light object. More...
 
#define TDIR_LIGHT_CLASS_ID   0x1015
 Class id for the Mental Ray Physical Sun Light object. More...
 
#define MR_PHYSSUN_CLASS_ID   Class_ID(0x71503bbb, 0x25e21124)
 Class id for the Mental Ray Physical Sun Light object. More...
 
#define MRPHYSSKY_LIGHT_OBJECT_CLASSID   Class_ID(0x26ee3350, 0x799b5b56)
 Class id for the Mental Ray Physical Sky object. More...
 
Subclass class IDs of HELPER_CLASS_ID
#define DUMMY_CLASS_ID   0x876234
 
#define BONE_CLASS_ID   0x8a63c0
 
#define TAPEHELP_CLASS_ID   0x02011
 
#define GRIDHELP_CLASS_ID   0x02010
 
#define POINTHELP_CLASS_ID   0x02013
 
#define PROTHELP_CLASS_ID   0x02014
 
Subclass class IDs of UVGEN_CLASS_ID
#define STDUV_CLASS_ID   0x0000100
 
Subclass class IDs of XYZGEN_CLASS_ID
#define STDXYZ_CLASS_ID   0x0000100
 
Subclass class IDs of TEXOUT_CLASS_ID
#define STDTEXOUT_CLASS_ID   0x0000100
 
Subclass class IDs of MATERIAL_CLASS_ID
#define DMTL_CLASS_ID   0x00000002
 StdMtl2: standard material. More...
 
#define DMTL2_CLASS_ID   0x00000003
 Was used when migrating from StdMtl to StdMtl2. More...
 
#define CMTL_CLASS_ID   0x0000100
 Top-bottom material. More...
 
#define MULTI_CLASS_ID   0x0000200
 Super class ID multi material. More...
 
#define MULTI_MATERIAL_CLASS_ID   Class_ID(MULTI_CLASS_ID, 0)
 StdMtl2: standard material. More...
 
#define DOUBLESIDED_CLASS_ID   0x0000210
 Double-sided material. More...
 
#define MIXMAT_CLASS_ID   0x0000250
 Blend material. More...
 
#define BAKE_SHELL_CLASS_ID   0x0000255
 Two material shell for baking. More...
 
#define MATTE_CLASS_ID   0x0000260
 Matte material class ID. More...
 
#define LOCKMAT_CLASS_ID   Class_ID(0x5c92647b, 0x35a5272a)
 Locked material class ID. More...
 
#define DXMATERIAL_CLASS_ID   Class_ID(0xed995e4, 0x6133daf2)
 DirectX material class ID. More...
 
#define ARCHITECTURALMATERIAL_CLASS_ID   Class_ID(0x13d11bbe, 0x691e3037)
 (Legacy) Architectural Material class ID More...
 
#define SRR_MATERIAL_CLASSID   Class_ID(0x2914493d, 0x6cff42f7)
 Advanced Lighting Override material. More...
 
#define SHELLAC_CLASS_ID   Class_ID(0x46ee536a, 0)
 StdMtl2: standard material. More...
 
#define SKELETON_CLASS_ID   Class_ID(0x1a8169a, 0x4d3960a5)
 Ink&Paint material. More...
 
#define RAYMTL_CLASSID   Class_ID(0x27190ff4, 0x329b106e)
 Raytrace material. More...
 
#define PHYSICALMATERIAL_CLASS_ID   Class_ID(0x3d6b1cec, 0xdeadc001)
 Physical Material Class ID. More...
 
Subclass class IDs of SHADER_CLASS_ID
#define STDSHADERS_CLASS_ID   0x00000035
 
Subclass class IDs of SHADOW_TYPE_CLASS_ID
#define STD_SHADOW_MAP_CLASS_ID   0x0000100
 
#define STD_RAYTRACE_SHADOW_CLASS_ID   0x0000200
 
Subclass class IDs of RENDERER_CLASS_ID
#define SREND_CLASS_ID   0x000001
 Default scan-line renderer. More...
 
#define RapidRTRenderer_CLASS_ID   Class_ID(0xb1a427cd, 0xa045556f)
 Class ID for ART renderer. More...
 
#define RayEngineGlobalData_ClassID   Class_ID(0x4fa95e9b, 0x09a26e66)
 Class ID for "Raytrace" tab in the render dialog. More...
 
#define AutodeskCloudRendererClassID   Class_ID(0x336b421a, 0x574b21ea)
 Class ID for the Autodesk A360 Cloud Renderer. More...
 
Subclass class IDs of BAKE_ELEMENT_CLASS_ID
#define COMPLETE_BAKE_ELEMENT_CLASS_ID   0x00010001
 
#define SPECULAR_BAKE_ELEMENT_CLASS_ID   0x00010002
 
#define DIFFUSE_BAKE_ELEMENT_CLASS_ID   0x00010003
 
#define REFLECT_REFRACT_BAKE_ELEMENT_CLASS_ID   0x00010004
 
#define SHADOW_BAKE_ELEMENT_CLASS_ID   0x00010005
 
#define LIGHT_BAKE_ELEMENT_CLASS_ID   0x00010006
 
#define NORMALS_ELEMENT_CLASS_ID   0x00010007
 
#define BLEND_BAKE_ELEMENT_CLASS_ID   0x00010008
 
#define ALPHA_BAKE_ELEMENT_CLASS_ID   0x00010009
 
#define HEIGHT_BAKE_ELEMENT_CLASS_ID   0x0001000A
 
#define AMBIENTOCCLUSION_BAKE_ELEMENT_CLASS_ID   0x0001000B
 
Subclass class IDs of REF_MAKER_CLASS_ID
#define MTL_LIB_CLASS_ID   0x001111
 
#define MTLBASE_LIB_CLASS_ID   0x003333
 
#define THE_SCENE_CLASS_ID   0x002222
 
#define MEDIT_CLASS_ID   0x000C80
 
#define MTL_CATEGORY_CLASS_ID   Class_ID(0xb8e3b2d, 0x19854ad2)
 
Subclass class IDs of OSM_CLASS_ID
#define SKEWOSM_CLASS_ID   0x6f3cc2aa
 
#define BENDOSM_CLASS_ID   0x00010
 
#define TAPEROSM_CLASS_ID   0x00020
 
#define TWISTOSM_CLASS_ID   0x00090
 
#define SPLINEIKCONTROL_CLASS_ID   Class_ID(0x5f43ba4, 0x55fe9305)
 
#define UVWMAPOSM_CLASS_ID   0xf72b1
 
#define SELECTOSM_CLASS_ID   0xf8611
 
#define MATERIALOSM_CLASS_ID   0xf8612
 
#define SMOOTHOSM_CLASS_ID   0xf8613
 
#define NORMALOSM_CLASS_ID   0xf8614
 
#define OPTIMIZEOSM_CLASS_ID   0xc4d31
 
#define AFFECTREGION_CLASS_ID   0xc4e32
 
#define SUB_EXTRUDE_CLASS_ID   0xc3a32
 
#define TESSELLATE_CLASS_ID   0xa3b26ff2
 
#define DELETE_CLASS_ID   0xf826ee01
 
#define MESHSELECT_CLASS_ID   0x73d8ff93
 
#define UVW_XFORM_CLASS_ID   0x5f32de12
 
#define UVW_XFORM2_CLASS_ID   0x5f32de13
 
#define CHAMFEROSM_CLASS_ID   Class_ID(0x332c9510, 0x38bb548c)
 
#define WEIGHTED_NORMALS_MOD_ID   Class_ID(0x423b0429, 0x47ca639b)
 
#define EDIT_POLY_MODIFIER_CLASS_ID   Class_ID(0x79aa6e1d, 0x71a075b7)
 
#define EDITMESH_CLASS_ID   0x00050
 
#define EDITSPLINE_CLASS_ID   0x00060
 
#define EDITPATCH_CLASS_ID   0x00070
 
#define EDITLOFT_CLASS_ID   0x00080
 
#define CLUSTNODEOSM_CLASS_ID   0xc4d33
 
#define CLUSTOSM_CLASS_ID   0x25215824
 
#define RESET_XFORM_CLASS_ID   0x8d562b81
 
#define EXTRUDEOSM_CLASS_ID   0x000A0
 
#define SURFREVOSM_CLASS_ID   0x000B0
 
#define DISPLACEOSM_CLASS_ID   0xc4d32
 
#define DISPLACE_OBJECT_CLASS_ID   0xe5240
 
#define DISPLACE_WSM_CLASS_ID   0xe5241
 
#define SINEWAVE_OBJECT_CLASS_ID   0x00030
 
#define SINEWAVE_CLASS_ID   0x00040
 
#define SINEWAVE_OMOD_CLASS_ID   0x00045
 
#define LINWAVE_OBJECT_CLASS_ID   0x00035
 
#define LINWAVE_CLASS_ID   0x00042
 
#define LINWAVE_OMOD_CLASS_ID   0x00047
 
#define GRAVITYOBJECT_CLASS_ID   0xe523c
 
#define GRAVITYMOD_CLASS_ID   0xe523d
 
#define WINDOBJECT_CLASS_ID   0xe523e
 
#define WINDMOD_CLASS_ID   0xe523f
 
#define DEFLECTOBJECT_CLASS_ID   0xe5242
 
#define DEFLECTMOD_CLASS_ID   0xe5243
 
#define BOMB_OBJECT_CLASS_ID   0xf2e32
 
#define BOMB_CLASS_ID   0xf2e42
 
#define OPENSUBDIV_MOD_CLASS_ID   Class_ID(0x73ccf34a, 0x9abc45fc)
 
FFD Modifier Class IDs
#define FFDNMOSSQUARE_CLASS_ID   Class_ID(0x8ab36cc5,0x82d7fe74)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFDNMWSSQUARE_CLASS_ID   Class_ID(0x67ea40b3,0xfe7a30c4)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFDNMWSSQUARE_MOD_CLASS_ID   Class_ID(0xd6636ea2,0x9aa42bf3)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFDNMOSCYL_CLASS_ID   Class_ID(0x98f37a63,0x3ffe9bca)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFDNMWSCYL_CLASS_ID   Class_ID(0xfa4700be,0xbbe85051)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFDNMWSCYL_MOD_CLASS_ID   Class_ID(0xf1c630a3,0xaa8ff601)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFD44_CLASS_ID   Class_ID(0x21325596, 0x2cd10bd8)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFD33_CLASS_ID   Class_ID(0x21325596, 0x2cd10bd9)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define FFD22_CLASS_ID   Class_ID(0x21325596, 0x2cd10bd0)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
#define M3MatClassID   Class_ID(0x4b9937e0, 0x3a1c3da4)
 maxsdk\samples\modifiers\morpher\wM3.h More...
 
Association Context Modifier Class IDs
#define ACMOD_GEOM_GEOM_BOOLADD_CID   0x4e0f483a
 
#define ACMOD_GEOM_GEOM_BOOLSUB_CID   0x61661a5c
 
#define ACMOD_GEOM_GEOM_BOOLINT_CID   0x2a4f3945
 
#define ACMOD_GEOM_GEOM_SIMPAGG_CID   0x40cb05ab
 
#define ACMOD_SHAPE_GEOM_HOLE_CID   0x366307b0
 
#define ACMOD_SHAPE_GEOM_INT_CID   0x782d8d50
 
#define ACMOD_SHAPE_GEOM_EMBOSS_CID   0x7a13397c
 
#define ACMOD_SHAPE_GEOM_REVEAL_CID   0x55ed658c
 
Subclass Class IDs of Controllers
#define LININTERP_FLOAT_CLASS_ID   0x2001
 
#define LININTERP_POSITION_CLASS_ID   0x2002
 
#define LININTERP_ROTATION_CLASS_ID   0x2003
 
#define LININTERP_SCALE_CLASS_ID   0x2004
 
#define PRS_CONTROL_CLASS_ID   0x2005
 
#define LOOKAT_CONTROL_CLASS_ID   0x2006
 
#define HYBRIDINTERP_FLOAT_CLASS_ID   0x2007
 
#define HYBRIDINTERP_POSITION_CLASS_ID   0x2008
 
#define HYBRIDINTERP_ROTATION_CLASS_ID   0x2009
 
#define HYBRIDINTERP_POINT3_CLASS_ID   0x200A
 
#define HYBRIDINTERP_SCALE_CLASS_ID   0x2010
 
#define HYBRIDINTERP_COLOR_CLASS_ID   0x2011
 
#define HYBRIDINTERP_POINT4_CLASS_ID   0x2012
 
#define HYBRIDINTERP_FRGBA_CLASS_ID   0x2013
 
#define HYBRIDINTERP_POINT2_CLASS_ID   Class_ID(0x15205122, 0x1690125b)
 
#define TCBINTERP_FLOAT_CLASS_ID   0x442311
 
#define TCBINTERP_POSITION_CLASS_ID   0x442312
 
#define TCBINTERP_ROTATION_CLASS_ID   0x442313
 
#define TCBINTERP_POINT3_CLASS_ID   0x442314
 
#define TCBINTERP_SCALE_CLASS_ID   0x442315
 
#define TCBINTERP_POINT4_CLASS_ID   0x442316
 
#define POINTCTRLCONTAINER_CLASS_ID   0xd9c20ff
 
#define MASTERPOINTCONT_CLASS_ID   0xd9c20ff
 
Particle Flow Class IDs
#define PF_SUBCLASS_ID_PARTB   0x1eb34000
 
#define PF_OPERATOR_SUBCLASS_ID   0x74f93a02
 
#define PF_OPERATOR3D_SUBCLASS_ID   0x74f93a03
 
#define PF_TEST_SUBCLASS_ID   0x74f93a04
 
#define PF_TEST3D_SUBCLASS_ID   0x74f93a05
 
#define PF_ITEM_SUBCLASS_ID   0x74f93a06
 
#define PF_OBJECT_SUBCLASS_ID   0x74f93a07
 
ClassDesc::Execute() Command Values

These values may be passed as the cmd argument of the ClassDesc::Execute() function.

#define I_EXEC_CTRL_BYPASS_TREE_VIEW   1001
 
#define I_EXEC_GET_SOA_STATE   1002
 
#define I_EXEC_EVAL_SOA_TIME   1003
 

Enumerations

enum  BoneObj_Block { boneobj_params }
 
enum  BoneObj_Params {
  boneobj_width , boneobj_height , boneobj_taper , boneobj_length ,
  boneobj_sidefins , boneobj_sidefins_size , boneobj_sidefins_starttaper , boneobj_sidefins_endtaper ,
  boneobj_frontfin , boneobj_frontfin_size , boneobj_frontfin_starttaper , boneobj_frontfin_endtaper ,
  boneobj_backfin , boneobj_backfin_size , boneobj_backfin_starttaper , boneobj_backfin_endtaper ,
  boneobj_genmap
}
 

Functions

Class Instance Creation
CoreExport voidCreateInstance (SClass_ID superID, Class_ID classID)
 Creates an instance of a class specified by superclass ID and class ID. More...
 

Max SDK Version Numbers.

The SDK version number is updated every time a build of Max containing SDK changes is distributed to 3rd party plugin developers.

This can be an alpha, beta or release candidate build. Although we make every effort to keep Max backward compatible with plugins built against previous versions of the Max SDK, occasionally plugins are required to be re-built against the latest version of the Max SDK in order for Max to load them. Plugins built against a certain version of the Max SDK will not load in previous versions of Max. Note that the Max SDK version number is encoded in VERSION_3DSMAX.

SDK backward compatibility history:

  • 3ds Max R5 is binary compatible with 3ds Max R4
  • 3ds Max R8 is binary compatible with 3ds Max R6
  • 3ds Max R9.0 not binary compatible with previous releases
  • 3ds Max R10 is binary compatible with 3ds Max R9
  • 3ds Max R11 not binary compatible with previous releases
  • 3ds Max R12 not binary compatible with previous releases
  • 3ds Max R13 is binary compatible with 3ds Max R12
  • 3ds Max R14 not binary compatible with previous releases
  • 3ds Max R15 not binary compatible with previous releases
  • 3ds Max R16 is binary compatible with 3ds Max R15
  • 3ds Max R17 not binary compatible with previous releases
  • 3ds Max R18 is binary compatible with 3ds Max R17
  • 3ds Max R19 not binary compatible with previous releases
  • 3ds Max R20 not binary compatible with previous releases
  • 3ds Max R21 not binary compatible with previous releases
  • 3ds Max R22 not binary compatible with previous releases
  • 3ds Max R23 is binary compatible with 3ds Max R22
  • 3ds Max R24 is not binary compatible with previous releases
See also
VERSION_3DSMAX
LibVersion
#define MAX_API_NUM_R20   4
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R25   5
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R30   6
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R31   7
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R40   8
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R42   9
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R50   11
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R60_PRE_REL   12
 3ds Max 6 SDK pre-release. More...
 
#define MAX_API_NUM_R60   13
 3ds Max 6 SDK. More...
 
#define MAX_API_NUM_R70_PRE_REL   14
 3ds Max 7 SDK pre-release. More...
 
#define MAX_API_NUM_R70   15
 3ds Max 7 SDK. More...
 
#define MAX_API_NUM_R80_PRE_REL   16
 3ds Max 8 SDK pre-release. More...
 
#define MAX_API_NUM_R80   17
 3ds Max 8 SDK. More...
 
#define MAX_API_NUM_R90_ALPHA   18
 3ds Max 7 SDK pre-release. More...
 
#define MAX_API_NUM_R90_BETA1   19
 3ds Max 9 Beta 1 SDK. More...
 
#define MAX_API_NUM_R90_BETA3   20
 3ds Max 9 Beta 3 SDK. More...
 
#define MAX_API_NUM_R90   21
 3ds Max 9 SDK. SDK incompatible with 3ds Max 8. More...
 
#define MAX_API_NUM_R100_BETA5   22
 3ds Max 10 Beta 5 SDK. More...
 
#define MAX_API_NUM_R100   23
 to 3ds Max 10 SDK. SDK compatible with 3ds Max 9. More...
 
#define MAX_API_NUM_R110_ALPHA   24
 3ds Max 2009 Alpha SDK. SDK is incompatible with 3ds Max 10. More...
 
#define MAX_API_NUM_R110   25
 3ds Max 2009 SDK. SDK is compatible with 3ds Max 2009 Alpha More...
 
#define MAX_API_NUM_R120_ALPHA2   26
 3ds Max 2010 Alpha 2 SDK. SDK is incompatible with 3ds Max 2009. More...
 
#define MAX_API_NUM_R120_ALPHA3   27
 3ds Max 2010 Alpha 3 SDK. SDK is incompatible with 3ds Max 2010 Alpha 2. More...
 
#define MAX_API_NUM_R120_ALPHA4   28
 3ds Max 2010 Alpha 4 SDK. SDK is incompatible with 3ds Max 2010 Alpha 3. More...
 
#define MAX_API_NUM_R120_BETA1   29
 3ds Max 2010 Beta 1 SDK. SDK is incompatible with 3ds Max 2010 Alpha 4. More...
 
#define MAX_API_NUM_R120_BETA3   30
 3ds Max 2010 Beta 3 SDK. SDK is compatible with 3ds Max 2010 Beta 1 (Beta 2 was identical to Beta 1). More...
 
#define MAX_API_NUM_R120_BETA4   31
 3ds Max 2010 Beta 4 SDK. SDK is compatible with 3ds Max 2010 Beta 3. More...
 
#define MAX_API_NUM_R120_BETA5   32
 3ds Max 2010 Beta 5 SDK. SDK is compatible with 3ds Max 2010 Beta 4. More...
 
#define MAX_API_NUM_R120   33
 3ds Max 2010 SDK. SDK is compatible with 3ds Max 2010 Beta 5. More...
 
#define MAX_API_NUM_R130_BETA1   34
 3ds Max 2011 Beta 1 SDK. SDK is compatible with 3ds Max 2010 and 3ds Max 2011 Alpha builds except for new APIs. More...
 
#define MAX_API_NUM_R130   35
 3ds Max 2011 SDK. SDK is compatible with 3ds Max 2010 and 3ds Max 2011 Alpha and Beta builds except for new APIs. More...
 
#define MAX_API_NUM_R140_ALPHA1   36
 3ds Max R14 Alpha 1 SDK. SDK is incompatible with 3ds Max 2011. More...
 
#define MAX_API_NUM_R140_BETA2   37
 3ds Max R14 Beta 2 SDK - incompatible with 3ds Max 2012 Beta 1 and earlier. More...
 
#define MAX_API_NUM_R140   38
 3ds Max R14 SDK - incompatible with 3ds Max 2011, compatible with 3ds Max 2012 Beta 2 and later. More...
 
#define MAX_API_NUM_R150_ALPHA_MBCS   39
 3ds Max R15 pre-Alpha mbcs SDK - incompatible with 3ds Max 2012 and 3ds Max 2013 unicode builds More...
 
#define MAX_API_NUM_R150_ALPHA_UNICODE   40
 3ds Max R15 pre-Alpha unicode SDK - incompatible with 3ds Max 2012 and 3ds Max 2013 mbcs builds More...
 
#define MAX_API_NUM_R150   MAX_API_NUM_R150_ALPHA_UNICODE
 3ds Max R15 SDK - incompatible with 3ds Max 2012, remains the version number set for the pre-Alpha unicode SDK This was decided because it was not incremented at SDK freeze, despite breaking changes. More...
 
#define MAX_API_NUM_R160_ALPHA1   41
 3ds Max R16 Alpha 1 SDK. SDK is compatible with 3ds Max 2013 builds except for new APIs. More...
 
#define MAX_API_NUM_R160   42
 3ds Max R16 SDK. SDK is compatible with 3ds Max 2013 builds except for new APIs. More...
 
#define MAX_API_NUM_R170_PREVIEW   43
 3ds Max R17 (2015) Preview SDK; incompatible with 3ds Max R16 (2014). More...
 
#define MAX_API_NUM_R170   44
 3ds Max R17 (2015) SDK; incompatible with 3ds Max R16 (2014). More...
 
#define MAX_API_NUM_R180_PREVIEW   45
 3ds Max R18 (2016) Preview SDK; compatible with 3ds Max R17 (2015). More...
 
#define MAX_API_NUM_R180   46
 3ds Max R18 (2016) SDK; compatible with 3ds Max R17 (2015). More...
 
#define MAX_API_NUM_R190_PREVIEW   47
 3ds Max R19 (2017) Preview SDK; incompatible with 3ds Max R18 (2016). More...
 
#define MAX_API_NUM_R190   48
 3ds Max R19 (2017) SDK; incompatible with 3ds Max R18 (2016). More...
 
#define MAX_API_NUM_R200_PREVIEW   49
 3ds Max R20 (2018) Preview SDK; incompatible with 3ds Max R19 (2017). More...
 
#define MAX_API_NUM_R200   50
 3ds Max R20 (2018) SDK; incompatible with 3ds Max R19 (2017). More...
 
#define MAX_API_NUM_R210_PREVIEW   51
 3ds Max R21 (2019) Preview SDK; incompatible with 3ds Max R20 (2018). More...
 
#define MAX_API_NUM_R210   52
 3ds Max R21 (2019) Final SDK; incompatible with 3ds Max R20 (2018). More...
 
#define MAX_API_NUM_R220_PREVIEW   53
 3ds Max R22 (2020) Preview SDK; compatible with 3ds Max R21 (2019). More...
 
#define MAX_API_NUM_R220_PREVIEW2   54
 3ds Max R22 (2020) Preview 2 SDK (upgrade to Visual Studio 2017); incompatible with 3ds Max R21 (2019). More...
 
#define MAX_API_NUM_R220   55
 3ds Max R22 (2020) Final SDK; upgrade to Visual Studio 2017; incompatible with 3ds Max R21 (2019). More...
 
#define MAX_API_NUM_R230_PREVIEW   56
 3ds Max R23 (2021) Preview SDK; compatible with 3ds Max R22 (2020). More...
 
#define MAX_API_NUM_R230   57
 3ds Max R23 (2021) Final SDK; compatible with 3ds Max R22 (2020). More...
 
#define MAX_API_NUM_R240_PREVIEW   58
 3ds Max R24 (2022) Preview SDK; incompatible with 3ds Max R23 (2021). More...
 
#define MAX_API_NUM_R240_PREVIEW2   59
 3ds Max R24 (2022) Preview 2 SDK; incompatible with 3ds Max R23 (2021). More...
 
#define MAX_API_NUM_R240   60
 3ds Max R24 (2022) Final SDK; incompatible with 3ds Max R23 (2021). More...
 
#define MAX_API_NUM   MAX_API_NUM_R240
 The 3ds Max SDK current version number. More...
 
#define MAX_SDK_REV   0
 Denotes the revision of the SDK for a given API. More...
 
#define VERSION_3DSMAX   ((MAX_RELEASE<<16)+(MAX_API_NUM<<8)+MAX_SDK_REV)
 This is the value that is required to be returned by a plug-in DLL's implementation of LibVersion(). More...
 
CoreExport bool IsMaxVersionNewerOrSame (unsigned int maxRelease, unsigned int maxExt)
 Returns true if the current Max version is newer than maxRelease or the same but an extension equal or newer than the one specified as maxExt is present. More...
 
CoreExport unsigned int GetMaxExtensionVersion ()
 Returns the 3ds Max extension number. More...
 

Subclass class IDs of TEXMAP_CLASS_ID

#define CHECKER_CLASS_ID   0x0000200
 Mask texture. More...
 
#define MARBLE_CLASS_ID   0x0000210
 Mask texture. More...
 
#define MASK_CLASS_ID   0x0000220
 Mask texture. More...
 
#define MIX_CLASS_ID   0x0000230
 Mask texture. More...
 
#define NOISE_CLASS_ID   0x0000234
 Mask texture. More...
 
#define GRADIENT_CLASS_ID   0x0000270
 Mask texture. More...
 
#define GRADIENTRAMP_MAP_CLASSID   Class_ID(0x1dec5b86, 0x43383a51)
 Mask texture. More...
 
#define TINT_CLASS_ID   0x0000224
 Tint texture. More...
 
#define BMTEX_CLASS_ID   0x0000240
 Bitmap texture. More...
 
#define ACUBIC_CLASS_ID   0x0000250
 Reflect/refract. More...
 
#define MIRROR_CLASS_ID   0x0000260
 Flat mirror. More...
 
#define COMPOSITE_CLASS_ID   0x0000280
 Composite texture. More...
 
#define COMPOSITE_MATERIAL_CLASS_ID   Class_ID(0x61dc0cd7, 0x13640af6)
 Composite Material. More...
 
#define RGBMULT_CLASS_ID   0x0000290
 RGB Multiply texture. More...
 
#define FALLOFF_CLASS_ID   0x00002A0
 Falloff texture. More...
 
#define OUTPUT_CLASS_ID   0x00002B0
 Output texture. More...
 
#define PLATET_CLASS_ID   0x00002C0
 Plate glass texture. More...
 
#define COLORCORRECTION_CLASS_ID   0x00002D0
 Color Correction texture. More...
 
#define MULTITILE_CLASS_ID   0x00002E0
 MultiTile texture. More...
 
#define VCOL_CLASS_ID   0x0934851
 Vertex color map. More...
 
#define PLANET_CLASS_ID   0x46396cf1
 Mask texture. More...
 
#define WATER_CLASS_ID   0x7712634e
 Mask texture. More...
 
#define SMOKE_CLASS_ID   0xa845e7c
 Mask texture. More...
 
#define SPECKLE_CLASS_ID   0x62c32b8a
 Mask texture. More...
 
#define SPLAT_CLASS_ID   0x90b04f9
 Mask texture. More...
 
#define STUCCO_CLASS_ID   0x9312fbe
 Mask texture. More...
 
#define SWIRL_CLASS_ID   Class_ID(0x72c8577f, 0x39a00a1b)
 Mask texture. More...
 
#define CELLTEX_CLASSID   Class_ID(0xc90017a5,0x111940bb)
 Mask texture. More...
 
#define DENT_CLASS_ID   Class_ID(0x0000218, 0)
 Mask texture. More...
 
#define PARTAGE_CLASSID   Class_ID(0x8d618ea4,0x49bbe8cf)
 Particle Age texture map. More...
 
#define PARTBLUR_CLASSID   Class_ID(0x8a746be5,0x81163ef6)
 Particle Blur texture map. More...
 
#define WOOD_CLASS_ID   Class_ID(0x0000214, 0)
 Mask texture. More...
 
#define MRSKYENVSHADER_CLASS_ID   Class_ID(0x628e269e, 0x72386abf)
 Class id for the Mental Ray Physical Sky Environment Map. More...
 
#define PHYSICAL_SUN_SKY_ENV_CLASS_ID   Class_ID(0x223349b4, 0x562a7d8b)
 Class id for the Physical Sky environment class ID. More...
 
#define MULTIOUTPUTTOTEXMAP_CLASS_ID   Class_ID(0x896EF2FC, 0x44BD743F)
 MultiOutputToTexmap texture. More...
 
#define VIZ_BRICKS_CLASSID   Class_ID(0x64035fb9, 0x69664cdc)
 Tiles Map (old name was Bricks) More...
 
enum  TextureMap_Vertex_Color_BlockID { vertexcolor_params }
 Mask texture. More...
 
enum  TextureMap_Vertex_Color_ParamIDs { vertexcolor_map , vertexcolor_subid }
 Mask texture. More...
 

Detailed Description

This file contains API related to plug-in identification to 3ds Max.

Definitions from this file can be found in the following documentation modules:

Macro Definition Documentation

◆ I_EXEC_CTRL_BYPASS_TREE_VIEW

#define I_EXEC_CTRL_BYPASS_TREE_VIEW   1001

◆ I_EXEC_GET_SOA_STATE

#define I_EXEC_GET_SOA_STATE   1002

◆ I_EXEC_EVAL_SOA_TIME

#define I_EXEC_EVAL_SOA_TIME   1003

Function Documentation

◆ CreateInstance()

CoreExport void* CreateInstance ( SClass_ID  superID,
Class_ID  classID 
)

Creates an instance of a class specified by superclass ID and class ID.

This can be useful when there is no convenience method for creating the desired class.

Many classes have named IDs defined in plugapi.h. You can also obtain the numeric class ID of a class using the MaxScript ShowClass() function, or from an object in a scene using $obj.ClassID(). Here's an example of output for a selected skylight object:

$.classid --> #(2079724664, 1378764549)
$.superclassid --> 48
showclass "skylight" --> Skylight : light {7bf61478,522e4705}
Example:
This example creates a skylight instance.
GenLight* lightObjLight = (GenLight*) CreateInstance(LIGHT_CLASS_ID,Class_ID(0x7bf61478, 0x522e4705));
Definition: maxtypes.h:154
Definition: genlight.h:49
#define LIGHT_CLASS_ID
Light object super-class ID.
Definition: plugapi.h:400
CoreExport void * CreateInstance(SClass_ID superID, Class_ID classID)
Creates an instance of a class specified by superclass ID and class ID.