2. BIM数据基础

在CDE(Common Data Environment,公共数据环境)中,BIM模型之所以能被不同专业、不同软件、不同参与方共同读取和交换,核心依赖的是开放的数据标准与结构化的数据模型。IFC(Industry Foundation Classes,工业基础类)正是当前工程数据集成中应用最广的开放标准。理解IFC的数据模型、属性集和关系实体,是判断“模型能否被正确集成、信息能否被准确传递”的基础。

一、IFC是什么:不是文件格式,而是数据模式

IFC由buildingSMART组织制定并维护,采用ISO 16739标准,本质上是一套面向建筑全生命周期的数据模式(Schema)。它定义了工程对象有哪些类型、每个对象可以携带哪些属性、对象之间可以建立哪些关系。常见的.ifc文件只是这套模式的一种序列化表达,例如IFC-SPF(STEP Physical File)文本格式,此外还有ifcXML、ifcZIP等表达方式。

IFC采用面向对象和分层结构。最上层是领域对象,如墙(IfcWall)、梁(IfcBeam)、门(IfcDoor)、管道(IfcPipeSegment);中间是共享构件与共享建筑元素;底层是资源层,如几何、材料、单位、时间、成本等。这种分层使IFC既能表达具体构件,又能表达跨专业的通用信息。

二、数据模型:实体、属性与关系的三层结构

IFC数据模型可以概括为三个关键要素:实体(Entity)、属性(Attribute/Property)和关系(Relationship)。实体是模型中的对象,例如一堵墙是一个IfcWall实例;属性描述实体的特征,例如墙的厚度、耐火等级、材质;关系则把实体与实体、实体与属性连接起来,例如墙与楼层的关系、墙与空间的关系、墙与材料的关系。

需要特别区分两类属性:一类是直接属性(Direct Attribute),如GlobalId、Name、Description、ObjectType,它们直接写在实体上;另一类是属性集(Property Set,Pset),通过关系实体挂接到对象上。直接属性适合表达对象身份和基本标识,属性集适合表达专业信息,如Pset_WallCommon中的FireRating、IsExternal、LoadBearing等。

IFC数据模型核心结构:实体—属性集—关系实体 实体层 Entity IfcWall 墙构件 IfcDoor 门构件 IfcSpace 空间 IfcBuildingStorey 楼层 属性集层 Property Set Pset_WallCommon FireRating / IsExternal / LoadBearing Pset_DoorCommon FireRating / AcousticRating Qto_WallBaseQuantities Length / Height / GrossArea 关系实体层 Relationship IfcRelContainedInSpatialStructure 构件 → 楼层/空间 归属 RelatingStructure / RelatedElements IfcRelDefinesByProperties 实体 → 属性集 挂接 RelatedObjects / RelatingPropertyDefinition IfcRelAssociatesMaterial 实体 → 材料 关联 RelatingMaterial / RelatedObjects 对象身份 专业信息 语义连接

三、属性集:让模型“带信息”而不是“只有几何”

如果IFC只有几何,那它和普通三维模型没有本质区别。属性集的价值在于把工程语义附加到构件上。以Pset_WallCommon为例,它通常包含:

  • Reference:墙的编号或类型代号,如“QT-200”;
  • IsExternal:布尔值,标识是否为外墙;
  • LoadBearing:布尔值,标识是否承重;
  • FireRating:耐火等级,如“REI 60”;
  • ThermalTransmittance:传热系数,如0.35 W/(m²·K)。

在CDE集成场景中,属性集是筛选、校验和交付的关键依据。例如,消防审查需要读取所有构件的FireRating;能耗分析需要读取ThermalTransmittance;工程量统计需要读取Qto_WallBaseQuantities中的Length、Height、GrossArea。若属性集缺失或命名不一致,后续集成就会失败。

四、关系实体:IFC真正的“连接器”

IFC中大量信息不是直接写在实体上,而是通过关系实体表达。常见关系实体包括:

关系实体 作用 典型属性
IfcRelContainedInSpatialStructure 构件归属到楼层或空间 RelatingStructure、RelatedElements
IfcRelDefinesByProperties 实体挂接属性集 RelatedObjects、RelatingPropertyDefinition
IfcRelAssociatesMaterial 实体关联材料 RelatingMaterial、RelatedObjects
IfcRelAggregates 整体与部分聚合,如楼层聚合到建筑 RelatingObject、RelatedObjects
IfcRelConnectsElements 构件之间的连接,如梁柱连接 RelatingElement、RelatedElement

这些关系实体使IFC模型具有“语义网络”特征:一个墙实体可以通过IfcRelDefinesByProperties挂接多个属性集,通过IfcRelContainedInSpatialStructure归属到某一层,通过IfcRelAssociatesMaterial关联到具体材料。CDE在集成时,正是沿着这些关系遍历,才能把几何、属性、空间、材料、成本等信息组织成完整的数据视图。

五、在工程数据集成中的作用与实操要点

在CDE中集成IFC数据,通常需要完成以下关键动作:

  1. 模型导出检查:确认导出时勾选“导出属性集”和“导出关系”,否则IFC文件可能只有几何,没有Pset和关系实体。
  2. GlobalId一致性:每个实体都有全球唯一标识GlobalId,它是跨平台、跨版本追踪同一构件的关键。集成时不要重新生成GlobalId,否则无法与旧数据关联。
  3. 属性集命名规范:优先使用buildingSMART标准Pset,如Pset_WallCommon;自定义属性集应加项目前缀,如“Pset_ProjectX_FirePartition”,避免与标准冲突。
  4. 关系完整性校验:检查每个构件是否被IfcRelContainedInSpatialStructure包含,每个属性集是否通过IfcRelDefinesByProperties正确挂接。
  5. 单位与坐标系:IFC文件中通过IfcUnitAssignment定义单位,通过IfcGeometricRepresentationContext定义坐标系。集成前必须确认单位一致(如长度用米还是毫米),否则几何位置和工程量都会出错。
在实际项目中,可以用IFC校验工具(如IfcOpenShell、xBIM、Solibri)读取IFC文件,统计实体数量、属性集覆盖率和关系完整度。例如,若发现IfcWall数量为1200,但带Pset_WallCommon的墙只有800,说明约400堵墙缺少关键属性,需要在源模型或导出设置中补齐。
不要把IFC当成“万能交换格式”而忽略版本差异。IFC2x3、IFC4、IFC4.3在实体定义和属性集上存在差异,例如IFC4对IfcSpace、IfcOpeningElement等有调整。CDE集成前应明确项目采用的IFC版本,并在各参与方之间统一。

总结来说,IFC标准提供了工程数据集成所需的“共同语言”,数据模型定义了对象、属性和关系的组织方式,属性集承载了专业语义,关系实体则把这些语义连接成可遍历的网络。只有理解并正确使用这四者,CDE中的BIM数据才能真正做到“可交换、可校验、可追溯、可复用”。