高尚
← 文章

我给小龙虾开发了一个 Revit

2026 年 4 月 6 日 · AI · BIM · OpenClaw · Revit

你可能已经在用小龙虾(OpenClaw)帮你干各种杂活了:写周报、整理文件、回消息。但你大概没想过让它帮你画图、做设计、审方案。

原因很简单:它看不懂建筑模型。Revit 文件是二进制的,IFC 是给机器解析的,小龙虾打开这些东西就像你打开一堆乱码。

所以我做了 BimDown,一个让 AI 能直接读写的建筑数据格式,加上一套配套工具。装上这个技能包之后,你的小龙虾就能做建筑相关的事情了,而且不需要安装 Revit 或任何专业软件。

格式本身为什么这样设计、跟 IFC 和 Revit API 的横向评测,我在上一篇《如何让 AI Agent 真正理解建筑?构建 AI 原生的 BIM 数据结构》里写过了。这篇只讲应用:Agent 真去读写这些文件的时候,工作流是什么样的,能解决哪些具体问题。

它能干什么

先看几个演示场景。

Demo 1:从需求到方案

你是一个业主,有一块地,想看看能建什么样的办公楼。你跟小龙虾说:

“帮我设计一栋 6 层办公楼,标准层 800 平左右,核心筒居中,一层做大堂。”

小龙虾会自动确定层高和核心筒尺寸,设计标准层平面(核心筒居中、四周开敞办公),一层特殊处理成大堂,逐层生成模型文件,渲染每层平面图,最后给你一个在线预览链接,打开就能看 2D 和 3D。

你看了觉得会议室太少?

“每层加两间小会议室。西面的办公区太深了,采光不好,缩进 2 米。”

小龙虾改完之后重新渲染,你能直观对比改前改后的平面图。整个过程就像跟设计师对话,但不用等排期。

对 Agent 来说,“缩进 2 米”不是三维体块的布尔扣减,只是改一下那几面墙的坐标。门窗在 BimDown 里是挂在某面墙上、按沿墙的距离定位的,墙退了,上面的窗户自然跟着走,不容易出现三维软件里常见的构件被扯断、破面的问题。

Demo 2:从图纸到模型

你手上有一张标准层平面图(PNG 或 PDF),需要建出整栋楼的 BIM 模型。

“这是标准层平面图,帮我建出整栋楼的建筑模型。一共 12 层,首层层高 5.4m,标准层 3.6m。”

小龙虾识别图中的墙体、门窗、房间,提取坐标生成标准层模型,然后按层数复制(首层根据层高差异调整),生成全楼模型。

这里最有用的是下面会讲到的”渲染自检”:Agent 每建完一部分,就渲染一张平面图跟原图对比,哪里歪了、哪里没对上,自己修,直到基本吻合。

不是画个示意图,是真的有数据的模型:每面墙有材料和厚度,每扇门有宽度和开启方式。

建筑模型确认后,还能继续加结构:

“现在帮我加上结构,框架结构,柱网跟着轴网走。”

小龙虾读取轴网,在交点放柱子,沿轴网生成梁,每层加结构板。建筑和结构分步完成,模型逐步丰富。

Demo 3:设计师交图,业主用 AI 审查

这个场景有两个角色:设计师在 Revit 端,业主在小龙虾端。

设计师分享:在 Revit 里点「分享」按钮,插件自动导出模型、上传、生成一个链接发给业主。

业主审查:业主把链接发给小龙虾:

“帮我看看这个设计方案,有什么问题?”

小龙虾读取整个模型,渲染每层平面图,用 SQL 统计面积、公摊率、房间数量,然后主动发现问题:

  • “走廊占总面积 26%,高于行业平均 20%,建议优化”
  • “5 层西南角的办公室没有窗户,不满足自然采光要求”

业主说”走廊缩到 1.8m,那间没窗的房间开一扇窗”,小龙虾检查消防规范合规后执行修改,提交变更记录(git commit)。

设计师那边的 AI 读取修改记录,自动生成变更报告:哪面墙移了、影响多少面积、消防是否合规。设计师确认后,Revit 插件一键导入,自动应用修改。因为每一处修改都是带构件 ID 的增量,Revit 这头做的只是”把这几面墙挪一下、在这面墙上加一扇窗”,不会动模型里的其他东西。

