# 免费与 AI 友好 CAM 软件调研

## 结论先行

如果目标是“长期免费、可自托管、可由 Agent/MCP 稳定驱动”，首选不是传统商业 CAM，而是 **FreeCAD CAM** 和 **Kiri:Moto**：前者提供 Python/CAM 脚本及无 GUI 入口，后者是 MIT 开源的浏览器 CAM 引擎并公开 JavaScript Engine/Frame API。PyCAM、FabexCNC（原 BlenderCAM）适合作为特定工艺或批处理备选。

本次没有确认任何候选具备“开箱即用且覆盖完整 CAM 工作流”的官方原生 MCP。明确的官方 MCP 证据来自 Autodesk 的 [FusionMCPSample](https://github.com/AutodeskFusion360/FusionMCPSample)，但它是 Fusion API 的 MCP reference implementation，不等于 Fusion Personal 免费商用，也不等于所有刀路场景都已验证。更现实的方案是：选择公开 API/CLI 的 CAM，引入窄的 MCP/Skill 适配层。

## 评估口径

“免费”分开记录为：开源免费、闭源永久免费、个人非商业、教育许可、试用版。试用/教育/个人免费不能直接写成通用商用免费。“AI 友好”至少需要能程序化触达：导入或创建几何、Job/毛坯/WCS、刀具、加工操作、刀路计算完成状态、错误回读、后处理和 NC/G-code 导出。普通 GUI、模板、post processor、Copilot 或插件机制本身不算 API。没有一手证据的能力标为“未证实”，不把未找到 API 写成不存在。

所有候选都必须离线仿真、检查刀具/毛坯/坐标系/后处理器，并人工审查后才能上机；生成 G-code 不等于加工安全。

## 推荐矩阵

| 软件 | 开源/源码 | 国产/国家 | 免费/许可 | 可编程入口 | CAM 范围与限制 | AI/MCP 判断 | 产业成熟度 | 建议 |
|---|---|---|---|---|---|---|---|---|
| **FreeCAD CAM/Path** | 是（LGPL2+） | - | 私人、商业、机构使用不收软件授权费；组件与插件许可需分别审计 | Python API、宏、CAM scripting、FreeCADCmd/无 GUI 入口 | 适合 2.5D/标准三轴及部分 3D；5 轴、机床运动学需单独验证 | **高**：无官方 MCP，但适合自建窄 MCP | 中等：工程设计广泛使用，CAM 生产深度弱于主流商业套件 | 通用机械 CAM 第一 PoC |
| **Kiri:Moto** | 是（MIT） | - | 官方项目称免费开源 | JavaScript Engine API：CAM mode、stock、tools、process、slice、prepare、export；Frame postMessage 接口 | 浏览器/Web Worker 模型；不能假设存在独立 Node CLI | **高**：API 清晰，适合自托管 Agent 包装；不是现成 MCP | 中等：真实 CNC/创客场景有使用，工业覆盖有限 | Web/服务化 CAM 第一 PoC |
| **PyCAM** | 是（GPLv3） | - | 开源免费 | 官方 README 提供 `run_cli.py FLOW_SPECIFICATION_FILE` | 主要三轴；现代平台依赖与维护活跃度需验证 | **中高**：CLI 适合批处理；无官方 MCP | 研究/轻量：适合实验与批处理 | 低依赖批处理备选 |
| **FabexCNC/BlenderCAM** | 是（GPLv3 为主，部分文件有例外） | - | 开源免费 | Blender Python/插件，维护者提供自动 G-code 与参考 G-code 比较流程 | 2D/3D milling；4/5 轴为手动分度，不能当连续多轴 | **中**：可封装，但 Blender context/无头稳定性需实测 | 研究/轻量：网格与 Blender 社区使用 | 网格/Blender 工作流备选 |
| **OpenBuilds CAM** | 是（AGPL-3.0） | - | 开源免费 | Web 前端与内部 JS；官方未给稳定 REST/CLI/headless API | DXF/SVG/Bitmap/Gerber 到 G-code，偏轻量 2D/3D | **中低**：需自行部署/改造，官方 MCP 未证实 | 中等：创客与轻型 CNC 有真实使用 | 轻量 2D/桌面 CNC 备选 |
| **LinuxCNC** | 是（开源） | - | 开源免费 | Python filter、HAL/INI、用户 M-code、MDI | 实时 CNC 控制端，不能替代 CAM 刀路规划 | **中**：适合 Agent 控制/流水线末端 | 工业成熟：真实机床长期使用 | 作为 AI 流水线执行端 |
| **Fusion 360 Personal** | 否（闭源） | 美国 | 个人非商业、个人年收入低于 1,000 USD；官方明确 CAM 功能受限 | Fusion API、Add-In、官方 FusionMCPSample | 功能/用途受个人许可限制；动态验证需固定版本 | **高（集成层）**：官方 MCP reference implementation；不是通用免费商用 CAM | 工业成熟：真实制造广泛使用 | 仅在授权条件满足时作对照 |
| **SolidCAM Maker** | 否（闭源） | 以色列 | 官方免费，但仅制造商/业余爱好者/学生，禁止商业用途；依赖 SOLIDWORKS | 未找到公开 REST/CLI/headless CAM API | 3-axis mill、Mach3 mill、2-axis lathe 等有限后处理器 | **低/未证实** | 工业成熟：真实制造业广泛使用 | 不作为通用免费推荐 |
| **Estlcam** | 否（闭源） | 德国 | 官方称免费版可无限期使用；许可条款需按版本核对 | 未找到官方公开 API/CLI/headless 入口 | 2D/2.5D、STL 3D、CNC 控制 | **低/未证实** | 中等：业余与小型加工场景真实使用 | 适合人工使用，不适合 Agent 优先选型 |
| **Onshape Free + CAM Studio** | 否（闭源） | 美国 | Free 为个人非商业；CAM Studio 面向 Professional/Enterprise Beta | CAD REST API、FeatureScript；不等于免费 CAM API | Free 计划不能视作免费 CAM；CAM 权限受计划限制 | **中（CAD）/低（免费 CAM）** | 工业成熟：云 CAD 在真实工程使用 | 不作为免费 CAM 首选 |
| **ZW3D / CAXA / 精雕 / 华中数控** | 否（闭源） | 中国 | 商业产品；试用、教育与授权需逐家核验 | 本次公开官方资料未核验到 MCP/REST/Python/CLI CAM SDK | ZW3D 官方公开 2–5 轴、VoluMill、后处理与仿真；其余依版本与行业 | **未证实** | 工业成熟：国产制造存在真实部署 | 需索取正式 SDK、二次开发手册与许可条款 |
| **柏楚电子 / FSCUT / CypNest** | 否（闭源） | 中国 | 商业闭源；授权、SDK 与设备接口需向厂商确认 | 本次未核验到公开 MCP、REST、Python 或 CLI CAM SDK | 激光切割控制、板材/管材套料、切割工艺与设备联动；不是通用铣削 CAM | **低/未证实** | 工业成熟：国产激光制造与智能制造领域工业级产品 | 作为专用激光 CAM/控制系统单独评估 |

## 一手来源

### FreeCAD

- [FreeCAD GitHub](https://github.com/FreeCAD/FreeCAD)：免费开源、跨平台、广泛 Python API。
- [FreeCAD License](https://wiki.freecad.org/License)：LGPL2+；组件、插件和再分发仍需分别审计。
- [CAM Workbench](https://wiki.freecad.org/CAM_Workbench)：Job、工具、操作、后处理和 G-code 工作流；文档明确 2.5D/三轴覆盖及限制。
- [FreeCAD Embedding](https://wiki.freecad.org/Embedding_FreeCAD)：Python module、命令行和无 GUI 方向。
- [CAM scripting](https://wiki.freecad.org/CAM_scripting)：CAM Python 接口；页面包含旧版本示例，必须固定软件版本后验证。

### Kiri:Moto

- [GridSpace 官方仓库](https://github.com/GridSpace/grid-apps)：免费开源、MIT 许可、浏览器 CAM。
- [Kiri Engine API](https://grid.space/kiri/engine.html)：`setMode(CAM)`、stock、tools、process、slice、prepare、export。
- [Kiri Frame API](https://grid.space/kiri/frame.html)：iframe/postMessage、事件和 export callback。
- [GridSpace 官方文档](https://docs.grid.space/)：运行方式和项目定位。

### 其他开源项目

- [PyCAM](https://github.com/SebKuzminsky/pycam)：三轴 G-code 和 `run_cli.py FLOW_SPECIFICATION_FILE`。
- [FabexCNC/BlenderCAM](https://github.com/vilemduha/blendercam)：Blender 扩展、GPLv3、2D/3D milling。
- [OpenBuilds CAM](https://github.com/OpenBuilds/OpenBuilds-CAM)：AGPL-3.0，DXF/SVG/Bitmap/Gerber 到 G-code。
- [LinuxCNC](https://github.com/LinuxCNC/linuxcnc)：开源实时控制器；[INI/Python filter 文档](https://linuxcnc.org/docs/stable/html/config/ini-config.html)。
- [HeeksCAD](https://github.com/Heeks/heekscad)：开源 BSD CAD/历史 CAM 生态，技术栈老旧，低优先级。

### 商业与 MCP

- [Fusion 360 Personal](https://www.autodesk.com/products/fusion-360/personal)：个人非商业、收入门槛和受限 CAM 条款。
- [Autodesk FusionMCPSample](https://github.com/AutodeskFusion360/FusionMCPSample)：官方组织下的 Fusion API MCP reference implementation，README 明确 HTTP/MCP 和 `execute_api_script`。
- [SolidCAM Maker](https://solidcam.com/zh-hans/cam-%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/solidcam-maker-%e7%89%88%e6%9c%ac/)：免费 Maker 条件与限制。
- [Estlcam](https://www.estlcam.de/)：官方免费版/许可说明。
- [Onshape Pricing](https://www.onshape.com/en/pricing)、[CAM Studio](https://www.onshape.com/en/features/cam-studio)、[API Guide](https://onshape-public.github.io/docs/api-adv/)：Free/CAM 计划边界和 API 范围。
- [ZW3D](https://www.zwsoft.com/product/zw3d)：国产商业 CAD/CAE/CAM、2–5 轴和试用信息。
- [柏楚电子官网](https://www.bochu.com/)：激光切割控制、套料排样、激光头、视觉与工业自动化产品线；[官方产品列表](https://www.bochu.com/en/product/)显示 FSCUT 系列控制器与工业软件，官方未公开 MCP/REST/CLI CAM SDK。
- [柏楚电子公司介绍](https://www.bochu.com/about/)：业务定位与产品线说明。

## 最小验证方案

建议只先做两个 PoC：FreeCAD CAM 和 Kiri:Moto。复用本仓库已有 pocket、contour、drilling 合成夹具，并补充刀具过宽、低安全高度、超深孔、无单位、非法 stepdown 等负向输入。

统一产物字段：

```json
{
  "result_id": "...",
  "engine": "freecad|kiri",
  "engine_version": "...",
  "input_sha256": "...",
  "units": "mm",
  "wcs": "...",
  "tool": "...",
  "operation": "...",
  "status": "validated|failed|timeout",
  "gcode_path": "...",
  "gcode_sha256": "...",
  "bounds": "...",
  "warnings": [],
  "errors": []
}
```

验证顺序：

1. 干净工作目录导入或创建几何；
2. 配置毛坯、WCS、刀具、加工操作；
3. 计算刀路并检测明确完成状态；
4. 后处理生成非空、可解析 G-code；
5. 连续重复两次并比较归一化运动语义、Z 深度、进给和安全高度；
6. 仅在 CAM 引擎 PoC 通过后，为上述窄接口增加 MCP/Skill 包装：`describe_capabilities`、`validate_job`、`generate_toolpath`、`inspect_result`、`postprocess`。

不把任意 Python 执行、GUI 自动点击、生成文件或浏览器 Worker 调用直接称为完整 CAM MCP。首轮不连接真实机床。

## 最终建议

- **通用机械、愿意接受 2.5D/三轴限制**：先选 FreeCAD CAM。
- **希望做 Web/服务化、自托管、易封装 Agent**：先选 Kiri:Moto。
- **需要 CLI 批处理且工艺主要是三轴**：评估 PyCAM。
- **已有 Blender/网格工作流**：评估 FabexCNC。
- **已有 Fusion 个人非商业资格且接受受限 CAM**：可把 Fusion Personal + FusionMCPSample 作为对照，不要当成通用商用免费方案。
- **国内软件**：本次没有足够官方一手证据证明免费和 AI/API 友好，不强行推荐；下一步应向 ZW3D、CAXA、精雕、华中数控等厂商索取正式许可、SDK、二次开发手册和版本兼容承诺。
- **柏楚电子**：工业成熟度高，属国产激光制造与智能制造的代表；其“AI 友好”尚无公开证据，建议按设备 SDK/上位机通信协议方向单独调研，而不是与通用 CAM 同类比较。

本报告中的“AI 友好”主要表示存在可编程控制面，并不表示软件自带 AI，也不表示已经完成 MCP PoC。