Civil 3D API
Build applications with dynamic engineering capabilities
Civil 3D® is a dedicated civil engineering tool that uses a 3D model-based environment. This dynamic engineering model automatically updates elements as you make changes to your designs. The Civil 3D APIs allow you to access core software functionality to automate tasks, create custom commands and workflows, interact with objects and data, and integrate with other design software.
APIs
Customize Civil 3D or create applications using the underlying APIs. You can refer to the developer guide for explanations and code samples on how to program with the .NET API and legacy COM API. A complete list of objects is available in the .NET API reference guide.
.NET API
Write plug-ins to Civil 3D in any .NET language. Access the underlying software functionality to work with drawing elements, create custom commands, and more.
COM API
Create Visual Basic for Applications (VBA) macros to run from the command line. The VBA IDE is not included in Civil 3D, but you can download it here. You can create clients that access the API from managed (.NET) or unmanaged (C++) code.
Custom Draw API (in C++)
Use this extension of the AutoCAD ObjectARX API that allows you to customize the way Civil 3D renders objects. The AutoCAD .NET Overrule API can be used for Civil 3D objects.
SDK and tools
Although Civil 3D does not expose an ObjectARX API, applications built with the AutoCAD ObjectARX SDK or the AutoCAD Map ObjectARX SDK will run within Civil 3D. Find out more details about the tools and programming environments supported for customization and application development by referring to the developer guide and API reference guide.
Code samples
Because Civil 3D is based on AutoCAD, you can take advantage of all the AutoCAD source code samples for .NET that are included with the installation of the Civil 3D samples directory. There are also additional Civil 3D specific samples included in the installation.
Community and support
Whether you're an experienced Civil 3D user or just starting out, this is a good place to ask questions, share tips, connect, and learn from others.