Autodesk Civil 3D APIs

There are three APIs available for customizing Autodesk Civil 3D:

The COM and .NET APIs are described in this guide. For more information about the Custom Draw API, see the Custom Draw API Reference (civildraw-reference.chm).

In addition, an API is provided for creating custom subassemblies in .NET. See Creating Custom Subassemblies Using .NET.

Which API you choose to use depends on what you want to do:

If you want to: Use:
Customize the way objects are rendered in Autodesk Civil 3D the Custom Draw API. The Custom Draw API is an extension of the AutoCAD ObjectARX API. For example, if you wanted to number the triangles on a TIN surface, you could create a DLL using the Custom Draw API. See the sample applications shipped with Autodesk Civil 3D for an example.
Create macros to automate repetitive actions .NET or COM API.
Create applications to manipulate Autodesk Civil 3D objects .NET or COM API.
Note:

Where possible, you should use the Civil .NET API instead of the COM API, especially for longer operations, as the .NET API is a thin layer to Civil objects and has better performance. However, you may find you need to use the COM object to access some functionality or object members that are not yet exposed by the .NET API. In this case it's possible to use both. See Limitations and Using Interop .