用AI Agent驱动BIMCraft:MCP + CLI让AI自动帮你建模的完整指南

【免费下载链接】BIMCraft

BIMCraft: building information modeling; an open-source, clean-room take on the Revit workflow in pure Rust, built to be driven by agents

项目地址:https://gitcode.com/gh_mirrors/bim/BIMCraft
点击查看免费下载

BIMCraft 是一个开源的 BIM 建筑信息建模工具,用纯 Rust 复现了 Revit 的建模工作流,而且天生"为 AI 而生":它把每一个按钮、每一个工具都做成了可被调用的命令,再通过MCP(Model Context Protocol)服务器和bimcraft-cli 命令行暴露给 AI Agent。也就是说,你可以对 Claude 等 AI 说一句"给我画一栋两层小楼",AI 就能自动完成画墙、开门窗、放楼梯、查面积、渲染出图、导出 IFC 文件的全流程,你全程只需看着它干活。

为什么BIMCraft适合让AI Agent来建模

多数 BIM 软件的操作藏在鼠标和菜单里,AI 根本"摸不到"。BIMCraft 的设计反过来:一切皆命令(Everything is a command)。

  • 界面上的每个工具(Wall、Door、Window、Room、Stair、Roof……)背后都是一条带 JSON 参数的命令,命令目录在 crates/core/src/commands.rs 中统一维护;
  • 桌面端、CLI 脚本、MCP 服务器全部走同一个执行入口Session::execute(见 crates/core/src/engine.rs),所以 AI 建的模型和你手点出来的模型完全等价:同样经过模型规则校验、同样可撤销(Undo)、同样能保存;
  • 命令失败不会弄坏模型,而是返回一句人话错误(例如door: no wall at [4000, 3000]),AI 读到后会自动修正重试。

对新手来说,最直观的好处是:你不需要学 Revit,只需要会用自然语言描述需求,AI Agent 负责把需求翻译成建模命令。

三步上手:让 AI Agent 接上 MCP 建模服务器

第 1 步:构建 CLI 并启动 MCP 服务器

git clone https://gitcode.com/gh_mirrors/bim/BIMCraft cd BIMCraft cargo build --release # 启动 MCP 服务器(走 stdio 的 JSON-RPC 协议) ./target/release/bimcraft-cli mcp

