About Max.NET
Max.NET is a .NET CLR wrapper for 3d Studio Max's (3dsmax) software development kit (SDK).
It allows developers to write tools for 3dsmax in a managed and reflective environment using any of the common .NET languages such as C#, VB.net, J#, and C++/CLI. Moreover it provides access to all of the classes and their members accessible to normal unmanaged SDK.
This carries a number of benefits over traditional development procedures, which include:
-
The obvious benefits of using a managed language: garbage collection prevents serious memory bugs, ability to use reflection, integration with the rest of the .NET framework, and much better IDE support.
-
Plug-ins compiled are forward and backward compatible: the interface assembly they link to doesn't depend on Max.NET implementation.
-
Plug-ins compiled are x86/x64 platform neutral: compiled IL code is platform neutral by definition.
-
Built-in SDK documentation: All of the 3dsmax interfaces used contain full documentation extracted from 3dsmax docs.
-
Unit testing and remote execution: Included remoting framework, along with .NET's great support for remoting allows all plug-ins and 3dsmax scenes to be unit-tested straight from the IDE, providing a very agile approach to tools development.
-
Dynamic loading/unloading of assemblies inside 3dsmax: I have added this feature to be able to not to restart 3dsmax once changes are done to a plug-in. MaxDotNet simply re-loads the modified assemblies with the current scene so that testing/development can be continued un-interrupted.