mcpField
A
apolo-cad

apolo-cad

本地服务
github.com媒体与设计3今天更新

关于 apolo-cad

apolo-cad 是面向工业机械设计的参数化 3D CAD,供 AI Agent 通过 MCP 建模、验证并生成工程交付物。它将可编辑命令日志与物理仿真、工程检查和图纸报告生成结合起来。

主要功能

  1. 01参数化 3D 建模与编辑
  2. 02干涉、重力与工程验证
  3. 03生成图纸、计算报告和 BOM
  4. 04仿真运动与控制系统
  5. 05命令日志支持撤销与重做

适用场景

  1. 01设计并验证输送机或搅拌机
  2. 02生成制造用图纸和计算报告
  3. 03检查机械装配的碰撞与稳定性

MCP 相关

MCP 服务向 MCP 客户端提供建模、测量、验证、仿真和文档生成工具,并通过 HTTP API 操作 CAD 项目。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mariorojasmz-apolo-cad": {
"command": "uvx",
"args": [
"apolo-cad"
],
"env": {
"APOLO_URL": "<APOLO_URL>"
}
}
}
}
启动命令uvx apolo-cad
需要配置的环境变量
APOLO_URLURL of the running Apolo API server (start it with: apolo)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiapolo-cad0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

English · Español

在 Apolo 中按真实尺寸建模的箱式升降机(未安装外罩)、搅拌罐、桨叶混合机和带式输送机

Genix Apolo CAD

面向工业机械的参数化 3D CAD,旨在由 AI Agent 驱动。
Agent 通过 MCP 像工程师一样设计,并交付完整成果: 经过验证的 3D 模型、施工图、计算报告、含成本的 BOM 和装配手册。

MIT Python OCCT MCP 92 种工具 6641 项测试


项目简介

Apolo 是一款无头参数化 CAD(通过 build123d 使用 OpenCascade),配有 FastAPI 服务和 three.js Web 查看器。每项操作都是对同一个 HTTP API 的命令;AI Agent、Web UI 和 MCP 服务都是该 API 的平等客户端。

目标不是在按钮操作上与 SolidWorks 或 Inventor 看齐。这些工具围绕用户点击操作而构建;Apolo 则围绕 Agent 构建,力求达到称职的工程设计团队交付的相同成果:

  • 可制造且能稳定支撑自身的 3D 模型(检查紧固方式、载荷路径、间隙和重力,而非想当然);
  • 施工图、引用相关标准的计算报告、含成本的 BOM 和报价,以及分步骤的装配手册;
  • 从 V8 开始,还包括机器的控制面板、PLC 程序和气动系统,并在制造之前通过虚拟调试运行完成测试。

Agent 默认运用工程判断:可拆卸部件采用螺栓连接,防护罩有支撑并固定;只要仍有部件悬空、碰撞或缺少明确的紧固方式,设计就不会被判定为完成。

效果展示

采用 AISI 304 不锈钢的 500 L 搅拌罐,配有控制面板200 L 桨叶混合机,配有控制面板和气动卸料门
500 L 搅拌罐 — AISI 304 不锈钢,配有齿轮电机、斜叶轮、联锁式检修舱口,以及带 PLC、驱动器和安全继电器的控制面板。通过发布门槛。200 L 桨叶混合机 — 配有气动卸料门(FRL、5/2 阀、气缸)、盖板和容器联锁,以及带 PLC 的控制面板。
用于包裹输送的 4 m 带式输送机木质和玻璃材质的双扇折叠门
4 m 包裹带式输送机 — 基准测试的参考项目,完全参数化。双扇折叠门 — 木质和玻璃材质;同一引擎也可用于机械以外的领域。
双层箱式升降机沿提升链上下运行 运动与物理仿真。双层箱式升降机(如图未安装外罩)运行其命名运动研究:平台悬挂于两条两端固定的滚子链上,链条会随平台在每个姿态下移动。系统会扫描运动研究的整个行程,检查碰撞;MuJoCo 可模拟重力、跌落测试以及动力关节、皮带和传感器。

