In 3ds Max 2013 we've included the .NET API which was first released to with 3ds Max 2012 Subscription Advantage Pack. This API makes most of the C++ SDK available to .NET languages like C# and Visual Basic.
The .NET API resides entirely in a .NET assembly called Autodesk.Max.dll which can be found in the root folder of your 3ds Max 2013 installation. For more information on using it see:
In November 2010 I shared a project with ADN members called MaxSharp. MaxSharp is a wrapper around Autodesk.Max.DLL written in C# which was intended to provide a programmer friendly interface that was more in-line with what people expected from high-level programming languages like C#.
We have decided to retire MaxSharp in favor of other API development efforts so I'm posting the source code here as a sample of how to use the new 3ds Max 2013 .NET API.
Download MaxSharp source code and examples
More About MaxSharp
MaxSharp provides a set of classes that each wrap classes from the Autodesk.Max namespace. These wrapper classes are intended to facilitate programming by providing a smaller interface, default parameters, and utility functions that are more consistent with idiomatic C# programming.
Each wrapper provides public access to the wrapped object as a property prefixed with an underscore. For example the _Node property from the MaxSharp.Node class provides access to the Autodesk.Max.IINode class.
Creating a "wrapped" Animatable derived object requires that the programmer use the factory function or a special constructor :
Animatable.CreateWrapper<T>(IAnimatable x)
Other classes have regular constructors or implicit conversions you can use.
While there are a few dozen classes and several hundred functions in the MaxSharp library, it represents a very small percentage of the entire .NET API. Nonetheless it should be relatively easy to extend for your own personal use or as a reference to figure out how to accomplish common tasks using the .NET API.
Have fun!!