3ds Max C++ API Reference
|
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:
| |
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... | |
#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... | |
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) |
#define MAX_RELEASE_UNSUPPORTED (-1) |
Represents an unsupported 3ds Max version.
#define MAX_RELEASE_R7 7000 |
3ds Max 7 release ID
#define MAX_RELEASE_R8_ALPHA 7800 |
3ds Max 8 alpha release ID
#define MAX_RELEASE_R8 8000 |
3ds Max 8 release id
#define MAX_RELEASE_R9_ALPHA 8900 |
3ds Max 9 alpha release id
#define MAX_RELEASE_R9_ALPHA2 8901 |
3ds Max 9 alpha 2 release id (file format change)
#define MAX_RELEASE_R9 9000 |
3ds Max 9 release id
#define MAX_RELEASE_R10_ALPHA 9900 |
3ds Max 10 alpha release id
#define MAX_RELEASE_R10 10000 |
3ds Max 10 release id
#define MAX_RELEASE_R11_ALPHA 10900 |
3ds Max 2009 alpha release id
#define MAX_RELEASE_R11 11000 |
3ds Max 2009 release id
#define MAX_RELEASE_R12_ALPHA 11900 |
3ds Max 2010 alpha release id
#define MAX_RELEASE_R12 12000 |
3ds Max 2010 release id
#define MAX_RELEASE_R13_ALPHA 12900 |
3ds Max 2011 alpha release id
#define MAX_RELEASE_R13 13000 |
3ds Max 2011 release id
#define MAX_RELEASE_R14_ALPHA 13900 |
3ds Max R14 (2012) Alpha, Beta release id
#define MAX_RELEASE_R14 14000 |
3ds Max R14 (2012) release id
#define MAX_RELEASE_R15_ALPHA_MBCS 14800 |
3ds Max R15 (2013) pre-Alpha mbcs release id (SimCity main branch, mbcs build)
#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)
#define MAX_RELEASE_R15_ALPHA_UNICODE_UNICODE 14900 |
3ds Max R15 (2013) Alpha, Beta Unicode release id (SimCity Unicode branch, unicode build)
#define MAX_RELEASE_R15 15000 |
3ds Max R15 (2013) release id
#define MAX_RELEASE_R16_ALPHA 15900 |
3ds Max R16 (2014) Alpha release id
#define MAX_RELEASE_R16_ALPHA2 15901 |
3ds Max R16 (2014) Alpha, Beta release id - new asset metadata stream
#define MAX_RELEASE_R16 16000 |
3ds Max R16 (2014) release id
#define MAX_RELEASE_R17_ALPHA 16900 |
3ds Max R17 (2015) Alpha release id
#define MAX_RELEASE_R17 17000 |
3ds Max R17 (2015) release id
#define MAX_RELEASE_R18_PREVIEW 17900 |
3ds Max R18 (2016) Preview release id
#define MAX_RELEASE_R18 18000 |
3ds Max R18 (2016) release id
#define MAX_RELEASE_R19_PREVIEW 18900 |
3ds Max R19 (2017) Preview release id
#define MAX_RELEASE_R19 19000 |
3ds Max R19 (2017) release id
#define MAX_RELEASE_R20_PREVIEW 19900 |
3ds Max R20 (2018) Preview release id
#define MAX_RELEASE_R20 20000 |
3ds Max R20 (2018) release id
#define MAX_RELEASE_R21_PREVIEW 20900 |
3ds Max R21 (2019) Preview release id
#define MAX_RELEASE_R21_PREVIEW2 20901 |
3ds Max R21 (2019) Preview 2 (ShapeObject revisions)
#define MAX_RELEASE_R21 21000 |
3ds Max R21 (2019) release id
#define MAX_RELEASE_R22_PREVIEW 21900 |
3ds Max R22 (2020) Preview release id
#define MAX_RELEASE_R22 22000 |
3ds Max R22 (2020) release id
#define MAX_RELEASE_R23_PREVIEW 22900 |
3ds Max R23 (2021) Preview release id
#define MAX_RELEASE_R23 23000 |
3ds Max R23 (2021) release id
#define MAX_RELEASE_R24_PREVIEW 23900 |
3ds Max R24 (2022) Preview release id
#define MAX_RELEASE_R24 24000 |
3ds Max R24 (2022) release id
#define MAX_RELEASE MAX_RELEASE_R24 |
Identifier of the current 3ds Max release.
#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.
MAX_RELEASE_EXTERNAL is defined in maxversion.h
#define MAX_API_NUM_R20 4 |
3ds Max 5 SDK.
#define MAX_API_NUM_R25 5 |
3ds Max 5 SDK.
#define MAX_API_NUM_R30 6 |
3ds Max 5 SDK.
#define MAX_API_NUM_R31 7 |
3ds Max 5 SDK.
#define MAX_API_NUM_R40 8 |
3ds Max 5 SDK.
#define MAX_API_NUM_R42 9 |
3ds Max 5 SDK.
#define MAX_API_NUM_R50 11 |
3ds Max 5 SDK.
#define MAX_API_NUM_R60_PRE_REL 12 |
3ds Max 6 SDK pre-release.
#define MAX_API_NUM_R60 13 |
3ds Max 6 SDK.
#define MAX_API_NUM_R70_PRE_REL 14 |
3ds Max 7 SDK pre-release.
#define MAX_API_NUM_R70 15 |
3ds Max 7 SDK.
#define MAX_API_NUM_R80_PRE_REL 16 |
3ds Max 8 SDK pre-release.
#define MAX_API_NUM_R80 17 |
3ds Max 8 SDK.
#define MAX_API_NUM_R90_ALPHA 18 |
3ds Max 7 SDK pre-release.
#define MAX_API_NUM_R90_BETA1 19 |
3ds Max 9 Beta 1 SDK.
#define MAX_API_NUM_R90_BETA3 20 |
3ds Max 9 Beta 3 SDK.
#define MAX_API_NUM_R100_BETA5 22 |
3ds Max 10 Beta 5 SDK.
#define MAX_API_NUM_R120_ALPHA3 27 |
#define MAX_API_NUM_R120_ALPHA4 28 |
#define MAX_API_NUM_R120_BETA1 29 |
#define MAX_API_NUM_R120_BETA3 30 |
#define MAX_API_NUM_R120_BETA4 31 |
#define MAX_API_NUM_R120_BETA5 32 |
#define MAX_API_NUM_R130_BETA1 34 |
#define MAX_API_NUM_R130 35 |
#define MAX_API_NUM_R140_BETA2 37 |
#define MAX_API_NUM_R140 38 |
#define MAX_API_NUM_R150_ALPHA_MBCS 39 |
#define MAX_API_NUM_R150_ALPHA_UNICODE 40 |
#define MAX_API_NUM_R150 MAX_API_NUM_R150_ALPHA_UNICODE |
#define MAX_API_NUM_R160_ALPHA1 41 |
#define MAX_API_NUM_R160 42 |
#define MAX_API_NUM_R170_PREVIEW 43 |
#define MAX_API_NUM_R180_PREVIEW 45 |
#define MAX_API_NUM_R190_PREVIEW 47 |
#define MAX_API_NUM_R200_PREVIEW 49 |
#define MAX_API_NUM_R210_PREVIEW 51 |
#define MAX_API_NUM_R220_PREVIEW 53 |
#define MAX_API_NUM_R220_PREVIEW2 54 |
#define MAX_API_NUM_R220 55 |
#define MAX_API_NUM_R230_PREVIEW 56 |
#define MAX_API_NUM_R240_PREVIEW 58 |
#define MAX_API_NUM_R240_PREVIEW2 59 |
#define MAX_API_NUM MAX_API_NUM_R240 |
The 3ds Max SDK current version number.
It is used to verify a plug-in's binary compatibility with a specific version of 3ds Max. It is encoded into VERSION_3DSMAX which is the version number plug-in must return from their implementation of LibVersion(). The GET_MAX_API_NUM macro can be used to extract the SDK version number from a the library version (VERSION_3DSMAX).
#define MAX_SDK_REV 0 |
Denotes the revision of the SDK for a given API.
This is incremented. when the SDK functionality changes in some significant way (for instance a new GetProperty() query response is added), but the headers have not been changed. While in beta, increment Rev for beta build.
#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().
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.
maxRelease | the version of max from the Version Macros Version Macros to check against |
maxExt | the extension version to check against |
CoreExport unsigned int GetMaxExtensionVersion | ( | ) |
Returns the 3ds Max extension number.
It returns 0 if there's no extension installed.