综合介绍
CAD-MCP 是一个开源项目,允许用户通过自然语言指令控制 CAD 软件进行绘图操作。它结合了自然语言处理和 CAD 自动化技术,让用户无需手动操作 CAD 界面,只需输入简单的文字命令即可创建和修改图纸。项目支持多种主流 CAD 软件,如 AutoCAD、GstarCAD 和 ZWCAD,适合工程设计和建筑绘图领域。CAD-MCP 运行在 Python 环境下,通过模型控制协议(MCP)实现与 CAD 软件的交互。用户可通过启动服务器并发送指令,快速完成绘图任务,简化操作流程,提高效率。
功能列表
- 支持自然语言指令,解析用户输入并转化为 CAD 命令。
- 兼容多种 CAD 软件,包括 AutoCAD、GstarCAD 和 ZWCAD。
- 提供基础绘图功能,如绘制直线、圆形、弧形、矩形和多段线。
- 支持图层管理,允许用户创建、修改和切换图层。
- 自动保存绘图文件到指定目录,默认格式为
.dwg
。 - 支持颜色识别,用户可通过文字描述设置图形颜色。
- 提供语音命令功能,允许通过语音输入控制绘图。
- 简化 CAD 操作,适合不熟悉 CAD 界面的用户。
使用帮助
安装流程
CAD-MCP 需要在 Python 环境下运行,建议使用 Python 3.7 或以上版本。以下是详细安装步骤:
- 克隆项目仓库
在终端运行以下命令,下载 CAD-MCP 源代码:git clone https://github.com/daobataotie/CAD-MCP.git cd CAD-MCP
- 创建虚拟环境
为避免依赖冲突,建议创建虚拟环境:python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
- 安装依赖
项目依赖包括pywin32
、mcp
、pydantic
等,运行以下命令安装:pip install -r requirements.txt
确保
requirements.txt
中列出的依赖版本符合要求,例如pywin32>=228
和mcp>=0.1.0
。 - 配置 CAD 软件
确保已安装支持的 CAD 软件(如 AutoCAD)。在src/config.json
中配置 CAD 类型和参数:{ "server": { "name": "CAD MCP Server", "version": "1.0.0" }, "cad": { "type": "AutoCAD", "startup_wait_time": 20, "command_delay": 0.5 }, "output": { "directory": "./output", "default_filename": "cad_drawing.dwg" } }
type
: 设置 CAD 软件类型,如AutoCAD
、GstarCAD
或ZWCAD
。startup_wait_time
: CAD 软件启动等待时间(秒)。command_delay
: 命令执行间隔时间(秒)。directory
和default_filename
: 设置输出文件路径和默认文件名。
- 启动服务器
进入src
目录,运行服务器脚本:python server.py
服务器启动后,会监听自然语言指令。
使用方法
- 发送自然语言指令
服务器运行后,用户可通过 MCP 客户端(如 Claude Desktop 或 Cursor)发送指令。例如:- 输入“绘制一个矩形”会在 CAD 软件中创建矩形。
- 输入“将图层切换到 Layer1”会更改当前图层。
- 输入“保存图纸”会将图纸保存到配置的输出目录。
- 语音控制
CAD-MCP 支持语音输入。确保设备有麦克风,启用语音功能后,用户可说“画一个圆”或“设置颜色为红色”,服务器会解析并执行。 - 管理图层和颜色
用户可通过指令管理图层,例如“创建新图层名为 FloorPlan”或“切换到 FloorPlan 图层”。颜色设置支持描述性指令,如“将矩形颜色设置为蓝色”。 - 保存和导出
绘图完成后,指令“保存图纸”会自动将文件保存为.dwg
格式到指定目录。用户可在config.json
中修改输出路径。
特色功能操作
- 自然语言解析:CAD-MCP 使用 NLP 技术解析指令。用户无需学习 CAD 命令,只需用日常语言描述需求。例如,“画一条 10 米长的直线”会自动转换为 CAD 命令。
- 多软件支持:项目兼容多种 CAD 软件,用户只需在配置文件中切换
type
即可适配不同软件。 - 自动化绘图:通过指令批量执行绘图任务。例如,“画 5 个等距的圆”可快速生成多个图形。
集成到其他工具
CAD-MCP 可与 MCP 兼容工具(如 Claude Desktop)集成。编辑配置文件 claude_desktop_config.json
:
{
"mcpServers": {
"CAD": {
"command": "python",
"args": ["path/to/CAD-MCP/src/server.py"]
}
}
}
替换 path/to
为实际路径。保存后,Claude Desktop 可直接发送指令到 CAD-MCP 服务器。
注意事项
- 确保 CAD 软件已正确安装并可正常运行。
- 首次启动服务器可能因 CAD 软件加载较慢而延迟,建议设置合理的
startup_wait_time
。 - 语音功能需要稳定的网络和麦克风设备。
- 检查
config.json
中的路径和参数,避免文件保存或软件调用错误。
应用场景
- 建筑设计快速原型
建筑师可通过自然语言指令快速绘制平面图。例如,输入“画一个 5x10 米的矩形房间,添加 4 个窗户”即可生成草图,适合初期设计验证。 - 工程绘图自动化
机械工程师可使用 CAD-MCP 批量绘制零件图。例如,指令“画 10 个直径 5 厘米的圆,间隔 2 厘米”可快速生成重复图形。 - CAD 教学辅助
学生可通过语音或文字指令学习 CAD 操作,降低学习曲线。例如,输入“画一个三角形”可直观了解绘图流程。 - 非专业用户设计
不熟悉 CAD 界面的用户可通过简单指令完成绘图。例如,家居设计师可输入“画一个客厅布局”生成基础图纸。
QA
- CAD-MCP 支持哪些 CAD 软件?
支持 AutoCAD、GstarCAD 和 ZWCAD。用户可在config.json
中配置软件类型。 - 如何使用语音功能?
确保麦克风正常,启动服务器后启用语音模式。直接说出指令,如“画一个正方形”,服务器会自动解析。 - 安装失败怎么办?
检查 Python 版本(建议 3.7+)、依赖是否完整安装,以及config.json
中的路径是否正确。参考TROUBLESHOOTING.md
。 - 可以自定义输出文件格式吗?
默认保存为.dwg
格式。用户可修改 CAD 软件设置或脚本代码以支持其他格式。