本页所有图像均由 Apolo 自身渲染,使用的引擎与 Agent 查看自身作品时相同(render_view、motion_gif、drawing)。
### 3D 控制面板 搅拌罐的控制面板:带指示灯和急停按钮的门,以及装有导轨、线槽和设备的内部

Agent 声明电路(带端子的设备、电线、导体),layout_tablero 据此构建面板:外壳、DIN 导轨、线槽、设备,以及带操作器件的门。 Apolo 执行电气规则检查(短路、电压交叉、未受保护的电机、接地), 将面板加入 BOM 和成本核算,并让 PLC 程序在真实端子上运行。

使用一个模型即可获得

搅拌罐装配图:包含三视图、带气泡标注的零件清单、焊接符号、紧固件明细表和着色等轴测图
交付物内容
图纸集(PDF、DXF;使用 ODA 生成 DWG)装配图纸,含零件清单和气泡标注;每个零件一张图纸,含孔位标注、ISO 286 配合、公差基准和 GD&T、ISO 2768-mK、ISO 1302 粗糙度、ISO 2553 焊接符号、切割清单、紧固件明细表,以及含锚固载荷的安装图纸
计算报告(A4 PDF)设计依据、公式、代入计算,以及每项检查的安全系数;每项均注明所依据的标准(CEMA、ISO、DIN、EN、AISC),并附带网格收敛的 FEA 结果
BOM、成本核算和报价单物料清单(机械、电气和气动)、切割清单、排样,以及每项成本都注明来源的报价单
装配手册按载荷路径从地面向上排列的步骤,并为每步提供紧固扭矩和扳手规格
气动原理图根据声明的气路生成的 ISO 1219 图纸(示例)
验证干涉、重力与稳定性、公差叠加(最坏情况和 RSS)、线性静态 FEA,以及两个关卡:delivery_check(绿色 / 琥珀色 / 红色)和更严格的 publication_gate

快速开始

pip install "apolo-cad[physics,fea]"   # extras: MuJoCo physics, linear static FEA
apolo --open                            # API + web UI on http://127.0.0.1:8000

支持 Python 3.11–3.13;CI 在 Linux 和 Windows 上运行。项目存储在 ~/.apolo/ (可通过 APOLO_HOME 更改)。如果没有发布 wheel,apolo-cad[sketch] 会强制使用 PlaneGCS 草图求解器;否则草图工具会回退到 SciPy。

通过 MCP 连接 Agent

保持 apolo 运行,并在任意 MCP 客户端(Claude Code、Claude Desktop,……)中注册 stdio 服务:

{
  "mcpServers": {
    "apolo-cad": {
      "command": "apolo-mcp",
      "env": { "APOLO_URL": "http://127.0.0.1:8000" }
    }
  }
}

该服务也已列入官方 MCP 注册表,名称为 io.github.mariorojasmz/apolo-cad。 然后用自然语言提出需求:

“设计一台 4 m × 600 mm 的皮带输送机,用于输送 1–15 kg 的包裹,配备空心轴减速电机和带急停按钮的控制面板。检查是否有碰撞或倾倒风险,并提供图纸集和计算报告。”

Agent 以循环方式工作:使用 run_batch 建模(原子批次:一次重新生成、一个撤销步骤;还可选择添加契约,在间隙或干涉断言失败时回滚整个批次),使用 render_view 和 measure 查看,使用 check_interference、gravity_test、engineering_check 和 delivery_check 验证,并使用 drawing_set、calc_report、quotation 和 assembly_manual 生成文档。

写入核心精简(run_command、run_batch、edit_command、edit_batch、撤销/重做), 覆盖整个命令注册表;其余 92 个工具用于读取、测量、模拟和生成文档。Agent 执行的所有操作都会作为命令记录在日志中:可编辑、可撤销,并可在浏览器中实时查看。

