开源先锋公众号文章

那个重写 PS 的团队,又盯上了 AutoCAD!

开源先锋

公众号 · 35 篇文章

* 戳上方蓝字“开源先锋”关注我



大家好,我是开源君!

之前写过 PhotoCraft 的文章,评论区有网友问:什么时候把 auto CAD 也复刻了?

这不,ArtCraft 团队这几天真把 CAD 重写开源了,项目叫 CADCraft。还是熟悉的配方——纯 Rust、从零写、MIT/Apache 双许可。

项目简介

CADCraft 是一个开源的、"净室"方式(clean-room)重新实现的 AutoCAD 风格绘图软件,全部用 纯 Rust 编写。

公寓平面图:墙体填充、房间名、门窗、面积表、多重引线和建筑标注,全部由命令画出来
公寓平面图:墙体填充、房间名、门窗、面积表、多重引线和建筑标注,全部由命令画出来

它要做的就是把你熟悉的那套 AutoCAD 工作流搬过来。

命令行、对象捕捉、图层、标注、填充、图块、DXF 图纸,一样不少。

macOS、Windows、Linux、FreeBSD 原生运行,还能通过 WebAssembly 在浏览器里用,不用账号,不用订阅,完全免费。

开源短短几天已经在 GitHub 上已有 3k Star,热度不低。

功能特性

01 命令行手感,一比一复刻

打 L,点两个点,输 @5<45,回车。就这么顺。

line 0,0 @10,0 @0,5 c      画一个闭合三角形
circle 5,2 1               画个圆
offset 0.25                偏移,再选圆和一边
zoom e                     缩放到全图

自动补全、命令别名、@dx,dy、直接距离输入、Enter 或右键重复上一条命令,都在。对象捕捉给了 11 种:端点、中点、圆心、交点、垂足、切点……连"延迟切点"都有——画两个圆的公切线时,第一个点先悬着,第二个点才定。

CADCraft 左侧工具集
CADCraft 左侧工具集

02 DXF 原生读写,DWG 也能开

这是能不能干活的分水岭。

DXF 是原生读写的,ASCII 和二进制都支持,版本从 R12 到 2018;写出的 DXF 是 R2000。DWG(R13–2018)借开源库 acadrust 的手,能开也能存。导出支持 SVG、PNG、PDF。

安装支架零件图:主视图、剖面图、中心线、标注、标题栏
安装支架零件图:主视图、剖面图、中心线、标注、标题栏

03 一个二进制,从桌面跑到浏览器

Windows 有 MSI 和免装版(x64 / arm64 / x86 三套);macOS 是签过名、过过公证的 universal dmg;Linux 更夸张——AppImage、Flatpak、deb、rpm、tar.gz,甚至 riscv64 、FreeBSD 都有。

还有一份 WebAssembly 静态站点,丢到任意静态服务器就能在浏览器里用。

04 给 AI Agent 留的那扇门

这是 CADCraft 最不一样的地方。

它把每个菜单项、每个工具、每句提示,都做成了一条命令。于是:

  • 有 MCP 服务器,Agent 可以像人一样"在命令行打字"
  • 有 JSON 控制通道,任何命令都能用 JSON 调用、拿结果
  • 有 cadcraft-cli,无头跑脚本、转格式、导图片
  • 还有 inspect_drawing、render(直接回传 PNG)、screenshot、ui_click
cadcraft-cli run --sample --script 'CIRCLE 22,3 1\n' --save out.dxf --export out.png
cadcraft-cli convert drawing.dxf drawing.svg

05 图层与属性,老习惯都在

图层管理器(开关、冻结、锁定、打印、颜色、线型)一个不少,还有隔离、匹配、上一个图层这些顺手的小工具。属性面板可以逐个对象改,线型、线宽、索引色和真彩色都支持。

图层与属性面板
图层与属性面板

06 标注、填充、块,一直到出图

干过设计的都知道,画线谁都会,难的是把它画成一张能交出去的图。

全套 DIM* 命令配完整的 DIMSTYLE 变量,箭头样式齐全,标注是关联的——几何一动,标注跟着走。

关联标注与多重引线
关联标注与多重引线

填充支持拾取点边界、孤岛检测,自带图案库,纯色和渐变都行。BLOCK / INSERT、属性、嵌套块都在,表格也能直接画。

房间面积表
房间面积表

最后是图纸空间和出图:布局、视口(比例、锁定、逐视口冻结图层)、页面设置、PLOT 和 EXPORTPDF。

图纸空间布局
图纸空间布局
剖面填充与标题栏
剖面填充与标题栏

顺带说,它还支持参数化约束(几何约束 + 尺寸约束、表达式参数、冲突检测,每次编辑后自动重解),界面语言给了 9 种,简体中文在内。

快速安装、使用

方式一:直接下载

直接到项目release页面下载对应平台的安装包进行安装。

  • Windows:.msi 安装包或便携 .zip,提供 x64、arm64、x86
  • macOS:.dmg,通用版,已签名并公证
  • Linux:AppImage、Flatpak、deb、rpm、tar.gz
  • FreeBSD:tar.gz
  • Web:静态站点 zip,放到任意静态服务器即可

方式二:源码运行

需要 Rust 1.95 或更高版本。

git clone https://github.com/storytold/cadcraft
cd cadcraft
cargo run --release -p cadcraft -- --sample

这会打开一份示例图纸。

接着在命令行里试试:

line 0,0 @10,0 @0,5 c     # 画一个封闭三角形
circle 5,2 1              # 画一个圆
offset 0.25               # 然后选圆和一侧,做偏移
zoom e                    # 缩放到全部范围

浏览器版

cd apps/cadcraft-web && trunk serve

需要先安装 trunk (https://trunkrs.dev)。

让 AI 来操作

# 无界面运行 MCP 服务器
cadcraft-cli mcp

# 一次性无界面运行:画圆、保存、导出 PNG
cadcraft-cli run --sample --script 'CIRCLE 22,3 1\n' --save out.dxf --export out.png

开源君想说

这个时代,真的有点魔幻。

以前想有一个自己能掌控的 CAD,是件不敢想的事。

现在,一个团队用 Rust 从零写出来,开源给所有人,还顺手留好了给 AI 用的接口。

工具不再只是给人用的,也要让 AI 能顺手接过去。

当然,CADCraft 目前还在早期,离"完全替代"还有距离。但方向很清楚,也很让人期待。

https://github.com/storytold/cadcraft
推荐阅读:

仅6MB大小,Mac版PS开源平替,火了!

Meta Muse 刚火,开源平替就来了!

1.8万star!这个神级 Skills,直接让 AI 学会画 CAD!

跨平台的WiFi安全工具,终于有了!

有人用Claude重写PS,几天就拿下3万Star了!

5 万 Star !号称逆向任何东西,太猛了吧!




前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →订阅更新、RSS 与阅读指南 →