工业基础类IFC—概述

简介: 工业基础类IFC—概述

01 概要

工业基础类,即IFC标准,是由国际协同工作联盟IAI组织(现已更名为buildingSMART)于1994年制定的,当时这个组织的牵头者正是工业软件的行业巨头Autodesk,然而昔日的创始者却在格式兼容性上受到业界的诟病,想了解更多利益纠纷可移步由BIMBOX出品的30年BIM市场争夺战:八卦吃瓜背后,反思中国的出路。回到格式本身,它是一个可以通过计算机进行处理的建筑数据表示和交换标准,其目标是为建筑行业提供一个不依赖于任何具体系统的,适合于描述贯穿整个建筑项目全生命周期内产品数据的中性数据标准,应用于建筑物全生命周期内的各个阶段内以及各阶段之间的信息传递和共享。正如图1所示,IFC文件包含构造物所有的几何和属性信息,以此作为传递信息的载体,可以兼容各种BIM软件系统平台,实现不同软件供应商、不同阶段的BIM系统之间的信息传递和共享。


20210505213216707.png


02 发展历程


自二十世纪九十年代起,buildingSMART组织便已经开始IFC标准的制定工作,并于1996年底发布了第一个稳定的版本,即IFC1.0。在此之后,为明确表达所有工程数据之关系,IFC标准仍在不断更新和完善。buildingSMART组织几乎每隔1-2年都会对IFC标准进行一次修订和更新,目前最新版本为 IFC4.3 RC2,而IFC2×3版本是目前大多数市面上的BIM软件所支持的版本。图2中整理了截止2019年底IFC标准版本迭代的历程,耗费23年时间发布共16个更新版本。经过多年发展,其中大多数版本已经被废止。值得关注的是,buildingSMART组织近年来致力于扩展对基础设施领域的构造物(包括铁路、桥梁、公路、水利水电、通信设施等)的数据化描述研究。


c1e290ea1778ee10dc9177a556a38cdf.png


如图3所示,自IFC2×版本发布以来,IFC标准中的实体总数量呈明显的上升趋势,这说明新的概念不断被添加进来,IFC标准逐步细化了对建筑信息的表达。但是随着实体数量增加,IFC标准的结构复杂度也相应地有所提高,这意味着了解IFC标准的结构体系和内容所需的工作量也在加大。在更新迭代过程中,IFC标准存在两次大幅度地增长,一次是2× ADD1~2×2,另一次则是2×3 TC1~4,主要原因是两次的更新均涉及覆盖范围上的变动,前者引入了许多扩展以更好地支持建筑服务和结构领域,例如用于结构分析的IFC子模型以及对电气、管道和建筑控制定义的扩展,后者则扩展了构件类型、属性表达和过程定义等。


同时,从图中也可以发现IFC4版本之前,根实体(即不继承于其他任何实体的初始实体)的数量与实体总数量呈现相同趋势,而在IFC4版本时出现骤跌,并在之后的版本的中保持平稳,这是buildingSMART组织在试图减少继承路径,从而精简IFC标准的结构体系,便于用户理解和使用。


一个完整的IFC数据模型由类型定义、函数、规则和属性集组成。其中,类型定义是IFC模型中不可或缺组成部分,它包括了定义类型、枚举类型、选择类型和实体类型,图4为除实体类型外的类型定义数量变化趋势图,以IFC4版本为分割点将变化趋势划分为两个阶段。前一阶段的定义类型、枚举类型和选择类型的数量曲线均呈显著的上升趋势,尤其是在2× ADD1~2×2阶段和2×3 TC1~4阶段,表明该阶段IFC标准发展迅猛,类型定义得到了快速地扩充;后一阶段的定义类型、枚举类型和选择类型的数量基本趋于稳定,有且仅有个位数的数量增长,说明在IFC4版本之后,IFC标准的类型定义范畴基本固定,buildingSMART组织更加注重IFC结构体系的简洁性和易用性。


20210505213232815.png


图3


20210505213238772.png


图4


参考资料

[1] buildingSMART[EB/OL]. https://www.buildingsmart.org/, 2020.


[2] What is openBIM[EB/OL]. https://www.buildingsmart.org/about/what-is-openbim/, 2020.


[3] Industry Foundation Classes Release 4 (IFC4)[EB/OL]. https://standards.buildingsmart.org/IFC/RELEASE/IFC4/FINAL/HTML/, 2020.


[4] IFC Specifications Database[EB/OL]. https://technical.buildingsmart.org/standards/ifc/ifc-schema-specifications/, 2020.


[5] 基于IFC的桥梁施工监控数据集成与可视化研究


相关文章
|
存储 安全 数据库
【C++ 17 包裹器类 std::optional】“深入理解C++:std::optional的高级应用与原理
【C++ 17 包裹器类 std::optional】“深入理解C++:std::optional的高级应用与原理
1007 1
|
存储 运维 监控
Apollo中的身份验证与授权:保护你的数据
Apollo中的身份验证与授权:保护你的数据
|
5月前
|
算法 Java API
2025 版 Java 零基础入门到精通实操指南
这篇文章为零基础学习者提供了Java入门的全面指南。首先介绍了Java的特点和用途,然后详细讲解了环境搭建步骤(JDK安装、环境变量配置和IDE选择),并以"Hello World"程序为例演示了开发流程。文章还系统性地讲解了Java核心语法,包括变量与数据类型、运算符、控制流语句、数组和方法等基础知识,以及面向对象编程和异常处理的概念。通过代码示例帮助读者理解和实践,最后建议掌握基础后可进一步学习Java高级特性和框架。文中还提供了代码获取方式和关注入口,适合Java初学者系统学习。
837 2
|
9月前
|
Linux
linux syscall和int 80的区别
通过以上内容,希望您能更清晰地理解 `int 0x80` 和 `syscall` 的区别及其在不同系统架构中的应用。
515 99
|
12月前
|
SQL Oracle 关系型数据库
南大通用GBase 8s 数据库封锁与并发事务调度介绍
南大通用GBase 8s 数据库封锁与并发事务调度介绍
|
前端开发 JavaScript 编译器
不走弯路,纯前端如何把图片导出成视频!
【10月更文挑战第3天】不走弯路,纯前端如何把图片导出成视频!
675 3
|
移动开发 前端开发 JavaScript
开源即时通讯IM框架MobileIMSDK的H5端技术概览
开源即时通讯IM框架MobileIMSDK的H5端技术概览
367 2
开源即时通讯IM框架MobileIMSDK的H5端技术概览
|
JSON 缓存 前端开发
SpringBoot的 ResponseEntity类讲解(具体讲解返回给前端的一些事情)
本文讲解了SpringBoot中的`ResponseEntity`类,展示了如何使用它来自定义HTTP响应,包括状态码、响应头和响应体,以及如何将图片从MinIO读取并返回给前端。
936 3
|
存储 SQL 人工智能
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
笔者最近刚刚试用完 CodeGemma ,准备分享我的心得时,通义千问的 CodeQwen1.5 就也悄然发布。本文主要介绍 CodeQwen1.5 这款开源编程大模型,并展示如何在 VSCode 中使用它帮你提升编程体验。
1627 0
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
|
Java 开发工具 数据库
简单解说:SDK是什么以及它为你做了什么?
简单解说:SDK是什么以及它为你做了什么?
1983 0
下一篇
开通oss服务