Introduction
行业基础类(Industry Foundation Classes,IFC)是用于共享建筑资产行业数据的开放国际标准。该标准包括:
- 模式(以各种形式提供,见范围)
- 文档(以HTML格式提供,使用Markdown编写)
- 属性集和工程量集定义(为模式中实现的可扩展机制提供的标准化定义 - 以XML格式提供并在HTML文档中可用)
- 数据文件的交换或序列化机制,见范围
IFC的主流交换格式是基于使用EXPRESS语言(ISO 10303-11:2004)发布的模式的 STEP 物理文件格式(ISO 10303-21:2002)。其是组成交换的实体实例的纯正文编码,其中属性值以未命名值的有序序列形式提供。
约定
IFC规范包括源自建筑和设施管理行业部门的学科、行业和专业使用的术语、概念和数据规范项。术语和概念使用简明的英语词汇,数据规范中的数据项遵循命名约定。
- 类型、实体、规则和函数的数据项名称以前缀"Ifc"开头,并以CamelCase命名约定(无下划线,单词中的第一个字母大写)继续使用英语单词;
- 实体中的属性名称遵循CamelCase命名约定,无前缀;
- 本标准中的属性集定义以前缀"Pset_"开头,并以CamelCase命名约定继续使用英语单词;
- 本标准中的数量集定义以前缀"Qto_"开头,并以CamelCase命名约定继续使用英语单词。
buildingSMART International在translations.buildingsmart.org上发布这些术语和概念的其他人类语言翻译。
模型视图定义
官方模型视图定义(MVD)作为相关规范存在。IFC 4.3的官方模型视图定义政策目前为IFC设定了3个实施级别:
- Reference View(参考视图)
- Alignment Based View(基于路线的视图)
- Design Transfer View(设计传递视图)
这三个模型视图定义(MVD)可以看作是IFC 4.3实施的三个级别。它们是为实施添加更高级功能的渐进级别。供应商可以针对这些模型视图定义获得IFC导入认证。导出认证可以针对模型视图定义进行,也可以针对更细粒度的功能部分进行。这些可以在validate.buildingsmart.org上找到。 IFC文档存放在standards.buildingsmart.org。
| 模型视图定义缩写(MVD) | RV | AbV |
|---|---|---|
| 名称 | Reference View(参考视图) | Alignment-based View(基于路线的视图) |
| 目的 | 适用于基于参考模型的数据交换,其中交换主要是单向的 | 适用于基于路线、相对于路线的线性放置以及与土木、基础设施和地理空间工程相关的其他概念的数据交换 |
| 用途 | 作为参考而非设计意图的完整交换 | 可以用作参考,但其附加价值在于交换一些参数化构造(例如,路线、高级实体几何) |
| 范围 | IFC4 Reference View的严格超集。范围通常较小且更易于实施。 | IFC4.3 Reference View的严格超集,因此范围更大。 |
架构
IFC 的数据模式架构定义了四个概念层,每个单独的模式均被分配到一个且仅一个概念层。下图显示了 IFC 分层架构中的模式架构。

