
人工智能驱动的土木3D建模
概览
一个MCP服务器,使AI助手能够直接进入Autodesk Civil 3D内部。AI生成的代码是完全可访问API的,而非固定工具。 1. → 获得文档化的 C# 代码模板 2.→ 填充参数,组合模式 3.→ 通过civil3d_execute或civil3d_query 4.→ 在 Civil 3D 内部,提供完整的 API 访问 5.→ 回到 AI 技能文档中有文档的 C# 代码模板,见 skills/: 通过civil3d_execute或civil3d_query执行的代码可访问: 所有Civil 3D命名空间都是自动导入的。 Roslyn 沙箱块包括:- 进程执行(Process.Start)- 文件删除(File.Delete)- 网络请求(HttpClient、Sockets)- 注册表访问 - 动态汇编加载 所有民用3DAPI操作均被允许。
概述(AI 翻译)
一个MCP服务器,使AI助手能够直接在Autodesk Civil 3D内部编写和执行C#代码。AI生成的代码不是固定工具,而是具备完整API访问权限。
建筑
3 元工具
| 工具 | 目的 | 安全 |
|---|---|---|
civil3d_execute |
执行带有write访问(已提交事务)的C#代码 | ⚠️修改绘图 |
civil3d_query |
执行C#代码 只读(无提交) | ✅无副作用 |
civil3d_skills |
浏览/搜索/阅读代码技能模板 | ✅仅限元数据 |
工作原理
- AI 读取技能 → 获得文档化的 C# 代码模板
- AI调整代码 →填充参数,组合模式
- **AI 通过
civil3d_execute或civil3d_query→发送代码。 - Roslyn 编译 + 运行 → Inside Civil 3D 并拥有完整 API 访问权限
- 结果返回为JSON →返回 AI
示例交互
技能库
技能是 skills/ 中文档化的 C# 代码模板:
全球剧本
通过civil3d_execute或civil3d_query执行的代码可访问:
| 全局 | 类型 | 描述 |
|---|---|---|
Document |
Document |
活动中的AutoCAD文档 |
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Civil 3D MCP Server — Code Execution Architecture
An MCP server that enables AI assistants to write and execute C# code directly inside Autodesk Civil 3D. Instead of fixed tools, the AI generates code that runs with full API access.
Architecture
┌─────────────────┐ stdio ┌──────────────────┐ TCP/JSON-RPC ┌──────────────────┐
│ AI Assistant │ ◄────────────► │ MCP Server (TS) │ ◄──────────────────► │ Civil 3D Plugin │
│ (Claude, Cline) │ │ 3 meta-tools │ port 8080 │ Roslyn Engine │
└─────────────────┘ └──────────────────┘ └──────────────────┘
│ │
Skills Library C# Code Execution
(.skill.md files) (full Civil 3D API)
3 Meta-Tools
| Tool | Purpose | Safety |
|---|---|---|
civil3d_execute |
Execute C# code with write access (transaction committed) | ⚠️ Modifies drawing |
civil3d_query |
Execute C# code read-only (no commit) | ✅ No side effects |
civil3d_skills |
Browse/search/read code skill templates | ✅ Metadata only |
How It Works
- AI reads a skill → Gets a documented C# code template
- AI adapts the code → Fills in parameters, combines patterns
- AI sends code → Via
civil3d_executeorcivil3d_query - Roslyn compiles + runs → Inside Civil 3D with full API access
- Results return as JSON → Back to the AI
Example Interaction
User: "What surfaces are in my drawing?"
AI: Uses civil3d_query with:
var surfaces = new List();
foreach (ObjectId id in CivilDoc.GetSurfaceIds()) {
var s = Transaction.GetObject(id, OpenMode.ForRead) as TinSurface;
surfaces.Add(new { s.Name, s.Layer });
}
return surfaces;
Result: [{ "Name": "EG", "Layer": "C-TOPO-EG" }, ...]
Skills Library
Skills are documented C# code templates in skills/:
skills/
├── surfaces/ # Surface operations
├── alignments/ # Alignment + station/offset
├── points/ # COGO points
├── geometry/ # Lines, polylines, text
├── drawing/ # Drawing info
└── workflows/ # Complex multi-object operations
Script Globals
Code executed via civil3d_execute or civil3d_query has access to:
| Global | Type | Description |
|---|---|---|
Document |
Document |
Active AutoCAD document |
CivilDoc |
CivilDocument |
Active Civil 3D document |
Database |
Database |
Document database |
Transaction |
Transaction |
Active transaction |
Editor |
Editor |
Document editor |
All Civil 3D namespaces are auto-imported.
Setup
1. Build MCP Server
npm install && npm run build
2. Build Plugin
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"civil3d": {
"command": "node",
"args": ["/path/to/civil3d-mcp/build/index.js"]
}
}
}