/install cad-editor
\r \r
CAD Editor Skill\r
\r 将自然语言指令转换为工程图纸(DXF + PNG/SVG/PDF)。覆盖建筑、机械、电气、管道、结构五大领域,\r 遵循 GB/T 制图标准。\r \r
触发条件\r
\r 当用户要求绘制 CAD 图纸、工程图、施工图、配筋图,或提及以下任一领域时使用本技能:\r
- 建筑图纸:平面图、立面图、剖面图、门窗、楼梯、墙体、梁板柱基础\r
- 机械图纸:螺栓、齿轮、轴承、弹簧、垫圈、螺母、销钉、键槽\r
- 电气图纸:开关、插座、灯具、配电箱、断路器、导线组\r
- 管道图纸:直管、弯头、三通、法兰、阀门、大小头、管帽\r
- 结构详图:梁断面、楼板配筋、条形基础、独立基础\r
- 通用几何:线、圆、弧、矩形、多边形、尺寸标注\r \r
工作流\r
\r
步骤 1:解析自然语言指令\r
\r 调用 NL 解析器识别意图并提取参数:\r \r
import sys\r
sys.path.insert(0, 'cad-editor/scripts')\r
\r
from nl_parser.intent_classifier import IntentClassifier\r
from nl_parser.param_extractor import ParamExtractor\r
\r
classifier = IntentClassifier()\r
intent = classifier.classify(user_input) # → intent_dict\r
extractor = ParamExtractor(intent['domain'])\r
params = extractor.extract(user_input) # → param_dict\r
```\r
\r
`references/intent_templates.json` 包含 52 条预定义意图映射模板,涵盖 6 大类图纸。\r
\r
### 步骤 2:生成绘图脚本\r
\r
根据意图类型调用脚本生成器:\r
\r
```python\r
from nl_parser.script_generator import ScriptGenerator\r
\r
gen = ScriptGenerator()\r
script_code = gen.generate(intent, params) # → Python str\r
```\r
\r
生成器内置 18 套脚本模板,按领域分:\r
| 领域 | 模板数 | 覆盖组件 |\r
|---|---|---|\r
| architectural | 5 | 墙/门/窗/柱/楼梯 |\r
| mechanical | 4 | 螺栓/齿轮/轴承/弹簧 |\r
| electrical | 3 | 开关/插座/灯具/导线组 |\r
| piping | 3 | 直管/弯头/三通/阀门 |\r
| structural | 3 | 梁断面/楼板/基础 |\r
\r
### 步骤 3:执行脚本生成 DXF\r
\r
```python\r
# 将 script_code 写入临时文件后执行,或直接 exec\r
exec(script_code)\r
# 输出:{output_dir}/{name}.dxf\r
```\r
\r
### 步骤 4:渲染预览图片\r
\r
```python\r
from core.renderer import Renderer\r
Renderer.render_quick(doc, output_dir='output', name='drawing_name')\r
# 输出:{output_dir}/drawing_name.png (自动生成)\r
```\r
\r
### 步骤 5:交付结果\r
\r
向用户展示 PNG 预览图,同时提供 DXF 文件路径。\r
\r
## 直接 API 调用方式(跳过 NL 解析)\r
\r
当需要精确控制或编程调用时,直接使用 Python API:\r
\r
```python\r
import sys\r
sys.path.insert(0, 'cad-editor/scripts')\r
\r
from core.document import CADDocument\r
from core.renderer import Renderer\r
from layer.manager import LayerManager\r
from layer.linetypes import Linetypes\r
from entities import *\r
from templates.architectural import ArchitecturalTemplates\r
from dimension import LinearDimension\r
from layout.paperspace import PaperSpace\r
\r
doc = CADDocument.new(version='R2010')\r
msp = doc.modelspace()\r
\r
Linetypes.load_standard(doc)\r
LayerManager(doc).setup_template('arch')\r
\r
ArchitecturalTemplates.wall(msp, [(0,0), (5000,0), (5000,3500), (0,3500)], thickness=240)\r
ArchitecturalTemplates.door_single(msp, (2500, 0), width=900)\r
ArchitecturalTemplates.window(msp, (800, 240), (2000, 240))\r
LinearDimension.chain_horizontal(msp, [(0,-600),(0,0),(5000,0),(5000,-600)], offset=800)\r
PaperSpace.draw_title_block(msp, (0,0), size='A3', title='图纸标题')\r
\r
CADDocument.save(doc, 'output/drawing.dxf')\r
Renderer.render_quick(doc, output_dir='output', name='drawing')\r
```\r
\r
## 支持的图纸类型与指令示例\r
\r
### 建筑制图 (GB/T)\r
| 指令示例 | 生成内容 |\r
|---|---|\r
| `画一个4000x3000的建筑平面图` | 外墙+门+窗+标注+图框 |\r
| `3600x4800房间开一扇900宽的门两扇1200的窗` | 指定尺寸的户型 |\r
| `画一个双开门1500mm` | 双扇平开 |\r
| `12步直跑楼梯宽度1200` | 楼梯平面+折断线+方向箭头 |\r
\r
### 机械制图 (GB/T)\r
| 指令示例 | 生成内容 |\r
|---|---|\r
| `M16六角螺栓头俯视图` | 六角头+内切圆+中心十字线 |\r
| `20齿齿轮端面视图D100` | 齿顶圆+齿根圆+轴孔+径向齿形线 |\r
| `轴承6205侧面图` | 内外圈+滚动体 |\r
| `压缩弹簧线径2外径16有效圈数6` | 锯齿形侧视图 |\r
\r
### 电气制图\r
| 指令示例 | 生成内容 |\r
|---|---|\r
| `单极开关符号垂直放置` | 圆触点+倾斜动触杆+引线 |\r
| `三孔电源插座` | 半圆弧+底边+孔位 |\r
| `吸顶灯符号` | 圆形灯具标记 |\r
| `三相导线组间距30mm` | 三条平行导线 |\r
\r
### 管道/暖通\r
| 指令示例 | 生成内容 |\r
|---|---|\r
| `DN50直管段带中心线` | 双线管+轴线 |\r
| `90度弯头R100 DN50东北走向` | 双线圆弧弯头 |\r
| `闸阀DN50` | 阀体+手轮 |\r
| `三通DN50/DN30` | 主管+支管接头 |\r
\r
### 结构详图\r
| 指令示例 | 生成内容 |\r
|---|---|\r
| `250x500梁断面配3根16底部钢筋` | 截面轮廓+箍筋+纵筋+混凝土填充 |\r
| `楼板120厚双向配筋12@150/10@200` | 板轮廓+钢筋线+弯钩+标注 |\r
| `500x500柱下独立基础2000x2000深600` | 台阶式基础+受力筋+分布筋+标注 |\r
\r
### 通用几何\r
| 指令示例 | 生成内容 |\r
|---|---|\r
| `画一个矩形400x300` | 矩形 |\r
| `正六边形外接圆半径100` | 正多边形 |\r
| `圆心(0,0)半径50的圆和直径80的同心圆` | 同心圆组 |\r
\r
## 输出格式\r
\r
| 格式 | 用途 |\r
|---|---|\r
| `.dxf` | 主输出,可导入 AutoCAD / FreeCAD / 中望CAD |\r
| `.png` | 快速预览(自动生成) |\r
| `.svg` | 矢量可缩放预览 |\r
| `.pdf` | 打印/交付文档 |\r
\r
## 依赖库\r
\r
| 库 | 用途 | 安装 |\r
|---|---|---|\r
| `ezdxf` | DXF 读写引擎 | 必须 |\r
| `matplotlib` | PNG/SVG/PDF 渲染后端 | 必须 |\r
| `numpy` | 数值计算 | 必须 |\r
\r
安装命令:`pip install ezdxf matplotlib numpy`\r
\r
## 架构与文件组织\r
\r
```\r
cad-editor/\r
├── SKILL.md # 本文件(技能说明书)\r
├── scripts/ # 可执行代码\r
│ ├── nl_parser/ # 自然语言解析器\r
│ │ ├── intent_classifier.py # 意图分类(19 种规则)\r
│ │ ├── param_extractor.py # 参数提取(5 大领域)\r
│ │ └── script_generator.py # 脚本生成(18 套模板)\r
│ ├── core/ # 文档创建 / 单位管理 / 渲染引擎\r
│ ├── entities/ # 基础实体(线/圆/弧/多段线/文字)\r
│ ├── layer/ # 图层管理 / 线型加载 / 行业图层模板\r
│ ├── dimension/ # 标注(线性/径向/角度/引线)\r
│ ├── block/ # 图块定义与插入\r
│ ├── hatch/ # 图案填充(混凝土/砖/金属等)\r
│ ├── tools/ # 编辑工具(偏移/裁剪/阵列/镜像/圆角倒角/测量)\r
│ ├── layout/ # 图纸空间 / 视口 / 图框标题栏\r
│ ├── export/ # 批量导出 SVG/PDF/PNG\r
│ └── templates/ # 行业图库组件\r
│ ├── architectural.py # 建筑(墙/门/窗/柱/楼梯/阳台)\r
│ ├── mechanical.py # 机械(螺栓/齿轮/轴承/弹簧/键槽/垫圈/螺母/销)\r
│ ├── electrical.py # 电气(开关/插座/灯具/导线/配电箱/断路器)\r
│ ├── piping.py # 管道(直管/弯头/三通/阀门/法兰/大小头/管帽)\r
│ └── structural.py # 结构(梁断面/楼板配筋/条基/独立基础)\r
├── references/ # 参考文档(按需加载)\r
│ ├── color_index.md # ACI 颜色表(256色) + 行业配色规范\r
│ ├── layer_standards.md # GB/T 图层命名规范\r
│ ├── dxf_entity_codes.md # DXF 组码速查 + ezdxf API 映射\r
│ └── intent_templates.json # 52 条 NL→参数映射模板\r
└── assets/ # 输出资源(不加载到上下文)\r
├── fonts/ # CAD 字体文件\r
├── hatch_patterns/ # 自定义填充图案\r
├── linetypes/ # 线型定义\r
└── title_blocks/ # 图框标题栏模板(A0-A4)\r
```\r
\r
## 参考文档索引\r
\r
| 文档 | 内容 | 加载时机 |\r
|---|---|---|\r
| `references/color_index.md` | ACI 256 色表 + 建筑/机械/电气/管道/结构配色方案 | 需要设置颜色时 |\r
| `references/layer_standards.md` | GB/T 17825 图层命名规范,含 5 大行业预设 | 创建文档/设置图层时 |\r
| `references/dxf_entity_codes.md` | DXF 组码速查表 + ezdxf Python API 对照 | 操作底层实体时 |\r
| `references/intent_templates.json` | 52 条意图模板(NL 正则匹配→参数提取规则)| NL 解析阶段自动读取 |\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install cad-editor - After installation, invoke the skill by name or use
/cad-editor - Provide required inputs per the skill's parameter spec and get structured output
What is CAD Editor?
CAD制图编辑器 — 用自然语言生成工程图纸(建筑平面图/机械零件/电气布置/管道系统/结构详图)。 支持DXF文件创建、渲染预览、批量导出。触发词:画平面图、CAD、工程图、建筑图、机械图、电气图、 管道图、结构图、画线/圆/矩形/多边形、尺寸标注、DXF、AutoCAD、施工图、配筋图、齿轮、轴承、 阀门、弯... It is an AI Agent Skill for Claude Code / OpenClaw, with 80 downloads so far.
How do I install CAD Editor?
Run "/install cad-editor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is CAD Editor free?
Yes, CAD Editor is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does CAD Editor support?
CAD Editor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created CAD Editor?
It is built and maintained by 波动几何 (@wangjiaocheng); the current version is v1.0.0.