- 资源层(Resource layer):架构的最底层,包含所有含有资源定义的分离模式。这些资源定义不包含全局唯一标识符(GUID),且其使用独立于在上层声明的定义;
- 核心层(Core layer) :架构的次底层,包含核心模式和核心扩展模式,含有最通用的实体定义。在核心层及以上各层中定义的所有实体均携带GUID,并可携带所有者信息和历史信息;
- 互操作层(Interoperability layer):架构的次高层,包含的模式中含有跨多个专业使用的通用产品、过程或资源专用化实体定义。这些定义通常用于跨专业领域之间的工程信息交换和共享;
- 领域层(Domain layer):架构的最高层,包含的模式中含有适用于领域(特定的行业或专业)的产品、过程或资源专用化实体定义。这些定义通常用于领域内部的信息交换和共享。 在这张图中,"隧道"领域是透明的,因为它还不是当前IFC 4.3的一部分,但旨在包含在未来的更新中。
兼容性
建筑资产具有很长的生命周期。IFC版本之间的兼容性是标准开发中的一个关键问题。
向后兼容性是指针对标准先前版本编写的数据文件能够被支持后续版本的应用程序读取的能力。
本国际标准的ISO 10303-11 EXPRESS 模式分发版中的类通常会体现在程序代码中,并直接影响使用ISO 10303-21交换格式的交换结构(属性数量、属性类型)。
相反,属性集和数量集通常是不会在相同程度上影响软件接口功能的补充数据。属性集和数量集也是明确提供的,以快速解决特定用例和不断发展的软件功能。属性集和数量集的更改不会影响ISO 10303-21交换格式的结构(属性数量、属性类型)。
因此,属性集和工程量集的兼容性不会像EXPRESS 模式兼容性那样遵循相同的标准。
除了极少数情况外,向后兼容性是IFC标准演进的硬性要求。然而,可能发生的变更类型的严重程度存在差异。例如,重命名实体名称或在属性序列开头插入属性会导致在解析针对标准先前版本编写的文件时出现几乎不可恢复的错误。而向现有枚举添加枚举项被认为是完全向后兼容的。
弃用
随着IFC标准的发展,某些构造变得不受欢迎,因为它们已被其他构造取代,因为在软件中的实施被证明不足,或者因为在定义中发现了无法以向后兼容方式纠正的缺陷。
在这种情况下,通常选择弃用该构造,给实施者充分的时间来调整他们的软件。
注1:符合标准的解释器仍应能够导入已弃用的定义。
注2:符合标准的解释器应考虑使用建议的替代定义而不是已弃用的定义来修改导出。
本文件与ISO 16739-1:2018的已知向后不兼容性列表
以下实体、类型和函数已在本版本中删除:
- IfcBeamStandardCase
- IfcBuildingElement
- IfcBuildingElementType
- IfcColumnStandardCase
- IfcCorrectObjectAssignment
- IfcDoorStandardCase
- IfcDoorStyle
- IfcDoorStyleConstructionEnum
- IfcDoorStyleOperationEnum
- IfcMemberStandardCase
- IfcNullStyle
- IfcObjectTypeEnum
- IfcOpeningStandardCase
- IfcPlateStandardCase
- IfcPresentationStyleAssignment
- IfcPresentationStyleSelect
- IfcProxy
- IfcSlabElementedCase
- IfcSlabStandardCase
- IfcStyleAssignmentSelect
- IfcWallElementedCase
- IfcWindowStandardCase
- IfcWindowStyle
- IfcWindowStyleConstructionEnum
- IfcWindowStyleOperationEnum
以下实体、属性和枚举器已在本版本中弃用:
- IfcBuildingSystem
- IfcCivilElement
- IfcCivilElementType
- IfcElectricDistributionBoard
- IfcElectricDistributionBoardType
- IfcFaceBasedSurfaceModel
- IfcPostalAddress
- IfcRelConnectsPortToElement
- IfcRelServicesBuildings
- IfcTelecomAddress
- IfcTrapeziumProfileDef
- IfcBuilding.BuildingAddress
- IfcBuilding.ElevationOfRefHeight
- IfcBuilding.ElevationOfTerrain
- IfcBuildingStorey.Elevation
- IfcOrganization.Addresses
- IfcPerson.Addresses
- IfcSite.LandTitleNumber
- IfcSite.SiteAddress
- IfcSurfaceStyleRendering.DiffuseTransmissionColour
- IfcSurfaceStyleRendering.ReflectionColour
- IfcSurfaceStyleRendering.TransmissionColour
- IfcSurfaceTexture.Parameter
- IfcTextureCoordinateGenerator.Parameter
- IfcCableCarrierFittingTypeEnum.CROSS
- IfcCableCarrierFittingTypeEnum.REDUCER
- IfcCableCarrierFittingTypeEnum.TEE
- IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR
- IfcGeographicElementTypeEnum.SOIL_BORING_POINT
本版本中引入了以下向后不兼容性:
| 严重程度 | 元素 | 不兼容性 | |
|---|---|---|---|
| 1 | 重大 | IfcGridPlacement | PlacementRelTo属性移至IfcObjectPlacement的结果。 |
| 2 | 次要 | IfcCountMeasure | 定义从NUMBER更改为INTEGER。 |