Rust · 项目报告

storytold/cadcraft

CADCraft: computer-aided design and drafting — an open-source, clean-room AutoCAD-style app in pure Rust

已完成 打开 GitHub
S
593星标
262Fork
20Issue
Apache-2.0许可证

分析结果

项目分析

CADCraft 是一个用纯 Rust 编写的开源 CAD/制图软件,目标是以 clean-room 方式重新实现类似 AutoCAD 的工作流。它支持命令行绘图、对象捕捉、图层、标注、填充、块、DXF/DWG 文件、PDF/SVG/PNG 导出,并可运行在 Windows、macOS、Linux、FreeBSD 和 WebAssembly 浏览器环境中。项目目前处于 early development 阶段,但 README 宣称已实现较完整的二维 CAD 基础能力,并提供 CLI、JSON 控制通道和 MCP Server,适合开发者研究 CAD 引擎、Rust 桌面应用、自动化制图和 AI Agent 驱动 CAD。

适用领域 CAD / 二维制图 / 工程绘图 / 建筑平面图 / 机械制图 / Rust 桌面应用 / DXF/DWG 文件处理 / WebAssembly / AI Agent 自动化 / MCP 工具集成
配置难度 中高。普通用户可直接下载发布包体验,但开发者若要参与底层 CAD 能力、几何算法、DXF/DWG 兼容、渲染、约束求解或 MCP 自动化集成,需要具备 Rust、计算几何、CAD 数据结构和跨平台 GUI 经验。
商业价值 对中国开发者和企业有较高探索价值。CADCraft 可作为开源 CAD 平台、DXF/DWG 自动化处理工具、AI Agent 制图接口或国产化 CAD 原型的技术参考。它的 Rust 架构、跨平台能力和 MCP/CLI 自动化特性适合用于工程制图 SaaS、建筑/机械图纸批处理、教育软件、轻量 CAD 查看器、企业内部绘图自动化等场景。不过由于项目仍处早期阶段,短期更适合技术验证、二次开发和非关键生产流程,若用于商业交付需进行充分兼容性、稳定性和标准化测试。
01

技术亮点

  • 纯 Rust 实现,无 Electron,强调原生性能和跨平台部署。
  • 采用 Apache-2.0/MIT 风格开源许可,README 徽章显示 MIT OR Apache-2.0,仓库元数据标注 Apache-2.0。
  • 接近 AutoCAD 的命令行式工作流,支持别名、提示、自动补全、透明命令、脚本等。
  • 支持常见二维绘图命令:LINE、PLINE、CIRCLE、ARC、RECTANG、POLYGON、ELLIPSE、SPLINE、TEXT、MTEXT 等。
  • 支持常用修改命令:MOVE、COPY、ROTATE、SCALE、MIRROR、OFFSET、TRIM、EXTEND、FILLET、CHAMFER、ARRAY、EXPLODE 等。
  • 支持对象捕捉、极轴追踪、正交、网格捕捉等精确绘图能力。
  • 具备图层、线型、线宽、颜色、属性面板和图层管理器。
  • 支持标注、DIMSTYLE、MLEADER、TABLE、TrueType 字体和 MTEXT 格式。
  • 支持填充、块、属性、嵌套块和布局打印。
  • 支持 DXF R12 到 2018 读写,README 宣称支持 DWG R13 到 2018 读写。
  • 支持 CLI、JSON 控制通道和 MCP Server,适合 AI Agent 自动化制图。
  • 架构分层清晰,geom、dxf、doc、engine、render、ui-egui、mcp 等模块解耦,有利于二次开发。
  • 支持桌面端和浏览器 WebAssembly 版本。
02

