筑见实验室

BIM 模型能打开,为什么还不能直接算工程量?

ArchSight Graphics v1.5.0 是图形平台内核版。本文从一个最容易感知的工程量问题进入,说明统一模型事实、生命周期、身份、坐标、资源和能力合同,怎样让多模型场景、语义定位、跨格式接入与计算结果变得可检查、可回滚、可重验。

8 月 30 日,ArchSight Graphics v1.5.0 正式发布。

这次不想先讲增加了多少按钮。工程人员看到一个 BIM 模型进入浏览器,能旋转、选中、查看属性,接下来往往会问:面积和体积能不能直接拿来用?

答案没有“能”或“不能”这么简单。

模型能显示,只能证明它进入了视口。要给出工程量,系统还要知道它从哪里来、单位是什么、几何是否闭合、当前变换是否有效,以及这个结果是不是仍然对应眼前这份模型。

Graphics v1.5.0 是图形平台内核版。工程量只是工程人员最容易感知的例子;这次收拢的,是原本分散在 Viewer、Workbench、Loader 和 Model Compiler 中的模型事实、生命周期、身份、坐标、资源和能力合同。它们从具体界面和文件格式中独立出来,才能被 Workbench、SDK 和其他宿主共同复用。

先看一块楼板的两个答案

下面是 v1.5.0 正式工作台里的一个现浇楼板构件。它来自产品内置的“建筑房间骨架”样例,不是客户模型,也不代表真实项目工程量。选它是因为几何规则,可以把不同计算路径摆在同一个画面里对照。

当前 BRep 积分得到体积 4.536 立方米;参数公式给出的体积约为 4.54 立方米。两者在这个规则构件上基本一致,页面仍把来源、计算方式和差值分别保留。

图 1 当前几何量与参数工程量在工作台中并列核对
图 1 当前几何量与参数工程量在工作台中并列核对

页面同时显示几何表面积 54.072 平方米和参数面积 25.2 平方米。它们不是同一个物理量:前者包含构件各个外表面,后者是参数公式中的平面面积,不能因为都写着“平方米”就直接相减。

这正是工程量软件容易让人误判的地方。数字精确到三位小数,不等于它回答了正确的问题。

出现洞口、布尔扣减、复杂轮廓或来源变换以后,参数公式和当前几何结果还可能明显分开。平台需要同时保留“设计语义怎样计算”和“当前几何实际围成什么”,而不是静默选一个看起来更顺眼的答案。

给数字之前,先回答三个问题

第一,对象是不是同一个对象

构件身份要能追到模型、来源文件和派生结果。多个模型同时打开时,同名构件不能串到一起;源文件换了,旧结果也不能继续冒充当前结果。

第二,当前几何有没有计算资格

单位未知、网格开放或非流形、动态形变、退化几何、奇异变换和计算预算超限,都会改变结果的可信边界。有些模型适合浏览和选择,却不适合给出精确体积。

第三,证据是否仍然有效

坐标、变换、解析器、计算器或几何摘要发生变化,历史数字就要进入“需重新验证”。保存过一个结果,不代表它可以永久保持绿色。

每项操作都有自己的“能力护照”

v1.5.0 不再给模型贴一个笼统的“支持”标签,而是按操作声明三种状态:

  • 已验证:当前来源、身份、单位、几何和运行条件足以支持这项操作;
  • 近似:可以显示、选择或给出有限结果,但证据不足以包装成精确工程结论;
  • 阻断:关键条件缺失,系统拒绝生成貌似确定的答案。
图 2 从模型显示到操作资格的能力护照
图 2 从模型显示到操作资格的能力护照

同一个模型可以具备已验证的构件选择,却只有部分属性;可以精确定位构件,却因为单位未知而不能授予工程测量能力;可以保留视图,却必须在模型变化后重新计算工程量。

选择已验证,不等于属性完整;属性完整,也不等于工程量可算。

IFC 里已有的 QTO,和平台复算不是一回事

IFC 或发布资产里可能已经带有 QTO 等来源声明工程量。平台也可以根据当前可计算几何执行复算。

两类数字回答不同的问题:

  • 来源声明记录回答“原始模型或发布链给出了什么”;
  • 平台复算回答“当前几何在当前单位和变换下算出了什么”。

v1.5.0 可以把两类结果放进同一次查询,但会保留各自的来源、单位、证据和失效状态。默认属性查询不会在后台悄悄启动大网格积分,只有明确要求计算时才执行,并受到三角形数量和主源摘要预算约束。

对审查和工程量校核来说,差异本身往往比“选哪一个数字”更有价值。它会把问题引回模型版本、洞口扣减、单位、几何完整性和发布链,而不是让软件替人做一个无法解释的选择。