以前的做法是发截图、在图上画红圈写批注,设计师再凭印象回到大模型里找对象手动改,很容易漏。现在整个闭环不需要业主学 Revit,也不需要设计师手动重画,每一处修改都有 git 记录可以追溯。

Demo 4:消防疏散分析

“这栋楼消防能过审吗?帮我检查每层的疏散距离。”

在 BimDown 里,房间、走廊和门之间的关系本来就是现成的二维数据,可以直接抽成一张通行图:房间和走廊是节点,门是边。找最近的疏散楼梯,就变成了计算机科学里很成熟的图上最短路径问题。Agent 自己写一个 Dijkstra 跑一遍就行,不用像物理模拟那样担心模型里哪个墙角没封严,路径就走不通。

小龙虾读取每层的墙体拓扑,构建通行图,识别疏散楼梯位置,对每个房间计算到最近楼梯间的步行距离,对照规范(直通疏散 ≤40m,袋形走道 ≤22m),输出结果:

✅ 1-2 层:所有房间疏散距离 ≤35m,达标
⚠️ 3 层:东南角办公室疏散距离 43m,超标 3m
⚠️ 4 层:东南角同位置疏散距离 45m,超标 5m
✅ 5-6 层:达标

然后它不只报问题,还推理修复方案:比起增设第三部楼梯(代价大),不如在走廊尽端加一扇通向相邻防火分区的疏散门(甲级防火门,代价小)。执行修改后重新计算,全楼达标。

传统做法需要消防顾问 + Pathfinder 软件,这里几秒钟完成。

Demo 5:施工流水段临时重切

4D BIM(把施工计划和模型绑在一起)推不动的一个老问题是:设计给的往往是一整块楼板,到了工地要分段浇筑;天气或资源一变,流水段又要临时从 3 段改成 4 段。在 Revit 里每次重切都是三维实体的布尔切割,反复改几次就容易把模型几何搞坏,所以现场最后往往只看 Excel,不看模型。

“下周预报连下大雨,2 层楼板计划有变。把原本切好的 3 个浇筑分区作废,根据轴线 1-3、3-6、6-8、8-10 把整层楼板重新切成 4 个施工流水段,关联到下周一至周四的施工计划上。”

对 Agent 来说,它面对的只是一个 slab.svg 和一张轴网表 grid.csv。切板就从三维实体切割变成了平面上的多边形裁切,简单而且稳定。切完之后跑一次 bimdown build,重新算出每一块的面积,乘以板厚就是每段的混凝土方量,可以直接拿去跟搅拌站报单。最后渲染一张四色的流水段平面图,让总工核对施工缝的位置是否合理。

这是怎么做到的

1. 一种 AI 看得懂的建筑数据格式

BimDown 用两种文件描述一栋建筑:

  • CSV 表格:记录每个构件的属性,比如这面墙是混凝土的、厚 200mm、在第 3 层
  • SVG 图形:记录每个构件的形状,比如这面墙从 (0,0) 画到 (5,0)

这两种格式都是纯文本,AI 天然就能读写。CSV 就是 Excel 能打开的表格,SVG 就是浏览器能渲染的矢量图,不需要任何专业软件就能查看和编辑。

一栋楼按楼层分成文件夹,每层的墙、门、窗各一个文件。AI 做设计的时候只需要关注当前楼层,不会被其他楼层的信息干扰。

2. 给小龙虾装一个建筑技能包

OpenClaw 的技能系统(Skill)允许你给它加载新的能力。BimDown 提供了一个现成的技能文件,小龙虾加载之后就知道:

  • 怎么写墙体的 CSV 和 SVG
  • 门窗只需要说”在哪面墙的什么位置”,不用算坐标
  • 房间只需要放一个点在围合区域里,边界自动算出来
  • 每种构件的 ID 怎么编、字段怎么填

相当于你给它一本《建筑制图速成手册》,看完就能上手干活。

这个技能包同时也兼容 Claude Code 等其他支持 Skill 的 Agent,同一个文件,多个平台通用。

3. 执行、校验、看图修正

Agent 操作这些文件的方式,基本是一个”执行、校验、看图修正”的循环:

  1. 查表读写:第一次遇到某种构件,先跑 bimdown schema 查一下字段,然后直接读写对应的 CSV/SVG。数据量大或者要过滤的时候,用内置的 DuckDB 跑 SQL 了解现状。
  2. 本地校验:大模型写纯文本时经常算错坐标,所以每次改完文件都要跑 bimdown build。墙没闭合、构件挂错了,编译器会通过标准错误输出把报错直接甩回给 Agent,让它自己修。
  3. 看图修正:校验通过之后,Agent 用 bimdown render 渲染一张平面图,用多模态能力自己”看一眼”刚建出来的东西,发现排得不对的地方再微调。