目标用户

  • 需要开源 AutoCAD 替代方案的个人或团队
  • 熟悉 AutoCAD 命令行工作流的设计师、制图员和工程师
  • 希望研究 CAD 内核、几何算法、DXF/DWG 读写的 Rust 开发者
  • 需要批量转换 DXF/DWG、导出 SVG/PNG/PDF 的工具开发者
  • 希望通过 CLI、JSON 或 MCP 让 AI Agent 自动生成或修改图纸的开发者
  • 教育场景中需要开源 CAD 教学工具的教师和学生
  • 希望在浏览器中运行 CAD 应用的 Web/WASM 开发者
03

配置要求

  • 源码构建需要 Rust/Cargo 环境。
  • WebAssembly 版本需要 trunk。
  • 桌面端运行需要对应平台图形环境,项目使用 egui 构建 UI。
  • 如需 MCP 自动化,可直接运行 cadcraft-cli mcp。
  • 如需连接正在运行的桌面应用,需要应用启动时开启控制端口,例如 --control 7979。
  • 如需通过 MCP 连接桌面端,可执行 cadcraft-cli mcp --connect 127.0.0.1:7979。
  • 处理 DWG 文件依赖项目集成的开源 acadrust 库能力。
  • 若用于生产环境,建议确认目标 DXF/DWG 版本、字体、标注样式、布局打印和图层兼容性。
04

适用场景

  • 绘制建筑平面图、房间布局、门窗和家具布置图
  • 绘制机械零件二维图、剖面线、中心线、尺寸标注和标题栏
  • 打开、查看、编辑和导出 DXF/DWG 文件
  • 将 DXF/DWG 批量转换为 SVG、PNG 或 PDF
  • 通过命令脚本自动生成标准化 CAD 图纸
  • 通过 MCP Server 让 AI Agent 调用 CAD 命令、检查实体并渲染结果
  • 研究 CAD 命令系统、对象捕捉、图层管理、约束求解、布局和打印流程
  • 将 CADCraft 的底层模块集成到其他 Rust 工程绘图或图形处理项目中
05

部署与配置

  • 方式一:从源码运行。先安装 Rust 工具链。
  • 执行:git clone https://github.com/storytold/cadcraft
  • 执行:cd cadcraft
  • 执行:cargo run --release -p cadcraft -- --sample
  • 方式二:运行 Web 版本。进入 apps/cadcraft-web 目录,并安装 trunk。
  • 执行:cd apps/cadcraft-web && trunk serve
  • 方式三:使用发布包。从 GitHub Releases 下载对应平台安装包或便携包。
  • Windows 可下载 MSI 安装包或 portable zip,支持 x64、arm64、x86。
  • macOS 可下载 universal dmg 或 cadcraft-cli zip。
  • Linux 可选择 AppImage、Flatpak、deb、rpm 或 tar.gz。
  • FreeBSD 可下载 x86_64 tar.gz。
  • CLI 示例:cadcraft-cli info drawing.dxf
  • CLI 转换示例:cadcraft-cli convert drawing.dxf drawing.svg
  • MCP Server 示例:cadcraft-cli mcp
06

风险与注意事项

  • 项目明确标注为 early development,生产稳定性需要谨慎评估。
  • README 中功能覆盖面非常广,但实际完成度、边界兼容性和复杂图纸支持能力需要通过测试验证。
  • AutoCAD 生态复杂,DWG/DXF、字体、标注样式、布局、外部参照、打印样式等兼容问题可能较多。
  • DWG 格式兼容依赖开源库,可能无法完全覆盖商业 CAD 软件的全部特性。
  • 仓库 stars 约 593、forks 约 262,关注度不错但生态和插件体系可能远不如成熟 CAD 软件。
  • 若企业用于正式工程交付,需要验证输出文件在 AutoCAD、中望 CAD、浩辰 CAD、BricsCAD 等软件中的兼容性。
  • 中国本地工程制图标准、字体、图框、国标线型和打印样式可能需要额外适配。
  • WebAssembly 版本可能在大图纸性能、文件系统访问和字体处理方面存在限制。

历史记录

热榜历史快照

2026-10-09 第21名 新收录 · github_search