2. BIM模型基础:IFC标准简介、模型构件属性与工程量信息的关联
在BIM工程量提取与清单计价对接的实战流程中,模型数据的标准化是核心前提。本章聚焦于BIM模型的数据底层——IFC标准,并深入剖析模型构件属性如何与工程量信息建立精确关联,为后续的工程量提取与软件对接奠定理论基础。
2.1 IFC标准简介
IFC(Industry Foundation Classes,工业基础类)是由 buildingSMART 国际组织开发并维护的开放、中立的数据交换标准。它旨在解决建筑全生命周期中不同软件之间的数据互操作性问题,是BIM技术实现“一模多用”的基石。
2.1.1 IFC标准的层次架构
IFC采用面向对象的数据描述方式,其架构分为四个概念层,从底层资源到顶层领域,层层封装,结构严谨。
| 层次 | 名称 | 主要内容 | 作用 |
|---|---|---|---|
| 第一层 | 资源层(Resource Layer) | 几何、材料、计量单位、日期、成本等基础资源 | 提供最基础的数据定义,不依赖其他层 |
| 第二层 | 核心层(Core Layer) | IfcObject、IfcProduct、IfcProcess、IfcActor等核心实体 | 定义模型的基本结构和对象关系 |
| 第三层 | 共享层(Interoperability Layer) | 建筑、结构、暖通、电气等专业共享的元素 | 实现不同专业间的数据交互 |
| 第四层 | 领域层(Domain Layer) | 各专业特有的实体,如IfcBeam、IfcWall、IfcWindow | 为特定专业提供详细的对象定义 |
IfcWall(墙)、IfcSlab(板)、IfcBeam(梁)等,这些实体直接对应模型中的物理构件。
2.1.2 IFC数据模型的核心实体关系
为了直观展示IFC中构件、属性与工程量之间的关系,下图呈现了核心实体间的关联结构。
上图清晰地展示了从 IfcProject 到具体构件(如 IfcWall)的继承关系,以及构件如何通过 IfcPropertySet 和 IfcQuantitySet 关联属性与工程量数据。
2.2 模型构件属性与工程量信息的关联
在BIM模型中,每个构件(如一面墙、一根梁)都携带大量属性。这些属性是提取工程量的数据源。属性主要分为两类:标识属性和工程量属性。
2.2.1 构件属性的分类
- 标识属性:用于唯一识别和分类构件,如构件ID、名称、类型、材质、楼层、施工段等。这些属性是后续进行工程量统计和清单归类的依据。
- 几何属性:描述构件的尺寸和空间位置,如长度、宽度、高度、面积、体积、中心点坐标等。这些是计算工程量的直接数据。
- 工程量属性:在IFC标准中,通过
IfcQuantitySet专门定义,如NominalLength(标称长度)、NetArea(净面积)、GrossVolume(毛体积)等。这些属性直接服务于工程量计算。 - 扩展属性:用户或项目自定义的属性,如“是否扣减”、“清单编码”、“施工工序”等,用于满足特定项目的计价规则。
2.2.2 属性与工程量的映射关系
要实现从BIM模型到清单计价软件的数据对接,核心工作是建立“模型属性”与“清单项目”之间的映射关系。以下是一个典型的映射示例:
| 模型构件 | IFC实体类型 | 关键属性(示例) | 映射的清单项目 | 工程量计算规则 |
|---|---|---|---|---|
| 现浇混凝土墙 | IfcWall | NetVolume, Height, Thickness | 010504001 直形墙 | 按设计图示尺寸以体积计算,扣除门窗洞口及单个面积>0.3m²的孔洞 |
| 矩形梁 | IfcBeam | GrossVolume, Length, Width | 010503002 矩形梁 | 按设计图示尺寸以体积计算,伸入墙内的梁头并入梁体积 |
| 楼板 | IfcSlab | NetArea, Thickness, Perimeter | 010505003 平板 | 按设计图示尺寸以体积计算,不扣除单个面积≤0.3m²的柱、垛及孔洞 |
| 门 | IfcDoor | OverallHeight, OverallWidth, NumberOfPanels | 010802001 木质门 | 按设计图示数量计算(樘) |
2.2.3 属性关联的实战流程
在实际项目中,建立属性关联通常遵循以下步骤:
- 模型审查与标准化:检查模型中所有构件的属性是否完整、命名是否规范。例如,所有混凝土墙是否都正确填写了“混凝土强度等级”属性。
- 定义映射规则表:根据项目采用的清单计价规范(如国标GB50500),创建一份“模型属性 ↔ 清单项目”的映射规则表。该表是后续自动化提取的核心配置文件。
- 属性提取与校验:使用BIM软件或API,批量提取构件的关键属性,并与映射规则表进行比对,确保数据完整且符合要求。
- 导出结构化数据:将校验后的属性数据导出为结构化格式(如XML、Excel或IFC文件),供清单计价软件读取。
2.3 工程量信息在IFC中的表达
IFC标准通过 IfcElementQuantity 实体来专门存储构件的工程量信息。每个 IfcElementQuantity 可以包含多个 IfcPhysicalQuantity 的子类,如 IfcQuantityArea(面积)、IfcQuantityVolume(体积)、IfcQuantityLength(长度)、IfcQuantityCount(计数)等。
以下是一个简化的IFC数据片段,展示了一面墙的工程量信息:
#1=IFCWALL('3sB$y8f5X4Zv01$0C9a2', #2, '外墙-300mm', $, $, #3, #4, '300mm厚混凝土墙');
#5=IFCELEMENTQUANTITY('2aB$k9g6Y7Zw02$1D0b3', #2, 'BaseQuantities', $, $,
(#6, #7, #8));
#6=IFCQUANTITYVOLUME('NetVolume', $, $, 12.5);
#7=IFCQUANTITYAREA('NetSideArea', $, $, 41.6);
#8=IFCQUANTITYLENGTH('Height', $, $, 3.0);
在这个例子中,#5 定义了一个工程量集,包含了净体积(12.5 m³)、净侧面积(41.6 m²)和高度(3.0 m)三个关键工程量属性。这些数据可以直接被计价软件解析并用于组价。