为什么这次要改图形平台的底层

要把上述判断做稳,只在界面上增加一个工程量面板不够。

Model IR v3 把几何、材质、纹理、构件语义、资源、空间索引和能力放进同一份可校验的模型事实层。Model Runtime v2 管理模型从加载、进度、取消、失败和重试,到资源驻留与释放的完整生命周期。AssetSession 则负责一次资产会话,不让 Workbench、SDK 和各格式 Loader 各自维护一套互相矛盾的状态。

这套合同先要管住“模型什么时候可见”。多模型场景采用整批原子提交:新场景全部准备完成后再替换旧场景;加载失败、被取消或只完成一半时,依然保留上一个可用场景。对宿主程序来说,这比“加载成功”四个字多了失败恢复和资源释放的明确语义。

它还要管住“找到了什么”。locateSceneComponent() 不只返回一个构件 ID,而是生成一份可序列化的语义定位收据:选中、显现、视图聚焦、属性查询、运行状态和精化状态分别留痕。属性暂缺不会被包装成完整,精确几何尚未驻留也不会被选中动作掩盖。

坐标是另一类证据。IFC4 的 MapConversion、投影坐标系和项目坐标注册要说明模型为什么处在当前位置。来源文件没有足够信息时,平台保留“未注册”状态,不用几何外观猜出一个看似正确的项目坐标。

图 3 v1.5.0 图形平台内核分层
图 3 v1.5.0 图形平台内核分层

IFC、FBX、OBJ、glTF / GLB 和前景 BIM 3D Tiles 仍保留各自的格式能力。统一的是向上的身份、坐标、构件、生命周期和查询合同,不是把不同格式假装成同一种证据质量。这些格式是纵向迁移证据:同一份内核合同必须真的经过不同解析器、坐标条件、资源形式和精度状态,才能进入 Workbench 与 SDK。

这套底座同时被 Native Modeling、Spatial Runtime 和 Extension Host 复用,也进入了 SDK v1.2.0。SDK 不再只是一组包文件;第三方宿主可以通过公开的 AssetSession、加载器、统一构件目录、能力查询、开发者中心和 Model Publisher 完成二次开发与资产发布,无需读取 Three.js 对象或某个 Loader 的私有元数据。这才是“平台内核”对外部开发者的实际意义。

保存重开后,旧数字要重新接受检查

工程结果必须绑定产生它的输入。

v1.5.0 会保留来源哈希、派生几何摘要、单位、变换、算法与版本等证据。重新打开项目时,系统先判断历史结果是否仍匹配当前输入;匹配才继续使用,不匹配就要求重新验证。

图 4 工程结果保存重开与重新验证链路
图 4 工程结果保存重开与重新验证链路

可复验并不意味着每次打开都重算。它意味着软件知道旧结果在什么条件下仍然成立,也知道什么时候必须停下来。

读者可以用四步检查自己的模型工具

不管使用哪套 BIM 或工程图形软件,都可以先问四个问题:

  1. 结果能否追到具体源文件、模型版本和构件身份?
  2. 软件有没有区分来源声明值、参数公式值和当前几何复算值?
  3. 单位未知、开放网格、动态几何或资源缺失时,系统会降级、阻断,还是照样给出精确小数?
  4. 保存重开或替换模型后,历史结果会不会自动失效并要求重验?

这四步不能代替专业复核,但能快速判断一套工具是在展示数字,还是在管理数字背后的证据。

v1.5.0 已经正式发布,但边界没有消失

Graphics v1.5.0 的正式 Tag 固定在发布候选提交上,GitHub Release、线上 Workbench、Graphics API 和公开更新记录已经统一为正式版本;配套 SDK v1.2.0 与 Model Publisher 也完成了对应交付。发布后发现公开更新页仍残留 RC 文案,项目使用独立部署修订纠正页面,没有移动原来的 v1.5.0 Tag。

它仍然不是完整 CAD/BIM 编辑器,不写回源 IFC,也不提供造价认证、规范合规、结构安全或专业签章结论。

几何量证明的是当前几何与当前计算合同。材料、荷载、计价规则、专业模型和项目责任,仍需要完整资料与专业人员确认。WebGPU 是经过真实模型验证的高性能路径之一,WebGL 和自动降级仍属于正式运行合同。

ArchSight Graphics v1.5.0 已正式发布,搜索产品全名可以查看当前版本与更新说明。

工程软件的可信度,不在于它敢不敢给出一个数字,而在于它能不能说明:这个数字从哪里来、现在是否成立、什么时候应该作废。


关注我们

欢迎搜索并关注 筑见实验室,获取更多建筑 AI、结构计算与工程数字化实践:

筑见实验室关注入口二维码
筑见实验室关注入口二维码