MCP 服务器的实现只有两个文件:协议与 9 个工具在 apps/bimcraft-cli/src/mcp.rs,入口在 apps/bimcraft-cli/src/main.rs。它自带一套"AI 使用说明"(mcp.rs#L20-L32),在initialize握手时自动发给 Agent——AI 一连接就知道单位是毫米、坐标朝哪、每个工具怎么用,不需要你写提示词教它。

第 2 步:把服务器注册到你的 MCP 客户端

以 Claude Code 为例:

claude mcp add bimcraft -- ./target/release/bimcraft-cli mcp

其他任何支持 MCP 的客户端,在配置里加一段即可:

{ "mcpServers": { "bimcraft": { "command": "/path/to/bimcraft-cli", "args": ["mcp"] } } }

第 3 步:直接用自然语言下指令

"新建一个项目,画一栋 6m × 4m 的小屋,南墙开一扇 900mm 的门,东墙开一扇窗,标注房间面积,最后渲染一张 3D 图给我。"

AI 会自动拆解成下面这条命令链,逐条执行并检查结果。

AI Agent 能调用的 9 个 MCP 工具

工具清单定义在 apps/bimcraft-cli/src/mcp.rs#L91-L116,覆盖从建项目到出图的完整闭环:

工具作用
execute {command, params}执行任意 BIMCraft 命令,如wall、door、stair
script {text, atomic?}一次执行多行命令;atomic时全部成功或全部回滚,且只占一个撤销步
list_commands列出全部命令及参数,AI 用它"翻说明书"
inspect_model查看楼层、元素数量、类型、告警和撤销历史,AI 用来自查
query_elements按类别/楼层查询元素,附带派生值(墙长、房间面积等)
schedule生成/查询明细表:房间面积表、门窗统计表,支持筛选、排序、合计
render把楼层平面、剖面、立面或 3D 视角渲染成 PNG 图片返回给 AI 看
new_model/open新建项目,或导入.bimcraft、.ifc、甚至 Revit.rvt文件
save保存项目,或按扩展名导出.ifc、.svg、.png、.pdf

其中render是整个流程里最有意思的一环:AI 不是"盲画",画完可以看到自己画了什么,不对就改,形成"建模 → 看图 → 修正"的闭环。项目自带的集成测试(mcp.rs#L321-L349)演示的正是这个过程:Agent 仅凭 MCP 就建好了一间小屋、核对面积并导出 IFC。

实战:AI 用 6 行命令建完一间小屋

这是 AI 通过script工具提交的一次典型建模脚本(单位:毫米):

wall {"points": [[0,0],[6000,0],[6000,4000],[0,4000]], "closed": true} door {"at": [3000, 0]} window {"at": [6000, 2000]} room {"point": [3000, 2000], "name": "Cabin"} floor {} roof {}

执行后inspect_model回报:4 面墙、1 扇门、1 扇窗、1 个 24㎡ 的房间、1 个楼板和 1 个屋顶,全部就位。render工具再把结果"画"出来:

如果要核对成果,AI 还可以调schedule {"category": "rooms"}拿到面积合计,或render {"view": "{3D}"}直接看 3D 效果。整个过程中人只做两件事:提需求、验收。

进阶:让 AI 直接操作你正打开的工程

默认情况下 MCP 服务器在自己的独立会话里干活,互不干扰。如果你想让 AI 直接修改你屏幕上正在编辑的项目,用--connect模式:

bimcraft --control 0 # 以控制端口启动桌面端,窗口会显示端口 bimcraft-cli mcp --connect # MCP 服务器接入该窗口

接入后(实现见 apps/bimcraft-cli/src/window.rs):

  • AI 画的每一笔都实时出现在你的窗口里,就是一个普通撤销步,Ctrl+Z 可取回,Ctrl+S 即保存;
  • 安全边界很明确:控制端口只监听本机 127.0.0.1,连接必须出示只有你才能读到的 token 文件(bridge.json),且 AI不能用new_model/open替换你的项目——换项目只能由你本人操作。

不接 AI,CLI 也能批量建模

bimcraft-cli本身就是个强大的脚本引擎,适合批量任务和 CI 流水线:

# 58 行脚本建出完整样房,导出项目文件、IFC4 和平面图 bimcraft-cli run --sample --save house.bimcraft --save house.ifc --save plan.png # 从 Revit 文件导入并转成 IFC4,全程无需安装 Revit bimcraft-cli convert building.rvt building.ifc # 一行生成 20 层、9500+ 构件的性能样板塔 bimcraft-cli run --highrise --save tower.bimcraft # 脚本见 samples/highrise.txt bimcraft-cli commands # 打印全部命令与参数,等于一本速查手册

导入.rvt的能力由独立的读取器 crates/rvt 提供,来源与边界说明见 docs/rvt-provenance.md。

源码导读:想深入看看 AI 是怎么被驱动的

  • MCP 服务器与 9 个工具:apps/bimcraft-cli/src/mcp.rs
  • CLI 子命令(run / info / convert / commands / mcp):apps/bimcraft-cli/src/main.rs
  • --connect窗口接入与 token 校验:apps/bimcraft-cli/src/window.rs
  • 命令目录(AI 能调用的全部建模动作):crates/core/src/commands.rs
  • 会话执行、校验与回滚机制:crates/core/src/engine.rs
  • 面向 AI 的开发规范说明:CLAUDE.md

小结

BIMCraft 把"AI 建模"从概念变成了现实:MCP 让 AI会操作,render让 AI看得见,inspect_model和schedule让 AI能自查,--connect让 AI进得了你正在编辑的工程,而save到.ifc让成果能被其他 BIM 软件使用。对新手而言,这是目前上手"用 AI 自动建模"门槛最低的路径之一——clone 仓库、构建、注册 MCP,然后就可以开始对话式盖房子了 🏠

【免费下载链接】BIMCraft

BIMCraft: building information modeling; an open-source, clean-room take on the Revit workflow in pure Rust, built to be driven by agents

项目地址:https://gitcode.com/gh_mirrors/bim/BIMCraft
点击查看免费下载

相关推荐

上一篇:PyWxDump项目下架启示录:开源合规与法律风险的终极指南
下一篇:MagiskOnEmulator新手必看:RAMdisk备份与恢复的安全操作指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考