上面五个场景,都是在这个循环里跑出来的。

4. 发布之后,人能看、能改

小龙虾做完设计之后,运行一条 bimdown publish 命令,模型上传到 BimClaw,返回一个分享链接。

打开链接,你能看到:

  • 2D 平面图:每层的墙体、门窗、房间标注
  • 3D 模型:可以旋转、缩放、点选查看构件信息
  • 在线编辑:直接在浏览器里调整,不需要装软件

BimClaw 的浏览器编辑器:3D 视图,右侧是 Agent 面板

整个工作流是:小龙虾出方案,你在浏览器里审查修改,确认后交付或者继续深化。

5. 跟 Revit 无缝对接

如果你的团队用 Revit,BimDown 提供了一个 Revit 插件,支持双向导入导出:

  • 从 Revit 导出:把现有模型转成 BimDown 格式,交给小龙虾分析或修改
  • 导回 Revit:小龙虾改完之后,导回 Revit 继续深化,元素 ID 全程保持一致,不会丢数据
  • 一键分享:Revit 里点「分享」按钮,自动导出、上传、生成链接,发给甲方或同事直接在浏览器里看

不用 Revit 也完全没问题。BimDown 本身就是一个独立的格式,小龙虾可以从零开始建模。Revit 插件只是为了跟现有工作流对接。

跟 Revit 比,还差什么

BimDown 定位在方案阶段(LOD 200),不追求施工图级别的信息量。以下是目前格式层面尚未覆盖的 Revit 能力,按类别列出(更细的清单见上一篇的附录):

几何

特性说明
自由曲面 / NURBS只支持直线和圆弧,异形建筑用 GLB 网格回退
编辑过的墙轮廓山墙、异形剖面墙无法表达
坡度楼板楼板目前只有水平轮廓,没有坡度信息
非圆弧曲线墙椭圆弧、样条线墙不支持

构造与材料

特性说明
多层构造墙/楼板的核心层、保温层、饰面层,BimDown 只存主材料枚举
族参数与公式Revit 族的参数驱动、约束、嵌套族都不建模
类型目录同一族的多种类型规格

项目管理

特性说明
阶段(Phase)现有/拆除/新建 的阶段信息
设计选项多方案比选
工作集多人协同分工
链接模型跨专业/跨建筑引用
组与阵列重复单元的参数化复制

视图与出图

特性说明
视图 / 图纸 / 标注剖面、立面、详图、尺寸标注、文字标注
明细表Revit 的 Schedule 报表
渲染与材质贴图可视化渲染所需的材质纹理

专业计算

特性说明
结构荷载与分析荷载工况、分析模型
MEP 计算风量、水流量、压降、管径计算
能耗分析热工参数、能耗模拟

其他

特性说明
场地与地形场地模型、等高线、建筑红线
家具与设备族参数化的家具、卫浴洁具(目前只能用 GLB 网格表示)
幕墙嵌板细节幕墙有基本参数,但不建模每块嵌板

这些缺失是有意为之:BimDown 关心的是”什么东西在哪里”,不关心”构造做法是什么”。方案阶段确定空间关系和系统布局,施工图深化留给 Revit。

如果导出时遇到 BimDown 无法参数化表达的构件(比如一个异形的定制族),Revit 插件会自动导出一个 GLB 网格文件作为几何回退:3D 能看到,但 AI 不能参数化修改它。

这个项目的状态

BimDown 是一个开源项目,代码在 GitHub 上,MIT 协议。

目前支持的构件类型覆盖了建筑、结构、MEP 三大专业,墙、柱、板、梁、门、窗、楼梯、风管、水管等 30 种。上面列的那些缺失项,有些会逐步补上(比如坡度楼板、场地),有些则刻意不做(比如族参数,那是 Revit 的核心价值,不需要重新发明)。

它不是要替代任何软件,而是在 AI 和建筑设计之间架一座桥。让你的小龙虾不只会写文档,还能帮你画图。


GitHub:NovaShang/BimDown

有问题或想法欢迎在 GitHub 上开 Issue,或者直接让你的小龙虾来读这个项目的代码,它看得懂。