返回博客

我从终端开始使用 CADCraft 的第一个工作流

从命令行、图纸范围、脚本和文件转换几个细节,看 CADCraft 与 AutoCAD 工作方式的差异。

2026年10月15日CADCraft AI 编辑CADCraft AI 编辑

有人问 CADCraft 用起来像不像 AutoCAD,最容易想到的是比较工具栏和按钮。更有用的答案,其实应该从命令行开始。两者都把输入命令当作绘图的重要方式,但 CADCraft 让命令行更容易离开桌面窗口单独运行。这会直接改变我测试图纸、批量转换文件,以及把一个可重复任务交给 Agent 的方式。

先从文件开始,而不是从空白画布开始

在 AutoCAD 里,我通常会先打开图纸,检查当前工作空间,再决定要不要把其中一部分自动化。在 CADCraft 里,可以先用 CLI 询问一个文件里有什么:

cadcraft-cli info drawing.dxf

这个小差别很实际。在加载大文件或执行脚本之前,info 是一次成本很低的检查。如果只是需要另一种格式,也可以直接转换:

cadcraft-cli convert drawing.dxf drawing.svg

默认情况下,导出的图片或 SVG 会按照模型空间范围取景。这不一定等于我上一次在窗口里看到的视图;做可预测的预览时这很合适,但在拿它和 AutoCAD 的视口截图比较时,需要记住这一点。

命令习惯相似,但工作流不一样

CADCraft 保留了很多让 AutoCAD 命令行高效的习惯:命令名称、提示、别名、@dx,dy 这样的相对坐标、@d<a 这样的极坐标输入、直接输入距离,以及按 Enter 重复命令。下面的脚本不需要鼠标就能创建一张测试图:

cadcraft-cli run --sample --script 'CIRCLE 22,3 1\n' --save out.dxf --export out.png

重点不在于画一个圆,而在于完整闭环:创建图元、保存 DXF、导出图片,一次进程完成。我会用它做回归检查、制作文档示例,或快速验证某个行为,因为打开完整 GUI 反而会引入不必要的状态。AutoCAD 的脚本同样强大,但通常嵌在以工作站为中心的环境里;CADCraft 的 run 命令把这种工作方式明确地放到了 shell 中。

取景是一个独立的决定

第一次把 CADCraft 的导出结果和 AutoCAD 截图放在一起时,图形本身是对的,图片却看起来不一样。原因是视图不同。如果只关心图纸中的某个矩形范围,可以明确告诉转换器:

cadcraft-cli convert drawing.dwg detail.png --window 0,0,20000,15000

如果要导出选中区域,可以先执行选择命令,再缩放到对象,最后导出当前视图:

cadcraft-cli run drawing.dwg \
  --cmd 'select {"window":[[0,0],[20000,15000]]}' \
  --cmd 'zoom {"mode":"object"}' \
  --export selection.png

这属于功能清单里不容易体现的实际差异。在交互式 AutoCAD 会话中,我可以用鼠标把视口调整到满意为止;在无界面的 CADCraft 任务中,视图状态就是工作流的一部分,应该和命令一起写下来。

把文件兼容性当作复核步骤

CADCraft 可以读写常见 R12—2018 范围内的 DXF,也可以通过开源库打开和保存 DWG。但这不等于每个对象经过往返保存后都能原样保留。尚未建模的图元可能不会被写回文件。因此我会保留原文件,先运行 info,再检查导出的预览,确认无误后才考虑替换结果。退出码为成功,不代表图纸语义一定完全相同,这是使用转换工具时应该养成的习惯。

Agent 应该放在哪里

同一套命令界面可以通过 cadcraft-cli mcp 暴露,也可以用 cadcraft-cli mcp --connect 127.0.0.1:7979 连接正在运行的应用,或者通过 JSON 控制通道驱动。这样 Agent 不必只凭截图猜测,它可以执行命令、检查图元,再渲染结果。对 AutoCAD 用户来说,这可能是最明显的变化:CADCraft 不只是模仿熟悉的制图流程,也让这套流程更容易检查和重复运行。

所以我的起步配方很简单:转换前先用 info,明确坐标和视图,输出到新文件,并在相信结果之前先导出预览。命令对 AutoCAD 用户足够熟悉,但终端让这项工作更容易测试、记录和再次运行。