返回 BIM 与 IFC 博客
问造价工程师、写技术规格的人和设施经理,他们需要模型提供什么,三个人的第一个回答都一样:用我的术语告诉我每个东西是什么。这就是分类的作用。一面墙不只是 IfcWall;在 Uniclass 中它是 Ss_25_10_30,一个具体的系统,有自己的工程量条目、规格条款和维护计划。
IFC 承载这个代码——但不在几乎所有人去找的地方,这也是为什么许多导出到达时没有它。
分类代码通过关系而不是属性到达构件。引用包含代码;分类说明体系。
要点
- 在 IFC 中,分类是指向分类引用的关系,而不是属性。
- 代码离开体系就没有意义:Ss_25_10_30 属于 Uniclass;21-02 10 10 属于 OmniClass。
- 每次交付都用 IDS 分类 facet 检查代码——体系和代码一起检查。
代码如何存储
- IfcClassification 说明体系和版本:Uniclass 2015、OmniClass、CCI。
- IfcClassificationReference 包含代码(Identification)及其名称,并指向体系——直接指向,或对层级代码通过上级引用。
- IfcRelAssociatesClassification 把该引用连接到一个或多个构件或构件类型。
用哪个体系?
| 体系 | 常用地区 | 结构 |
|---|
| Uniclass 2015 | 英国;许多 ISO 19650 项目 | 按前缀分表(Ss 系统、Pr 产品、EF 构件…),代码分层级 |
| OmniClass | 北美 | 编号表(21 构件、23 产品…) |
| CCI | 丹麦、爱沙尼亚、捷克等 | 按组件和构造分类 |
| NL-SfB | 荷兰和比利时 | 数字构件代码 |
正确答案是合同里写的那个。错误答案是同一项目里有两个体系。
层级:为什么 Ss_25 能匹配 Ss_25_10_30
Uniclass 及类似体系的代码是分层级的:Ss_25_10_30 位于 Ss_25_10 之下,而后者又位于 Ss_25 之下。「每面墙都分类在 Ss_25 之下」这样的要求应该接受更深层的代码。好的检查工具会沿着引用链查找;简单的工具只做字符串比较,会把分类完全正确的构件判为不合格。
在交付中检查分类
- 在 BEP 中约定体系和深度 「Uniclass 2015,Systems 表,至少到第 3 级,适用于所有实体构件。」
- 写成 IDS 规范 适用性:必须分类的构件类别。要求:带体系和代码模式的分类 facet。
- 每次修订都运行 问题按构件报告并附原因:缺少代码、体系错误、代码超出允许范围。
- 跨版本跟踪 修订之间的比较会把分类变化作为单独类别显示——当造价或运维团队依赖这些代码时很有用。
如何编写规范,见IDS 详解;如何比较修订,见如何比较两个 IFC 版本;分类在移交时为何重要,见从 IFC 生成 COBie。
IFC 中的分类详解:Uniclass、OmniClass 以及代码如何存在于模型中