Documentation / Civil 3D

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. 


Customize Civil 3D or create applications using the underlying APIs. You can refer to the Developer's 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


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.


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's 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.