工作原理

   AI agent (MCP) ──┐        ┌── web UI (React + three.js)      equal clients
                    ▼        ▼                                  of one HTTP API
               core/apolo/api      FastAPI · REST + WebSocket · jobs
                    │
   doc        document = command log (event-sourced, undo/redo, KB-sized .apolo files)
   commands   command registry + JSON Schemas: UI, dialogs and agent tools from one source
   kernel     build123d / OpenCascade: B-rep, rendering, measurement, picking
   library    standards-based catalog, BOM, costing, engineering rules
   assembly   joints, mates, constraints, connectivity
   drawing    HLR drawings, drawing sets, calculation report, manual
   physics    MuJoCo: gravity, drop test, dynamics          fea   gmsh + scikit-fem
   plc        Structured Text compiled to safe Python       cosim electrical + PLC + mechanics
  • 文档是一份命令日志。 几何数据从不存储:打开文件时会重放日志,因此文件只有几 KB 大小,而且每条历史命令都可以编辑。
  • 由架构驱动。 添加到注册表中的命令会自动显示在工具栏、对话框、属性面板和 Agent 的工具中,无需编写其他代码。
  • 处处支持表达式。 任何数值字段都接受基于项目变量的 "=expression";更改变量即可重新生成模型。
  • 使用声明式选择器选择边和面(方向、面、长度、邻近度),而非脆弱的拓扑名称。
  • 机器模板是超级命令(create_belt_conveyor、create_roller_conveyor、create_hoist_chain、create_pneumatic_cylinder、layout_tablero,……):它们继承参数化编辑、撤销、BOM 和 Agent 调用能力。
  • 包含 469 个条目的目录,按标准尺寸(ISO、DIN、EN、ASTM)构建:轴承、型材、紧固件、齿轮电机、电气和气动设备。

活生生的机器(V8)

当前路线图为每台机器配备真实的控制系统:

  • 电气模型:包含端子、导线和导体的设备;ERC;电气 BOM 和成本核算。
  • 3D 控制面板:导轨、线槽、设备和柜门,线长、线槽填充率、散热(IEC 60890)和电缆格兰头。
  • PLC:程序使用结构化文本(Structured Text,IEC 61131-3)编写,并编译为安全、确定性的扫描程序,带有看门狗。
  • 协同仿真:电源为面板供电,PLC 读取传感器并驱动接触器和驱动器,电机带动 MuJoCo 物理模型运动,每个测试场景都会显示绿色或红色结果。在查看器中按下控制面板上的按钮,即可观察机器的响应。
  • 气动系统:FRL、阀门、气缸和软管;气缸以自身推力推动,速度由流量设定,并消耗压缩空气;提供 ISO 1219 原理图。

状态

V1–V7 已完成:建模、装配、工程图、交付物、稳健性和性能。 V8「活生生的机器」正在开发中:电气模型、物理仿真、协同仿真和实时查看器已完成;3D 面板、气动系统和起重链正在完成中。 详情请见路线图。

成熟度以交付物而非功能衡量:将 Apolo 生成的同一台机器的交付包,与手工完成的交付包进行对比评分,评分标准公开 (基准测试)。

交付机器之前,第二个 Agent 会使用车间检查清单进行盲审 (审查提示词);每个确认的问题都会转化为一条规则。

刻意不纳入范围:CAM、接触或非线性 FEA、多用户云端功能和生成式设计。

从源代码运行

python -m venv .venv
.venv\Scripts\python -m pip install -e "core[dev,physics,fea]"
cd ui ; npm ci ; npm run build ; cd ..
.\start-apolo.ps1                                   # API + UI on http://127.0.0.1:8000
.venv\Scripts\python -m pytest tests -q -n auto    # 6641 tests

此代码库为源码检出版本提供 .mcp.json。Web UI 还内置了一个可选聊天功能,默认关闭(APOLO_CHAT=1 和 ANTHROPIC_API_KEY)。

贡献

欢迎贡献。请先阅读 CONTRIBUTING.md:了解哪些贡献会被接受、如何运行测试和构建,以及提交风格。提交首个拉取请求时,系统会通过 CLA Assistant 请你签署一次贡献者许可协议。报告安全问题,请遵循 SECURITY.md。

许可证

MIT © 2026 Mario Rojas。

基于自由软件构建:OpenCascade(LGPL)、 build123d(Apache-2.0)、 FastAPI(MIT)、three.js(MIT)、 MuJoCo(Apache-2.0)、gmsh(GPL,可选 fea 额外组件)以及 scikit-fem(BSD)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。