收益:
- 能够与 BIM(建筑信息模型)数据和人工智能协同工作,并区分哪些任务适合自动化
- 能够使用Dynamo/代码和自然语言实现模型查询、参数填充和冲突报告起草
- 能够了解模型数据的机密性以及在模型上运行人工智能生成的代码/脚本之前验证其的需要。
现代建筑不再使用直线,而是使用 BIM。 BIM(建筑信息模型)是一种不仅将建筑物建模为线条,而且将其建模为内部携带信息的智能对象的方法:每面墙都是一个“墙”对象,携带其厚度、材料、耐火性等数据。 Revit 和 ArchiCAD 等软件可生成此模型; IFC(工业基础类)是一种通用文件格式,因此不同的软件可以共享此模型。 BIM 模型是一个巨大的数据池,人工智能在处理这些数据、查询数据以及自动执行重复任务方面非常强大。在本单元中,您将学习如何将 AI 安全地融入 BIM 工作流程、使用自然语言查询模型、填充参数以及验证 AI 生成的代码。
人工智能在 BIM 中的真正作用
BIM 中的 AI 在三个主要工作中大放异彩:
- 查询和报告:用代码或自然语言翻译诸如“列出模型中需要 1 小时耐火性的墙壁并将该值设为空”之类的问题。
- 参数填充和编辑:按照规则批量填充数百个对象的缺失数据。
- 代码/脚本生成:为 Revit、冲突控制逻辑、计划布局生成 Dynamo(可视化编程工具)或 Python 脚本。
AI在这里是一个加速器和代码助手,它不拥有模型。会破坏模型的操作(批量删除、覆盖)应始终经过人工控制。
注意:AI 生成的 Dynamo 或 Python 脚本可能会对您的模型进行不可逆转的更改(批量删除、参数覆盖)。切勿先在主模型上运行此代码;在备份副本上进行少量选择的测试。
使用自然语言进行模型查询
BIM 数据隐藏在表格中,浏览这些表格需要时间。人工智能要么将您用自然语言提出的问题翻译成可直接回答的代码段,要么分析您导出的图表。例如,您可以以文本形式提供门明细表并询问“哪些门的耐火参数为空?”这对于发现被忽视的缺陷非常有效。
但这里有一个陷阱:AI 建议的参数名称可能与你的模型中不完全相同。在 Revit 中,参数名称可以是土耳其语、英语或自定义名称。您的模型可能具有“Fire_Resistance”,而 AI 则假定“FireRating”。这就是为什么在运行代码之前必须将参数名称与模型相匹配的原因。
一步一步:使用 AI 安全地执行 BIM 任务
- 定义任务。写清楚你想要什么:查询、填写、报告?
- 给出模型上下文。向 AI 引入参数名称、类别名称、单位。
- 请求代码/逻辑。从 AI 生成脚本或步骤列表。
- 阅读代码。逐行了解你在做什么;查看是否有批量删除/写入。
- 测试一下备用。在带有少量选择的模型副本上运行。
- 验证结果。检查模型是否确实按预期更改。
- 应用于主模型并保存。经核实,没有留下任何痕迹。
提示:当向人工智能请求代码时,让它包含一个“试运行”步骤,即“首先写下您想要更改的元素,但不要更改它们;只需报告”。这样您就可以在代码进行任何实际更改之前看到意图。
三个迷你箱子
情况 1 — 参数扫描不完整。一家办公室想要检查 1,850 个物体模型的耐火参数。 AI 提出了 Dynamo 逻辑;建筑师首先进行了一次演练,发现 212 面墙的参数为空。它按照规则(根据墙体类型)填充间隙,而不是手工填充;但火灾专家确认了最终的火灾值。
情况 2 — 参数名称不匹配。建筑师直接运行AI给出的脚本;该脚本的目标是“注释”字段,但在模型中,数据位于“注释”自定义参数中。脚本返回空,架构师损失了 20 分钟。教训:参数名称必须首先匹配。
案例 3 — 危险的批处理。 AI 生成的脚本会删除不适合过滤器的元素以“清理”它们。如果架构师在主模型中运行代码而不阅读它,则数百个对象将被删除。它可以防止灾难,因为它读取代码并在备份中对其进行测试。这正是验证可以拯救生命的原因。
四个可复制的提示
为我的 Revit 模型编写 Dynamo 逻辑:列出 [参数] 值为 NULL 的 [类别] 元素。首先进行试运行:仅报告,不要更改任何内容。我的参数名称正是:“[实际参数名称]”。单元: [...]。
分析下面的门图(导出)。标记耐火参数为空、矛盾或不标准的线条。不要编辑,只需标记并写下原因。图表:[...]
从架构师的角度检查此 Python/Dynamo 脚本的安全性:是否存在批量删除、覆盖或不可逆操作?标记有风险的线路并解释如何添加试运行。代码:[...]
将我的模型中的参数名称与 AI 假定的名称相匹配。我会给出真实的名字;您将脚本中的每个参数更改为正确的名称并列出您更改的内容。真实姓名:[...]
弱提示/强提示
弱:“在 Revit 中填充墙壁的防火值。”
Strong:“为我的 Revit 模型编写 Dynamo 逻辑。目标:列出‘Basic Wall’类别中具有空‘Fire_Resistance’自定义参数的墙。首先,仅报告(空运行),不进行任何更改。我将根据墙类型和消防专家批准填写值。我的参数名称是土耳其语;不要假设英文名称。”
强大的提示阐明了参数名称,提示试运行,并将安全关键值留给专家。
任务
适合人工智能自动化
条件
缺少参数扫描
高
干运行
图表/报告布局
高
格式控制
基于规则的批量填充
中等
参数匹配+测试
冲突评论
中等
工程师认可
火灾/载体等级确定
低
主管专家批准
常见错误
- 运行主模型中的代码而不阅读它。不可挽回损失的风险。
- 参数名称不匹配。该脚本默默地瞄准了错误的区域。
- 跳过干运行。在没有看到其意图的情况下实现代码。
- 让人工智能确定火力/携带值。这些都需要专家的批准。
- 没有备份的情况下尝试一下。测试应始终重复进行。
综上所述
BIM是一个巨大的数据池,人工智能是利用这些数据查询、填充和生成代码的强大助手。但任何可以对模型进行不可逆更改的代码都必须经过人类控制。匹配参数名称、运行试运行、在备份副本上进行测试并验证模型中的结果。永远不要让人工智能确定火力和航母等安全关键值;让他们得到有能力的专家的批准。
应用任务
在 BIM 模型(或示例计划)上定义参数扫描任务。让人工智能通过提供正确的参数名称来生成试运行逻辑,审查代码的安全性,并在备份副本上进行测试。在表格中写出哪些控件属于人工智能,哪些属于专家。
清单
- [ ] 我已经明确定义了任务(查询/填写/报告)。
- [ ] 我给了AI实际的参数和类别名称。
- [ ]我一行行读了AI代码。
- [ ] 我看到了空跑的意图。
- [ ] 我在备份副本上进行了少量选择的测试。
- [ ] 我在模型中验证了结果。
- [ ] 我把火/载体值留给了专家。