MCP Connector for Civil 3D Documentation
Complete guide to installing, configuring, and using MCP Connector for Civil 3D - 251 tools by default, including the 39 free read-only tools, driven by Claude Desktop, ChatGPT Desktop, Cursor, or Claude Code.
MCP Connector for Civil 3D connects AI assistants to a live Autodesk Civil 3D session on your machine. Once connected, your AI can read and author the drawing: surfaces, alignments, profiles, pipe networks, COGO points, sample lines and sections, alongside the full AutoCAD drawing tool set for geometry, layers, blocks, external references, annotation and layouts. Two parts ship together and talk over a local connection: an MCP server your AI client launches, and a plug-in that loads inside Civil 3D. Nothing needs to be configured between them.
251 tools are served by default: 189 inherited from the AutoCAD drawing surface and 62 that exist only because the host is Civil 3D. 39 of the 189 are free and read-only. Every Civil tool needs a Pro licence, and every tool that edits objects in bulk previews the change before it writes.
Supported Civil 3D Versions
- Civil 3D 2024
- Civil 3D 2025
- Civil 3D 2026
- Civil 3D 2027
Civil 3D 2023 and earlier are not supported. Autodesk does not publish a managed Civil 3D API package for those releases, so there is nothing to build against. Windows 10 or 11, 64-bit.
If you work in plain AutoCAD rather than Civil 3D, use MCP Connector for Civil 3D instead. That one covers AutoCAD 2022 to 2027. This connector already contains the whole AutoCAD tool set, so you do not need both.
AI Applications
- Claude Desktop
- ChatGPT Desktop
- Cursor
- Claude Code
- VS Code (GitHub Copilot agent mode)
- Visual Studio 2022 17.14+ / 2026 (GitHub Copilot)
- GitHub Copilot CLI
- Grok Build (xAI CLI)
Installation
Make sure all running instances of Autodesk Civil 3D are closed before starting the installation.
.exe file and follow the installation wizard, accepting the licence agreement and privacy policy. One install covers every supported Civil 3D release, so there is nothing to choose.MCPCONNECTORC3D_STATUS at the command line confirms it is running, and MCPCONNECTORC3D_START starts it if it is not.
Enabling MCP Connector for Civil 3D
After installation, click the MCP Connector button in the Add-ins tab to open the connector dialog, then toggle Enable MCP to start the connection. No licence key is needed for the free tools - the key only unlocks the Pro set.
The dialog shows the status of detected AI applications:
- Ready (Running) - The AI application is configured to reach Civil 3D and is currently open
- Ready - Configured, but the application is not running right now
- Detected - The application is installed but not yet configured; toggle Enable MCP to configure it
- Not Detected - The AI application is not installed on this machine
The indicator at the top of the dialog reads Disabled, Waiting, or Active. Toggling Enable MCP off again removes the connector from every detected client's configuration.
Configuration
MCP Connector for Civil 3D includes one-click auto-configuration for supported AI applications. Toggling Enable MCP in the connector dialog writes the configuration for every detected application at once. The installer also registers the server on install, so in most cases there is nothing to do by hand.
Claude Desktop
The config file is located at:
%APPDATA%\Claude\claude_desktop_config.json
The Microsoft Store build never reads %APPDATA%\Claude - Windows redirects that folder into a sandboxed package location. MCP Connector for Civil 3D detects the Store package and writes to both paths, so the Store build is configured automatically. The redirected file lives here:
%LOCALAPPDATA%\Packages\Claude_<hash>\LocalCache\Roaming\Claude\claude_desktop_config.json
If tools still do not appear, fully quit Claude from the system tray (closing the window is not enough) and reopen it.
ChatGPT Desktop
ChatGPT appears in the dialog when it is installed on your machine. The config file is located at:
%USERPROFILE%\.codex\config.toml
This file is shared with the Codex CLI, so configuring ChatGPT Desktop makes the Civil 3D tools available in Codex CLI as well. After configuring, fully quit ChatGPT and reopen it. With AutoCAD open and a drawing loaded, a quick test is to ask ChatGPT to "ping AutoCAD".
Use Work, not Chat. ChatGPT Desktop loads MCP servers from this config file in its Work area only - regular Chat conversations cannot see the AutoCAD tools. If ChatGPT replies that the AutoCAD MCP is not connected, check you are in Work first, then start a fresh conversation - the MCP connection is per-conversation and drops after sitting idle.
Cursor
The config file is located at:
%USERPROFILE%\.cursor\mcp.json
GitHub Copilot
GitHub Copilot appears in the dialog when VS Code, Visual Studio, or the Copilot CLI is installed on your machine. The config files are located at:
%APPDATA%\Code\User\mcp.json
%USERPROFILE%\.mcp.json
%USERPROFILE%\.copilot\mcp-config.json
Grok Build
Toggle Enable MCP and the connector writes its entry into xAI's Grok Build CLI configuration automatically. The config file is located at:
%USERPROFILE%\.grok\config.toml
Grok Build also reads Claude Code's and Cursor's MCP config, so if you have already configured either of those the connector shows up in Grok Build with no extra step.
Claude Code & other MCP clients
MCP Connector for Civil 3D exposes a standard MCP stdio server, so it also works with Claude Code, VS Code, and any other MCP-compatible client. The server is a single executable installed with the plug-in bundle:
C:\Program Files\Autodesk\ApplicationPlugins\AUTOM8LABS.MCPConnectorCivil3D.bundle\Contents\Bridge\MCPConnectorCivil3D.Bridge.exe
Register it in Claude Code from a terminal:
claude mcp add AUTOM8LABS_Civil3D -- "C:\Program Files\Autodesk\ApplicationPlugins\AUTOM8LABS.MCPConnectorCivil3D.bundle\Contents\Bridge\MCPConnectorCivil3D.Bridge.exe"
Manual configuration (any MCP client)
Add this to your client's MCP server configuration:
{
"mcpServers": {
"AUTOM8LABS_Civil3D": {
"command": "C:\\Program Files\\Autodesk\\ApplicationPlugins\\AUTOM8LABS.MCPConnectorCivil3D.bundle\\Contents\\Bridge\\MCPConnectorCivil3D.Bridge.exe"
}
}
}
VS Code
VS Code uses a slightly different shape. Add the server to your MCP configuration (for example .vscode/mcp.json in a workspace):
{
"servers": {
"AUTOM8LABS_Civil3D": {
"type": "stdio",
"command": "C:\\Program Files\\Autodesk\\ApplicationPlugins\\AUTOM8LABS.MCPConnectorCivil3D.bundle\\Contents\\Bridge\\MCPConnectorCivil3D.Bridge.exe"
}
}
}
After changing MCP configuration, restart the AI client completely for the changes to take effect.
Optional: raw command execution
Two tools can drive the host directly: execute_command runs a raw command string as if
typed at the command line, and execute_lisp evaluates an AutoLISP expression. Because they
can drive anything, both are disabled by
default: they are neither listed nor callable until you opt in on that machine by
setting MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1 in the MCP client configuration.
Even when enabled, code-loading and shell verbs (NETLOAD, APPLOAD, SCRIPT, SHELL, AutoLISP
load) are blocked. Both tools are Pro, so a licence is needed as well as the opt-in.
After saving the configuration, fully quit and reopen your AI client - quit it from the system tray rather than just closing the window, or it keeps the old environment and the two tools still will not appear. To turn them off again, remove the setting and restart the client the same way.
{
"mcpServers": {
"AUTOM8LABS_Civil3D": {
"command": "C:\\Program Files\\Autodesk\\ApplicationPlugins\\AUTOM8LABS.MCPConnectorCivil3D.bundle\\Contents\\Bridge\\MCPConnectorCivil3D.Bridge.exe",
"env": {
"MCP_CONNECTOR_ENABLE_COMMAND_EXEC": "1"
}
}
}
}
Optional: read-only session
A read-only session withholds every tool that can change a drawing, leaving the free read-only set: query, inspect, measure and navigate. A withheld tool is not listed to the AI client at all, and is refused by name if it is called anyway, so the AI cannot reach a write.
It is worth using whenever the drawings belong to a client rather than to you. DWG is usually the format that arrives from someone else. An in-session change can still be undone in Civil 3D, but the folder tools save each drawing as they go, so those edits are on disk already - and an unwanted change does not always announce itself on screen.
Turn it on with the Read-Only Session checkbox in the connection
dialog, or by running MCPCONNECTORC3D_READONLY at the Civil 3D command line.
Either way, reconnect your AI client afterwards so it refreshes its
tool list.
Locking it on for a team. An administrator can enforce read-only across a machine, so it applies to every user and cannot be switched off locally. That is a deployment setting rather than something to set up per seat - get in touch and we will send you the policy and how to apply it.
Claude Desktop Settings
MCP Connector for Civil 3D exposes 189 tools, plus two optional command-execution tools that stay disabled until you opt in. In Claude Desktop, enable Load tools when needed so tools are loaded on demand rather than all at once.
Use Chat, not Cowork
Claude Desktop has a mode selector at the bottom of the message box: Chat and Cowork. MCP connectors run in Chat conversations. In Cowork, your AutoCAD requests will not reach the connector and Claude behaves as if AutoCAD is not connected - even though the connector is configured correctly. Before you start, check the selector is set to Chat.
Note this is the opposite way round to ChatGPT Desktop, where the Civil 3D tools are available in Work rather than regular Chat.
Operator Skill
An operator skill is a plain text playbook Claude reads before touching your drawing. It teaches Claude to use the connector efficiently: read in bulk instead of one entity at a time, verify answers with counts, batch edits in one call, and say so instead of guessing when something cannot be done. The result is fewer calls, fewer dead chats, and far less of your usage allowance burned on a single question.
The free AutoCAD operator skill covers the drawing tools this connector inherits, which is most of the tool set, so it is worth installing. A skill for the Civil design tools is in progress.
Install in Claude Desktop:
- Download the skill: autocad-connector.zip
- In Claude Desktop, go to Settings > Skills > Add > Upload a skill and select the zip.
- That is it - Claude picks the skill up automatically in new chats. If you ever find it has not, mention it in your prompt, for example "Follow the autocad-connector skill".
Using Claude Code or Cursor instead? Install steps for both are in the mcp-connector-skills repository, which also hosts free skills for the rest of the MCP Connector family.
Quickstart
MCPCONNECTORC3D_STATUS confirms it is running.ping tool. You should get back a confirmation that it is connected.Tool Reference
MCP Connector for Civil 3D serves two sets of tools, grouped by category below. The Civil design tools come first, then the AutoCAD drawing tools the connector inherits, including a read-only free tier that works without a licence. Every tool name shown is the exact identifier exposed to your AI client. The Edition column shows whether a tool is available in the free edition or needs a Pro licence. A tool marked Opt-in does not register at all until you enable it - see raw command execution. Under each description is an example prompt showing how to ask for it in natural language - click any prompt to copy it, paste it into your AI client, and adjust the names and numbers to suit your drawing.
Civil design objects
These tools exist only because the host is Civil 3D. Every one of them needs a Pro licence. Anything that edits objects in bulk previews the change and reports what it would do before it writes, so you approve the edit rather than discover it.
Civil: Overview
| Tool | Example prompt | Edition |
|---|---|---|
| Summarise the Civil design data in the drawing: counts of surfaces, alignments, profiles, profile views, corridors, assemblies, pipe networks, point groups, COGO points, sites, parcels and feature lines | ||
get_civil_document_info | What Civil objects are in this drawing? Give me the counts before we start | Pro |
| List the sites in the drawing with the count of parcels, feature lines and alignments each one owns | ||
list_sites | List the sites in this drawing and what each one owns | Pro |
Civil: Surfaces
| Tool | Example prompt | Edition |
|---|---|---|
| List the surfaces in the drawing with their kind (TIN, grid, TIN volume, grid volume), style, point count, elevation range and whether they are out of date | ||
list_surfaces | List every surface with its point count and elevation range, and tell me which ones are out of date | Pro |
| Full detail for one surface: elevation and coordinate extents, point count, TIN triangle statistics, and the ordered list of definition operations that build it (boundaries, breaklines, point files, DEM, drawing objects) | ||
get_surface_info | Show me how the Existing Ground surface is built, operation by operation | Pro |
| Sample a surface at one or more plan positions, returning elevation, slope and aspect direction at each | ||
get_surface_elevation | What is the elevation of Existing Ground at easting 412500, northing 287300? | Pro |
| Report earthwork volumes | ||
get_surface_volume | Give me the cut and fill between Existing Ground and Proposed | Pro |
| Create a TIN surface and optionally build it in the same call from a COGO point group, a coordinate file, or a DEM file | ||
create_surface | Create an empty TIN surface called Proposed using our standard surface style | Pro |
| Add data to an existing surface's definition: a COGO point group, an outer or hide boundary polygon, breaklines from drawing entities, or drawing objects (3D polylines, points, blocks) | ||
add_surface_definition | Add the point group Survey 2026 to the Existing Ground surface as a definition | Pro |
| Rebuild one surface by name, or every surface in the drawing that is out of date | ||
rebuild_surface | Rebuild Existing Ground, it is showing as out of date | Pro |
| Create a TIN volume surface between a base (existing) and a comparison (proposed) surface, and return its cut, fill and net volumes | ||
create_volume_surface | Create a volume surface comparing Proposed against Existing Ground | Pro |
| Create a new TIN surface a fixed vertical distance above or below an existing one, by copying its triangulation and shifting every vertex | ||
create_offset_surface | Create a surface 0.5 below Existing Ground so I can check formation level | Pro |
| Sample a surface along a route and return elevation, slope and running chainage at each station | ||
sample_surface_along_line | Walk Existing Ground along my selected polyline at 5 metre intervals and give me the elevations | Pro |
| Convert TIN surfaces into 3D solids for coordination or clash detection, in one pass over several surfaces | ||
extract_surface_solids | Extract the volume between Existing Ground and Proposed as a solid I can hand to the contractor | Pro |
Civil: Alignments
| Tool | Example prompt | Edition |
|---|---|---|
| List the alignments in the drawing with their type (centreline, offset, curb return, rail), site, length, start and end station, style, and whether design criteria or design checks are in force | ||
list_alignments | List the alignments in this drawing with their start and end stations | Pro |
| Return the horizontal geometry of one alignment as an ordered list of sub-entities (lines, arcs, spirals) with start and end station, length, start and end point, and for arcs the radius, delta angle and direction | ||
get_alignment_geometry | Break down the geometry of alignment DUCT-01, entity by entity | Pro |
| Convert between plan coordinates and station/offset along an alignment | ||
get_alignment_station_offset | What station and offset is easting 412500, northing 287300 on DUCT-01? | Pro |
| Create an alignment from an existing polyline, line or arc in the drawing, named by its handle | ||
create_alignment_from_entity | Turn the polyline I have selected into an alignment called DUCT-02 | Pro |
| Create an alignment offset a fixed distance from an existing one | ||
create_offset_alignment | Create an alignment 3 metres left of DUCT-01 for the second duct run | Pro |
Civil: Profiles and profile views
| Tool | Example prompt | Edition |
|---|---|---|
| List the vertical profiles in the drawing, grouped by the alignment that owns them | ||
list_profiles | List the profiles on DUCT-01 and tell me which surface each one came from | Pro |
| Return the vertical geometry of one profile: every PVI with station, elevation, grade in and grade out, plus the ordered tangent and vertical-curve entities with their length, start and end elevation and minimum K values for stopping, passing and headlight sight distance | ||
get_profile_geometry | Show me the PVIs and grades on the DUCT-01 design profile | Pro |
| Sample a profile at one or more stations, returning elevation and grade at each | ||
get_profile_elevation | What is the design profile elevation at station 340 on DUCT-01? | Pro |
| List the profile views in the drawing with their parent alignment, style, station range, elevation range and whether the view is split | ||
list_profile_views | List the profile views in this drawing and what each one shows | Pro |
| Create a profile along an alignment by sampling a surface, which gives the existing ground line for that route | ||
create_profile_from_surface | Create an existing ground profile on DUCT-01 from the Existing Ground surface | Pro |
| Create a design profile on an alignment from explicit PVIs, each a station and elevation, with optional vertical curve lengths | ||
create_profile_by_layout | Create a duct invert profile on DUCT-01 held 1.2 metres below the existing ground profile the whole way | Pro |
| Create a profile view for an alignment at a given insertion point | ||
create_profile_view | Draw a profile view for DUCT-01 showing both the ground and the duct invert | Pro |
Civil: Pipe and duct networks
| Tool | Example prompt | Edition |
|---|---|---|
| List the gravity pipe networks in the drawing with their parts list, pipe and structure counts, and the reference alignment and reference surface each network is tied to | ||
list_pipe_networks | List the pipe networks in this drawing with pipe and structure counts | Pro |
| Read the pipes in a gravity network with their start and end invert elevations, slope, length, inner and outer diameter, cross-sectional shape, flow direction, cover at each end, the start and end station along the network's reference alignment, and the structures at each end | ||
get_pipes | List every pipe in DUCTBANK-A with its length, size, inverts and cover | Pro |
| Read the structures in a gravity network with their rim and sump elevation, insertion point, northing and easting, station and offset along the network's reference alignment, bounding shape, connected pipe count and names, and whether the rim tracks the reference surface automatically | ||
get_structures | List the manholes in DUCTBANK-A with their rim and sump levels | Pro |
| Create an empty gravity pipe network, optionally tied to a reference alignment and reference surface | ||
create_pipe_network | Create a new network called DUCTBANK-B using our LV duct parts list | Pro |
| Lay a run of structures and the pipes connecting them along a path | ||
add_pipe_run | Run 150mm duct along DUCT-02 from a start invert of 42.30 falling at 1 in 200, with a handhole every 50 metres | Pro |
| Edit pipes in a network: set start and end elevations against the invert, crown or centreline datum, regrade to a slope holding either end, shift both ends, swap the part size, or set the description | ||
set_pipe_properties | Drop the invert of the run between MH12 and MH13 by 150mm, and show me the change before you make it | Pro |
| Edit structures in a network: set rim and sump elevation, drop the rim to a reference surface, set the sump a fixed depth below the lowest connected pipe, swap the part size, or set the description | ||
set_structure_properties | Set the rim level of every manhole in DUCTBANK-A to the Existing Ground surface | Pro |
| List the pipe and structure part families in a parts list, each with the number of sizes it offers | ||
list_parts_list | What parts lists are in this drawing, and what sizes does the LV duct family offer? | Pro |
| Read a pipe's invert, crown and centreline level at any position along it, not just at its ends | ||
get_pipe_invert_at | What is the invert of the duct between MH12 and MH13 at station 215? | Pro |
Civil: Crossings and clearance
| Tool | Example prompt | Edition |
|---|---|---|
| Find where pipes cross in plan and report the vertical clearance at each crossing | ||
check_pipe_crossings | Check DUCTBANK-B against the existing services for crossings, 300mm hard clearance and 600mm soft, measured from invert | Pro |
Civil: COGO points
| Tool | Example prompt | Edition |
|---|---|---|
| List the COGO point groups in the drawing with their point count, description, lock state, whether they are out of date, and which point or label style overrides each group applies | ||
list_point_groups | List the point groups in this drawing and how many points each holds | Pro |
| Read COGO points with their number, name, northing, easting, elevation, and raw and full description | ||
get_cogo_points | List the points in the Manholes group with their coordinates and descriptions | Pro |
| Create COGO points from coordinates supplied directly, each with an optional description | ||
create_cogo_points | Add a point at easting 412500, northing 287300, elevation 43.2, described as LP for a lighting column | Pro |
| Create or update a COGO point group defined by a membership query: include or exclude by raw description (wildcards allowed), by point number range, by point name, or include every point | ||
create_point_group | Create a point group called Lighting that collects every point with a description starting LP | Pro |
| Bulk-edit COGO points: apply a point style, a label style, a raw description, or an elevation offset | ||
set_cogo_point_properties | Move every point in the Lighting group onto our standard point style, and preview it first | Pro |
| Import COGO points from a delimited coordinate file (CSV or TXT) using one of the drawing's point file formats | ||
import_cogo_points | Import the survey CSV at C:\Project\Survey\topo.csv as COGO points | Pro |
| Export COGO points to a delimited coordinate file using one of the drawing's point file formats | ||
export_cogo_points | Export the Manholes point group to a CSV for the setting-out team | Pro |
| List the COGO point file formats available in this drawing, with each format's delimiter, file extension and column layout | ||
list_point_file_formats | What point file formats can I import from? | Pro |
| Calculate the station and offset of COGO points against an alignment and record them on each point, so a set of surveyed assets - poles, luminaires, manholes - can be scheduled by chainage | ||
add_station_offset_to_points | Add the station and offset along DUCT-01 to every point in the Manholes group | Pro |
Civil: Sample lines and sections
| Tool | Example prompt | Edition |
|---|---|---|
| List the sample line groups in the drawing with their parent alignment and, for each group, the sample lines with station, number and style | ||
list_sample_line_groups | List the sample line groups in this drawing and what they sample | Pro |
| Create a sample line group on an alignment and cut sample lines along it, either at a regular station interval or at explicit stations | ||
create_sample_line_group | Cut sample lines along DUCT-01 every 20 metres, sampling Existing Ground and DUCTBANK-A | Pro |
| Create a section view for each sample line in a group, laid out on a grid from an insertion point | ||
create_section_views | Draw the section views for the DUCT-01 sample lines | Pro |
Civil: Corridors, parcels and feature lines
| Tool | Example prompt | Edition |
|---|---|---|
| List the corridors in the drawing with their baselines (each with its alignment, profile and regions), the assemblies each region applies, the corridor surfaces built from them, and whether the corridor is out of date and needs a rebuild | ||
list_corridors | List the corridors in this drawing with their baselines and regions | Pro |
| List the assemblies in the drawing with their type and the subassemblies inside each group, including which side each subassembly sits on | ||
list_assemblies | What assemblies are in this drawing and what subassemblies do they use? | Pro |
| List the parcels in the drawing grouped by site, with parcel number, name, area, style, address and tax id | ||
list_parcels | List the parcels in this site with their areas | Pro |
| List the feature lines in the drawing, both inside sites and siteless, with their style, point counts, elevation range, and minimum and maximum grade | ||
list_feature_lines | List the feature lines in this drawing with their lengths and elevation ranges | Pro |
Civil: Styles, layers and standards
| Tool | Example prompt | Edition |
|---|---|---|
| List the Civil object styles in the drawing by kind (surface, alignment, profile, profile view, corridor, pipe, structure, parcel, point, feature line, section, section view, sample line, marker, link, shape and more), with each style's name, description and whether anything in the drawing uses it | ||
list_civil_styles | List the Civil styles in this drawing by type so I can see what we inherited | Pro |
| Delete Civil object styles that nothing in the drawing uses, across one style collection or all of them | ||
purge_civil_styles | Show me which Civil styles are unused, then purge them | Pro |
| List the point description key sets and their keys: the field code each matches, and the point style, label style, layer and format it applies | ||
list_description_keys | What description key sets are in this drawing and what do they match? | Pro |
| Read the object layer settings: which layer each kind of Civil object is created on, plus any prefix or suffix modifier and whether the setting is locked | ||
get_object_layer_settings | What layers do new Civil objects get created on in this drawing? | Pro |
| Set which layer each kind of Civil object is created on | ||
set_object_layer_settings | Move Civil object creation onto our company layers, and preview every change first | Pro |
Civil: Labels
| Tool | Example prompt | Edition |
|---|---|---|
| Add major and minor station labels along one alignment or every alignment matching a filter | ||
label_alignment_stations | Add major and minor station labels to DUCT-01 | Pro |
| Label the pipes and structures of a gravity network in plan | ||
label_pipe_network | Label every pipe and structure in DUCTBANK-A with our standard label styles | Pro |
Civil: Export and utility
| Tool | Example prompt | Edition |
|---|---|---|
| Export the Civil model to a spreadsheet, one sheet per requested section: pipes (with length, size, slope, inverts, cover and the structures at each end), structures (rim, sump, station and offset, connected pipes), points (number, coordinates, description), alignments (length, station range), parcels (number, area) and surfaces (area statistics and volumes) | ||
export_civil_quantities | Export the pipes, structures and points in this drawing to a spreadsheet, one sheet each | Pro |
| Zoom the current view to a named Civil object: an alignment, profile view, surface, pipe network, structure, pipe, parcel or sample line group | ||
zoom_to_civil_object | Zoom to the DUCTBANK-A network so I can see it | Pro |
| Find autosave and recovery files left behind by a crash, including ones the Drawing Recovery Manager does not list | ||
find_recoverable_drawings | Are there any recoverable drawings or autosaves for this project folder? | Pro |
| Restore an autosave file found by find_recoverable_drawings to a real .dwg at a location you choose | ||
recover_drawing | Recover the damaged drawing at C:\Project\DWG\Site-Plan.dwg | Pro |
Connectivity
| Tool | Example prompt | Edition |
|---|---|---|
| Check that the AI client can reach a running Civil 3D session | ||
ping | Ping Civil 3D and tell me if you are connected | Free |
Drawing and Document
| Tool | Example prompt | Edition |
|---|---|---|
| Audit the drawing database and optionally fix errors | ||
audit_drawing | Audit this drawing and fix any database errors you find | Pro |
| Copy entities and paste them at their original coordinates, within or between drawings | ||
copy_to_original_coordinates | Copy the selected setting-out lines into Site-Plan.dwg at their original coordinates | Pro |
| Mark a point to roll back to, optionally saving a copy of the drawing first | ||
create_checkpoint | Set a checkpoint and save a backup copy before you start the layer clean-up | Pro |
| Detect likely drawing units by inspecting extents, entity sizes, and system variables | ||
detect_units | This survey DWG has no units set - work out what the units really are from the extents and entity sizes | Free |
| Read drawing information: file path, units, extents, layer and entity counts | ||
get_drawing_info | What are the units, extents, and layer and entity counts for this drawing? | Free |
| Read the value of a system variable | ||
get_system_variable | What is DIMSCALE set to in this drawing? | Free |
| Create a new blank drawing, optionally from a template | ||
new_drawing | Start a new drawing from our A1 template at C:\Standards\A1-Sheet.dwt | Pro |
| Open a DWG, DXF or DWT file, or switch to it if already open | ||
open_drawing | Open C:\Project\DWG\Site-Plan.dwg | Pro |
| Purge unused named objects to reduce file size | ||
purge_drawing | Purge every unused block, layer, and style from this drawing | Pro |
| Redo changes that were just undone (call it straight after undo) | ||
redo | Actually that was right, redo it | Pro |
| Revert every change made since the last checkpoint, in one step | ||
rollback_checkpoint | That has gone wrong, roll everything back to the checkpoint | Pro |
| Save the drawing, optionally to a new DWG or DXF path | ||
save_drawing | Save this drawing as a 2018 format DWG to C:\Project\Issue\Plan-A.dwg | Pro |
| Set a system variable to a new value | ||
set_system_variable | Set LTSCALE to 0.5 and turn FILEDIA back on | Pro |
| Set linear and angular units, insertion scale, and display precision | ||
set_units | Set this drawing to millimetres with 2 decimal places and degrees for angles | Pro |
| Undo the last changes, one tool call per step | ||
undo | Undo the last three things you did | Pro |
Entities and Selection
| Tool | Example prompt | Edition |
|---|---|---|
| Delete a named selection set; the entities themselves are untouched | ||
delete_selection_set | Delete the saved selection set called Fire strategy | Pro |
| List entities, filtered by type, layer, or bounding box, with pagination | ||
get_entities | List every polyline on the layer A-WALL with its layer and geometry | Free |
| Read full details of a specific entity by its handle | ||
get_entity_by_handle | Give me the full details of entity 2A7F | Free |
| Count entities, optionally broken down by type or layer | ||
get_entity_count | How many entities are in this drawing, broken down by layer? | Free |
| Read the full property set of one or more entities | ||
get_entity_properties | Read the full properties of the selected entities including linetype and lineweight | Free |
| Read the entities currently selected in Civil 3D | ||
get_selected_entities | What have I got selected right now? | Free |
| Extract portable geometry data (lines, polylines, arcs, circles, ellipses, splines) from the current selection | ||
get_selected_geometry | Extract the geometry of my selection as coordinates so we can work with it | Pro |
| Count the entities in the current selection | ||
get_selection_count | How many entities are in my current selection? | Free |
| List the named selection sets saved in the drawing, with how many of their entities still exist | ||
list_selection_sets | What selection sets are saved in this drawing? | Free |
| Select the entities of a named selection set so the next tool acts on them | ||
recall_selection_set | Select everything in the saved set called Fire strategy | Pro |
| Save the current selection, or a list of handles, as a named set stored in the drawing | ||
save_selection_set | Save what I have selected as a set called Fire strategy | Pro |
Geometry Creation
| Tool | Example prompt | Edition |
|---|---|---|
| Create an arc from centre, radius and angles, or from three points | ||
create_arc | Draw an arc through the points 0,0 then 1000,500 then 2000,0 | Pro |
| Trace the closed boundary around a point, with islands, and keep it as a polyline | ||
create_boundary | Trace the outline of the room I am pointing at, at 4200,3100, and keep the boundary | Pro |
| Create a circle from centre point and radius | ||
create_circle | Draw a 450 radius circle at 2500,3000 on layer S-COLS | Pro |
| Create an ellipse from centre, major axis endpoint, and axis ratio | ||
create_ellipse | Draw an ellipse at 5000,5000 with a 2000 major axis and a 0.5 axis ratio | Pro |
| Create a hatch fill inside a closed boundary, including solid and gradient fills | ||
create_hatch | Hatch inside the selected boundary with ANSI31 at scale 25 | Pro |
| List the hatch pattern names create_hatch can use: patterns already carried by hatches in the drawing, plus the predefined names from the pattern file in force | ||
list_hatch_patterns | Which hatch patterns can I use in this drawing? | Free |
| Create a line between two points | ||
create_line | Draw a line from 0,0 to 5000,0 on the layer A-GRID | Pro |
| Create multiline text with formatting, width wrapping, and text styles | ||
create_mtext | Add a note at 1000,500 reading All dimensions to be checked on site, wrapped to 3000 wide | Pro |
| Create a NURBS spline from full B-spline data (degree, control points, knots, weights) | ||
create_nurbs_curve | Create a degree 3 NURBS curve from these control points and knots | Pro |
| Create a 2D or 3D polyline, with arc segments, widths, and closure | ||
create_polyline | Draw a closed polyline through 0,0 then 6000,0 then 6000,4000 then 0,4000 on layer A-WALL | Pro |
| Create a rectangle as a closed polyline from two opposite corners | ||
create_rectangle | Draw a rectangle from 0,0 to 10000,6000 on layer A-ROOM | Pro |
| Create a spline through fit points or from control points | ||
create_spline | Draw a spline through 0,0 then 1000,800 then 2500,400 then 4000,1200 | Pro |
| Create single-line text | ||
create_text | Put the text GA PLAN at 500,200 at 350 high | Pro |
3D Solids
| Tool | Example prompt | Edition |
|---|---|---|
| Keep the common volume of two solids | ||
boolean_intersect | Keep only the volume where those two solids overlap | Pro |
| Subtract one solid from another | ||
boolean_subtract | Subtract the door opening solid from the wall solid | Pro |
| Unite two 3D solids into one | ||
boolean_union | Union the two selected solids into one | Pro |
| Create a solid box from a corner point and dimensions | ||
create_3d_box | Create a solid box at 0,0,0 measuring 6000 by 4000 by 3000 | Pro |
| Create a solid cone from base centre, base radius, and height | ||
create_3d_cone | Create a cone at 0,0 with a 750 base radius and 2000 height | Pro |
| Create a solid cylinder from centre point, radius, and height | ||
create_3d_cylinder | Create a 300 radius column 3600 tall at 2000,2000 | Pro |
| Create a solid sphere from centre point and radius | ||
create_3d_sphere | Create a 500 radius sphere at 1000,1000,2000 | Pro |
| Create a solid torus from centre, major radius, and minor radius | ||
create_3d_torus | Create a torus at 0,0,1000 with a 1500 major radius and a 100 tube radius | Pro |
| Create a solid wedge from a corner point and dimensions | ||
create_3d_wedge | Create a wedge at 0,0,0 measuring 2000 by 1000 by 800 | Pro |
| Extrude a closed 2D profile into a solid along a direction or path | ||
create_extrusion | Extrude the selected closed polyline up 3000 to make a wall solid | Pro |
| Create a cross-section region where a plane intersects a solid | ||
section_solid | Cut a horizontal section region through the solid at 1200 above its base | Pro |
| Slice a solid with a plane, optionally keeping both halves | ||
slice_solid | Slice the solid vertically at X=3000 and keep both halves | Pro |
Modification
| Tool | Example prompt | Edition |
|---|---|---|
| Align entities by mapping source points to destination points | ||
align_entities | Align the selected detail so its two corner points land on the two points I have picked | Pro |
| Create a circular array around a centre point | ||
array_polar | Array the selected bolt 8 times around 0,0 | Pro |
| Create a rectangular array with rows, columns, and spacing | ||
array_rectangular | Array the selected column 5 columns by 3 rows at 6000 spacing both ways | Pro |
| Break an entity at one point or between two points | ||
break_entity | Break the selected line between 2000,0 and 3000,0 | Pro |
| Create an angled corner between two entities with distances | ||
chamfer_entities | Chamfer the corner between those two lines at 25 by 25 | Pro |
| Change common entity properties: layer, colour, linetype, lineweight, transparency | ||
change_entity_properties | Move the selection onto layer A-ANNO and set its colour back to ByLayer | Pro |
| Convert lines, arcs, or splines into a single polyline | ||
convert_to_polyline | Convert the selected lines and arcs into a single polyline | Pro |
| Copy entities by a displacement vector | ||
copy_entities | Copy the selected block 1200 along X, four times | Pro |
| Create a region from closed coplanar curves | ||
create_region | Make a region from the selected closed boundary | Pro |
| Edit a polyline in place: vertices, bulge, global width, direction, or fillet every corner | ||
edit_polyline | Set the red line boundary to 0.7 wide and round all its corners at 500 radius | Pro |
| Delete entities from the drawing permanently | ||
erase_entities | Delete the selected entities | Pro |
| Explode a compound entity (block reference, polyline, dimension, hatch) into its parts | ||
explode_entity | Explode the selected block into its parts | Pro |
| Extend an entity to meet a boundary edge | ||
extend_entity | Extend that line so it meets the wall line | Pro |
| Create a rounded corner between two entities with a radius | ||
fillet_entities | Fillet those two lines with a 50 radius | Pro |
| Join contiguous lines, arcs, or polylines into a single polyline | ||
join_entities | Join the selected lines and arcs into one polyline | Pro |
| Lengthen or shorten a curve by a delta distance | ||
lengthen_entity | Lengthen the selected line by another 500 | Pro |
| Copy properties from one entity onto others, with per-property control | ||
match_properties | Make the new dimensions match the formatting of the one on grid A | Pro |
| Mirror entities across a line defined by two points | ||
mirror_entities | Mirror the selected entities about a vertical line at X=5000 and keep the originals | Pro |
| Move entities by a displacement vector | ||
move_entities | Move the selected entities 2500 in X and nothing in Y | Pro |
| Create an offset copy of a curve at a specified distance | ||
offset_entity | Offset the selected polyline 100 towards the inside | Pro |
| Rotate entities around a base point by an angle | ||
rotate_entities | Rotate the selection 90 degrees around 0,0 | Pro |
| Scale entities relative to a base point by a uniform factor | ||
scale_entities | Scale the selection up by 1.5 about the point 0,0 | Pro |
| Bring entities to front or send them to back, or place them above or below another entity | ||
set_draw_order | Send that hatch behind the walls so the linework reads again | Pro |
| Stretch what a crossing window touches, moving only the vertices inside it | ||
stretch_entities | Widen the kitchen opening by 300 by stretching everything in that window | Pro |
| Trim an entity at boundary edges defined by other entities | ||
trim_entity | Trim that line back to the two boundary lines I have selected | Pro |
Layers
| Tool | Example prompt | Edition |
|---|---|---|
| Create a new layer with specified properties | ||
create_layer | Create a layer called A-GLAZ in colour 4 with the DASHED linetype | Pro |
| Delete a saved layer state | ||
delete_layer_state | Delete the old DEMOLITION layer state | Pro |
| Freeze one or more layers | ||
freeze_layer | Freeze the layers XREF-SITE and XREF-SERV | Pro |
| List saved layer states with their descriptions and layers | ||
list_layer_states | What layer states are saved in this drawing? | Free |
| List all layers with colour, linetype, lineweight, state, and description | ||
list_layers | List every layer with its colour, linetype, and whether it is frozen or locked | Free |
| Lock one or more layers against editing | ||
lock_layer | Lock the survey layers so nobody edits them by accident | Pro |
| Restore a saved layer state, globally or into one viewport | ||
restore_layer_state | Apply the PROPOSED layer state to the viewport on sheet 03 | Pro |
| Save the current layer settings as a named layer state | ||
save_layer_state | Save these layer settings as EXISTING | Pro |
| Set the current layer for new entities | ||
set_current_layer | Make A-WALL the current layer | Pro |
| Modify or rename an existing layer, including on or off, frozen and locked (a viewport on an off layer keeps its view and loses its frame) | ||
set_layer_properties | Change layer A-ANNO to colour 7 and turn its plot flag off | Pro |
| Thaw one or more layers | ||
thaw_layer | Thaw all the frozen layers | Pro |
| Unlock one or more layers | ||
unlock_layer | Unlock layer S-GRID | Pro |
Blocks
| Tool | Example prompt | Edition |
|---|---|---|
| Count insertions of a block, optionally grouped by layer | ||
count_block_references | How many door blocks are in this drawing, grouped by layer? | Free |
| Create a new block definition from existing entities | ||
create_block_definition | Turn the selected entities into a block called DETAIL-01 with its base point at 0,0 | Pro |
| Read attribute definitions and values from a block reference | ||
get_block_attributes | Read the attributes off the selected title block | Free |
| Read a dynamic block's visibility states, flips, lookups and sizes, with the values each allows | ||
get_dynamic_block_properties | What sizes and swing options does that door block offer? | Free |
| Import block definitions from another DWG, with the unit scale handled, and place them in the same call | ||
import_blocks | Bring the door and window blocks in from the office library DWG and place a 900 door at 4500,2000 | Pro |
| Insert a block reference with scale, rotation, and attribute values | ||
insert_block | Insert the DOOR-900 block at 4500,2000 rotated 90 degrees | Pro |
| List block definitions with entity counts, attributes, and xref status | ||
list_blocks | List every block in this drawing with how many entities it has and whether it carries attributes | Free |
| Rename a block definition, with every reference following it | ||
rename_block | Rename the block DOOR-01 to DOOR-EXTERNAL | Pro |
| Swap block references from one definition to another, keeping position, rotation and attributes | ||
replace_block | Replace every WINDOW-OLD block with WINDOW-2G and keep the attributes | Pro |
| Set an attribute value on a block reference by tag name | ||
set_block_attribute | Set the DRAWN_BY attribute on the selected title block to JG | Pro |
| Set a dynamic block's visibility state, size, flip or lookup value | ||
set_dynamic_block_properties | Change that door to 900 wide with the swing flipped | Pro |
Annotation
| Tool | Example prompt | Edition |
|---|---|---|
| Create an aligned dimension measuring true distance at any angle | ||
create_dimension_aligned | Add an aligned dimension along the sloping wall between those two ends | Pro |
| Create an angular dimension between two lines or from three points | ||
create_dimension_angular | Dimension the angle between the two selected lines | Pro |
| Create a horizontal or vertical dimension between two points, or a whole chain along a wall with the overall in one call | ||
create_dimension_linear | Dimension horizontally between 0,0 and 6000,0 with the dimension line at 0,-800 | Pro |
| Create a radius or diameter dimension on a circle or arc | ||
create_dimension_radius | Add a radius dimension to the selected arc | Pro |
| Create a multileader with an arrow and text annotation | ||
create_leader | Add a leader pointing at 3200,1800 with the text 150mm blockwork | Pro |
| Draw a revision cloud around a rectangle, a polygon, or an existing closed entity | ||
create_revcloud | Cloud the area around the revised bathroom layout | Pro |
| Create a table in a table style with rows, columns and cell data, per-table text heights and margins, and a read-back of the laid-out format | ||
create_table | Create a 6 row by 4 column door schedule at 12000,0 with the headers Mark, Width, Height, Type | Pro |
| Create a wipeout mask so annotation stays legible over hatching | ||
create_wipeout | Put a wipeout behind that note so it reads over the hatch | Pro |
| List the annotation scales defined in the drawing and which one is current | ||
list_annotation_scales | What annotation scales does this drawing have? | Free |
| Make text, dimensions and multileaders annotative and give them the scale representations they appear at | ||
set_annotative | Make the room notes annotative at 1:50 and 1:100 | Pro |
Views and Navigation
| Tool | Example prompt | Edition |
|---|---|---|
| Capture the current viewport to an image file | ||
capture_screenshot | Capture the current view to C:\Temp\check.png and tell me what you can see | Pro |
| Delete a named view | ||
delete_view | Delete the saved view called OLD-SITE | Pro |
| List named views with direction, target, and visual style | ||
list_views | List the named views saved in this drawing | Free |
| Restore a named view | ||
restore_view | Go back to the SITE-ENTRANCE view | Pro |
| Save the current view under a name so it can be restored later | ||
save_view | Save this view as SITE-ENTRANCE | Pro |
| Set the visual style of the current viewport | ||
set_visual_style | Switch the viewport to a shaded visual style | Pro |
| Zoom the viewport to show everything in the drawing | ||
zoom_extents | Zoom out so I can see the whole drawing | Free |
| Zoom to specific entities with optional padding | ||
zoom_object | Zoom to the selected entities with a bit of padding around them | Free |
| Zoom to a rectangular window defined by two corners | ||
zoom_window | Zoom into the area between 0,0 and 10000,8000 | Free |
Layouts and Plotting
| Tool | Example prompt | Edition |
|---|---|---|
| Create several sheets from a template layout with viewport scales, view centres, layer states and title texts set, validated first, one undo step | ||
create_sheets_from_layout | Make sheets 01 to 04 from the A3 template, each viewport at 1:100 on its own block, with the titles filled in | Pro |
| Create a viewport in the current paper space layout | ||
create_viewport | Add a viewport on this layout at 150,100 measuring 250 by 180 at 1:100 | Pro |
| Delete a paper space layout and everything on it | ||
delete_layout | Delete the spare sheet called Layout2 | Pro |
| Copy a layout including its title block, viewports and page setup | ||
duplicate_layout | Copy the A3 template sheet four times for drawings 01 to 04 | Pro |
| Read a layout's plot device, paper size, scale, rotation and plot style table, and where the sheet edge and printable area sit in paper coordinates | ||
get_page_setup | What paper size and plot style is sheet 02 set up for? | Free |
| List layouts with page setup, paper size, and viewport count | ||
list_layouts | List the layouts in this drawing with their paper sizes and viewport counts | Free |
| ISO, JIS, ANSI and ARCH sheet sizes with the plotter's media names, and the metric and imperial scale tables | ||
list_paper_sizes | Which media name is ARCH D landscape on this plotter, and what is 1/4 inch to the foot as a ratio? | Free |
| List the viewports on a layout with scale, position, lock state and frozen layers | ||
list_viewports | List the viewports on sheet 03 with their scales | Free |
| Plot a layout to a PDF file | ||
plot_to_pdf | Plot the A101 layout to C:\Project\Issue\A101.pdf | Pro |
| Rename a paper space layout tab | ||
rename_layout | Rename Layout1 to 01 - SITE LOCATION PLAN | Pro |
| Switch to a layout tab or back to model space | ||
set_current_layout | Switch to the layout called A101 | Pro |
| Set a layout's plot device, paper size and orientation, plot style table with its display and plot flags, scale, rotation and centring; reads back where the paper sits | ||
set_page_setup | Set every sheet to DWG To PDF at A3 with monochrome.ctb | Pro |
| Set a viewport's scale, the model point it shows, its size on the sheet, twist and lock | ||
set_viewport | Set that viewport to 1:100 centred on the barn, then lock it | Pro |
| Freeze or thaw layers in one viewport only, leaving other sheets untouched | ||
set_viewport_layers | Freeze the DEMOLITION layer in the proposed sheet viewport only | Pro |
Styles
| Tool | Example prompt | Edition |
|---|---|---|
| Create a new dimension style, refusing a name that already exists | ||
create_dimension_style | Create a dimension style called A3-1-50 with 2.5 mm text, 2 mm arrows and annotative scaling | Pro |
| Create a new table style: text height, text style and alignment per row type, cell margins and flow direction | ||
create_table_style | Create a compact schedule style with 2 mm text and 0.5 mm margins | Pro |
| Create a new text style, refusing a name that already exists | ||
create_text_style | Create an annotative text style called Notes using Arial | Pro |
| List dimension styles with their key settings | ||
list_dimension_styles | List the dimension styles with their text heights and arrow sizes | Free |
| List loaded linetypes with descriptions and scale factors | ||
list_linetypes | What linetypes are loaded in this drawing? | Free |
| List table styles with their title, header and data row formatting and margins | ||
list_table_styles | What table styles are in this drawing and what text heights do they use? | Free |
| List text styles with font, height, and width factor | ||
list_text_styles | List the text styles with their fonts and heights | Free |
| Load a linetype from a .lin file into the drawing | ||
load_linetype | Load the CENTER and DASHDOT linetypes from acadiso.lin | Pro |
| Create or modify a dimension style: text height, arrows, decimals, overall scale and more | ||
set_dimension_style | Create a dimension style for 1:100 with 250 text and no decimals | Pro |
| Change an existing table style; tables using it follow | ||
set_table_style | Make the data rows in the Schedule style 1.8 mm text | Pro |
| Create or modify a text style: font, height, width factor, oblique angle, bold and italic | ||
set_text_style | Create a text style called NOTES using Arial at 250 high | Pro |
External References
| Tool | Example prompt | Edition |
|---|---|---|
| Attach a raster image such as an OS extract, aerial or scanned survey, sized in drawing units | ||
attach_image | Attach the OS extract at 0,0 and scale it so the site frontage measures 42 m | Pro |
| Attach a page of a PDF as an underlay to trace or check against | ||
attach_pdf_underlay | Bring in page 2 of the topo survey PDF as an underlay | Pro |
| Attach an external DWG as a reference (attach or overlay) | ||
attach_xref | Attach C:\Project\DWG\Site.dwg as an overlay at 0,0 | Pro |
| Scale an attached image, and any traced linework, so two picked points are a known distance apart | ||
calibrate_image | Scale the scanned plan so the grid bay I picked measures 6000 | Pro |
| Clip an xref, image or PDF underlay to a rectangle or polygon | ||
clip_underlay | Clip the aerial photo to just the red line boundary | Pro |
| Detach an external reference completely | ||
detach_xref | Detach the SERVICES xref completely | Pro |
| Read the clip boundary of an xref, image or PDF underlay in drawing coordinates | ||
get_clip_boundary | Is the aerial photo clipped, and where does its boundary run? | Free |
| List external references with paths, status, type, and insertion details | ||
list_xrefs | List the xrefs in this drawing and flag any that are not found | Free |
| Reload external references to pick up source file changes | ||
reload_xref | Reload all the xrefs so I pick up the latest changes | Pro |
| Adjust fade, contrast, brightness, monochrome and visibility of an image or underlay | ||
set_image_display | Fade the survey underlay to 50 percent so my linework reads over it | Pro |
| Trace an attached scan, sketch or photograph into polylines, arcs or splines placed over the image | ||
trace_image | Trace the scanned ground floor plan into linework, then trace the facade in the site photo for context | Pro |
UCS
| Tool | Example prompt | Edition |
|---|---|---|
| Read the current UCS origin and axis vectors | ||
get_ucs | What is the current UCS origin and orientation? | Free |
| List all named UCS entries in the drawing | ||
list_ucs | List the named UCS entries in this drawing | Free |
| Set the UCS from an origin and optional axis directions | ||
set_ucs | Set the UCS origin to 5000,3000 and rotate it 30 degrees | Pro |
Search and Text
| Tool | Example prompt | Edition |
|---|---|---|
| Count occurrences of one or more text patterns | ||
count_text_patterns | Count how many times FFL and SSL appear in this drawing | Pro |
| Search text and attribute values across the drawing | ||
find_text | Find every occurrence of PROVISIONAL in the drawing text and block attributes | Pro |
| Temporarily highlight entities by colour, with restore | ||
highlight_entities | Highlight those entities in red so I can see where they are | Pro |
| Isolate entities by turning off all other layers | ||
isolate_entities | Isolate the selected entities so everything else is hidden | Pro |
| Find and replace text in MText, single-line text, and attributes | ||
replace_text | Replace Rev A with Rev B everywhere in this drawing | Pro |
| Select entities matching property filters | ||
select_by_filter | Select every red polyline on the layer A-WALL | Pro |
| Restore layer states after an isolate operation | ||
unisolate_layers | Put the layers back how they were before I isolated | Pro |
Utility and Measurement
| Tool | Example prompt | Edition |
|---|---|---|
| Run a raw command string as if typed at the command line (does not register until you opt in). Code-loading and shell verbs are blocked. | ||
execute_command | Run the REGENALL command | ProOpt-in |
| Evaluate an AutoLISP expression and return the result (disabled by default; see opt-in). Code-loading and shell forms are blocked. | ||
execute_lisp | Evaluate the AutoLISP expression (getvar "DWGNAME") and tell me the result | ProOpt-in |
| Read the axis-aligned bounding box of one or more entities | ||
get_bounding_box | What is the overall bounding box of the selected entities? | Free |
| Measure areas and place a label at each one, kept clear of door swings and fittings, with an optional schedule table and total | ||
label_areas | Label each room with its floor area in square metres and add a schedule with the total | Pro |
| Measure area and perimeter of a closed entity or point polygon | ||
measure_area | What is the area and perimeter of the selected closed polyline? | Free |
| Measure several closed areas at once, by handle or by a point inside each, converted to square metres or square feet | ||
measure_areas | Give me the floor area of each of these three units in square metres, and the total | Free |
| Measure the distance and angle between two points | ||
measure_distance | What is the distance and angle between 0,0 and 4500,3200? | Free |
| Run a list of tool calls in one round trip as one undo step, each result returned in order | ||
run_batch | Draw all twelve wall segments and hatch them in one go | Pro |
Management Pack
Folder-batch tools for whole-project maintenance. Each one runs over every drawing in a folder using a side database, so your open drawing is never disturbed. Write operations are safe by default: a dry-run mode previews what would change without modifying any file.
| Tool | Example prompt | Edition |
|---|---|---|
| Write a revision letter, date and description into title blocks across chosen layouts or a whole folder | ||
add_revision_to_layouts | Stamp revision P02 dated 28.08.26 "Planning issue" on every sheet in C:\Project\DWG - dry run first | Pro |
| Run a maintenance operation (purge, audit, downsave and more) over every drawing in a folder | ||
batch_process_folder | Purge and audit every drawing in C:\Project\DWG - dry run first | Pro |
| Bind external references into every drawing, saving bound copies to an output folder | ||
bind_xrefs | Bind the xrefs in every drawing in C:\Project\DWG and save the bound copies to C:\Project\Issue - dry run first | Pro |
| Extract block attribute values across a folder to Excel or CSV for schedules and bills of materials | ||
block_attribute_extract | Extract every door block attribute across C:\Project\DWG to C:\Project\door-schedule.xlsx, grouped and counted | Pro |
| Write a per-drawing health report (size, version, counts, broken references) to Excel or CSV | ||
drawing_health_report | Write a health report for every drawing in C:\Project\DWG to C:\Project\health.xlsx | Pro |
| Plot every layout of every drawing in a folder to PDF | ||
dwg_folder_to_pdf | Plot every layout in C:\Project\DWG to PDF, one file per drawing, into C:\Project\Issue - dry run first | Pro |
| Build a drawing register from title-block attributes, one row per drawing and layout, to Excel or CSV | ||
export_drawing_register | Build a drawing register from C:\Project\DWG to C:\Project\register.xlsx | Pro |
| Report proxy objects by class and application across a folder | ||
find_proxy_objects | Report any proxy objects across C:\Project\DWG and write it to C:\Project\proxies.xlsx | Pro |
| Write a layer inventory across a folder to Excel or CSV for standards auditing | ||
layer_report_to_excel | Write a layer inventory for every drawing in C:\Project\DWG to C:\Project\layer-audit.xlsx | Pro |
| Merge source layers into a target layer across a folder, then erase the emptied layers | ||
merge_layers | Merge the layers OLD-WALL and WALL-2 into A-WALL across C:\Project\DWG - dry run first | Pro |
| Erase zero-length and degenerate entities across a folder, with per-file counts | ||
purge_zero_length | Erase the zero length lines and whitespace-only text across C:\Project\DWG - dry run first | Pro |
| Attach a standard set of external references to every drawing in a folder | ||
reattach_xref_set | Attach the project grid and site base xrefs to every drawing in C:\Project\DWG at 0,0 on layer X-REF - dry run first | Pro |
| Apply an old-to-new layer mapping from Excel or CSV to every drawing in a folder | ||
remap_layers_from_excel | Apply the layer mapping in C:\Standards\layer-map.xlsx to every drawing in C:\Project\DWG - dry run first | Pro |
| Fix external reference paths across a folder after a project move | ||
repath_xrefs | The project moved from P:\Old to P:\New - repath the xrefs across C:\Project\DWG by replacing the root, dry run first | Pro |
| Remove excess annotation scales from every drawing in a folder | ||
scale_list_cleanup | Strip every annotation scale except 1:50 and 1:100 from the drawings in C:\Project\DWG - dry run first | Pro |
| Update title block attribute values across a folder, from an inline map or an Excel/CSV sheet | ||
title_block_update | Update the title block attributes across C:\Project\DWG from the sheet at C:\Project\Register.xlsx - dry run first | Pro |
| Update an existing drawing register in place, keeping its formatting, adding an issue column for the revision | ||
update_drawing_register | Add a 28.08.26 issue column to C:\Project\register.xlsx from the drawings in C:\Project\DWG - dry run first | Pro |
| Audit broken, unloaded, nested, and circular external references project-wide | ||
xref_report | Audit the xrefs across C:\Project\DWG and tell me what is broken, unloaded, or circular | Pro |
Troubleshooting
The AI says it is not connected to Civil 3D
- Civil 3D must be running with a drawing open. The connector talks to a live session; it cannot open Civil 3D for you.
- In Civil 3D, run
MCPCONNECTORC3D_STATUSto check the plug-in state. If it reports not running, runMCPCONNECTORC3D_START. - Ask your AI to run the
pingtool. It reports whether the link is up and, if not, why.
The plug-in did not load
- The plug-in auto-loads when Civil 3D starts. If the AUTOM8LABS ribbon is missing, restart Civil 3D, then run
MCPCONNECTORC3D_STARTat the command line. - Confirm the bundle exists at
C:\Program Files\Autodesk\ApplicationPlugins\AUTOM8LABS.MCPConnectorCivil3D.bundle. If it is missing, re-run the installer. - Check that your Civil 3D release is 2024, 2025, 2026 or 2027. Earlier releases are not supported.
Pro tools are missing after activating
- The MCP server reads the edition once, when the AI client starts it. Restart the AI client after activating and the full tool list appears.
- Confirm the licence state in Civil 3D via Manage Licence on the AUTOM8LABS ribbon.
The AI client does not list the server
- Restart the client completely after installing; a window reload is not always enough.
- For clients other than Claude Desktop, ChatGPT Desktop, and Cursor, add the manual configuration yourself.
execute_command or execute_lisp is not available
- Both tools are off by default and do not register at all until you opt in. Set
MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1in the MCP client configuration, then fully quit and reopen the client from the system tray. See Raw command execution. - They are Pro tools, so they also need an active licence. If the opt-in is set and they still do not appear, check the licence first.
FAQ
MCPCONNECTORC3D_LICENCE command, then restart your AI client.
Changelog
First release
- Civil design objects. Surfaces, alignments, profiles and profile views, corridors and assemblies, pipe networks, COGO points, sample lines and sections, parcels, feature lines and sites
- Underground services. Route a run at a fixed cover depth below an existing profile, grade a whole run from a start invert and a slope, and read the invert at any station
- Crossing checks with separate hard and soft clearances, measured from invert, crown or centreline
- Survey and reporting. COGO point import and export through delimited text, point groups and description keys, and a spreadsheet export covering pipes, structures, points, alignments, parcels and surfaces
- Standards. Read and apply object layer settings, list and purge Civil styles, label alignments and pipe networks
- The full AutoCAD drawing tool set is included, so one install covers both
- Every bulk edit previews before it writes and reports what it would change
- Civil 3D 2024, 2025, 2026 and 2027