IFC 2x3 和IFC4_ADD2 和IFC 4.3 ADD2
一、核心概述
IFC 2x3 (2006)
地位: 迄今为止部署最广泛、最成熟的版本。是过去十多年BIM行业的“事实标准”,几乎所有主流BIM软件都支持它,并且是大多数国际项目(如COBie)的交付要求基础。
特点: 相对稳定,但架构上存在一些历史遗留的冗余和不一致。对许多新型、复杂的建筑系统和过程支持有限。
IFC4 ADD2 (2017)
地位: IFC4 的第一个稳定且可用的官方发布版本(ADD2代表第二版附加规范)。它是从 IFC2x3 到 IFC4 系列的重要过渡。
特点: 解决了 IFC2x3 的许多架构问题,引入了大量新实体和属性,显著提升了数据丰富度和一致性。是当前新建项目推荐采用的版本。
IFC4.3 ADD2 (2023)
地位: 最新版本,其最大特点是专注于基础设施领域(如道路、铁路、桥梁、隧道、港口、水利工程等)。
特点: 在 IFC4 的基础上,引入了大量用于描述地理空间信息、线性定位、对齐方式(Alignment)等基础设施关键概念的实体和结构。它标志着IFC从主要服务于建筑(Building)扩展到覆盖整个建筑环境(Built Environment)。
二、详细对比
对比维度 | IFC 2x3 | IFC4 ADD2 | IFC4.3 ADD2 |
---|---|---|---|
发布年份 | 2006 | 2017 | 2023 |
行业地位 | 事实上的工业标准,支持极广,最成熟 | 新建建筑的推荐标准,逐步普及中 | 基础设施领域的未来标准,处于推广初期 |
核心改进 | (作为基线) | 架构清理:解决了大量冗余和不一致。 数据丰富:新增数百个实体和属性集(Pset)。 几何增强:对B-rep(边界表示)的支持更好。 | 领域扩展:专为基础设施设计,引入对齐(Alignment)、线性定位等核心概念。 GIS集成:更好地与地理信息系统融合。 |
架构与数据一致性 | 一般。存在一些重复定义和过时的结构。 | 优秀。大幅改善了模型结构的清晰度和一致性。 | 优秀。继承了IFC4的所有架构改进。 |
领域覆盖 | 主要覆盖建筑领域(Architecture, MEP, Structural)。对基础设施支持非常薄弱。 | 全面覆盖建筑领域,并增强了对结构分析、能源分析等的支持。对基础设施仍有局限。 | 革命性扩展。深度融合了建筑和基础设施领域。新增了道路、铁路、桥梁、隧道、港口、土地开发、水利工程等领域的实体和属性。 |
关键新特性/实体 | - | - IfcSpace 的增强- IfcElement 的更多子类型- 更丰富的属性集(Pset) - 改进的颜色、材质定义 | - IfcAlignment :描述道路、铁路的中心线或参考线。- IfcSectionedSolid :用于表示沿对齐生成的梁、轨道等。- IfcGeographicElement :表示地形、地块等地理元素。- 线性定位(Linear Referencing):允许沿对齐线精准定位元素(如公里桩、设备位置)。 |
几何表达 | 主要依赖拉伸(Extrusion)、扫描(SweptSolid)和CSG(构造实体几何)。B-rep支持有限。 | 增强了B-rep(边界表示)的支持,能够表达更复杂的自由形态几何体。 | 继承了IFC4的所有几何能力,并增加了专门用于基础设施的参数化截面和沿对齐扫描的几何生成方式。 |
适用性 | - 优势: 兼容性无敌,是交付、审计和跨软件交换的“安全选择”。 - 劣势: 无法满足现代BIM对数据精细度和新型业务的需求。 | - 优势: 数据更丰富、更可靠,是新建建筑项目的理想选择。 - 劣势: 在基础设施项目中仍然能力不足。 | - 优势: 基础设施项目的唯一选择,能完美处理线性工程、地理参考等需求。 - 劣势: 软件支持仍在发展中,尚未完全普及;对于纯建筑项目,优势不明显。 |
软件支持 | 几乎所有BIM软件都支持(Revit, ArchiCAD, Tekla, Navisworks, 等) | 主流软件的最新版本均已支持(但可能需要确认导出/导入设置)。 | 正在被专业的基础设施软件快速采纳(如Bentley OpenRoads, 12d Model, Civil 3D 等)。传统建筑软件对其基础设施部分的支持较弱。 |
额外:几何CSG和BRep
一、CSG(构造实体几何法)缺点解读
CSG的核心思想是布尔运算。它通过一系列基本几何体(如立方体、圆柱体、球体等,即“体素”)通过并集、交集、差集等操作,像搭积木一样组合成复杂模型。它的记录方式是一个“树状结构”(CSG树),记录了使用了哪些基本体和进行了哪些操作。
缺点解读:
“没有详细几何信息,必须转化为其它形式才能对点、边、面等信息进行查询和编辑。”
含义:CSG存储的是“制作配方”(一个圆柱减去一个立方体),而不是“最终的蛋糕”。计算机只知道这个模型是由A和B通过“差集”运算得来的,但它并不知道运算完成后,这个模型具体有多少个面、每条边的精确坐标是多少。
后果:当你想要选中一条边进行倒角,或者移动一个顶点时,系统无法直接做到。它必须首先根据这个“配方”进行一次计算,临时生成一个由点、边、面构成的模型(通常是BRep模型),然后才能让你操作。这个过程被称为“求值”。
“无法存贮物体最终的详细信息,例如边界、顶点的信息等。”
含义:这是上一点的延伸。CSG数据结构本身不存储边界(面)、顶点、边等信息,它只存储构建历史。因此,它本身是一个“过程性”描述,而非“结果性”描述。
“表示形体的覆盖域有较大的局限性”
含义:CSG能创建的形状受限于两件事:一是基础体素的种类(如果系统只提供立方体、圆柱、圆锥,你就做不出一个自由曲面的人脸模型);二是布尔运算的类型。很多复杂、不规则、有机的形态(如汽车外壳、动物雕塑)无法通过简单的几何体布尔运算得到。
“对形体的局部操作(例如,倒角等等)不易实现”
含义:倒角、圆角等操作通常是针对模型的某一条边或某一个面进行的。如上所述,CSG没有直接的“边”的概念,所以无法直接指定。要实现倒角,通常需要非常巧妙地修改CSG树,比如在需要倒角的位置先“差集”挖掉一个小的圆柱体或球体,这非常不直观且困难。
“显示CSG表示的结果形体时需要的间也比较长”
含义:每次在屏幕上旋转、缩放或渲染一个CSG模型时,显卡都需要实时地根据CSG树计算出最终的形状(即进行“边界求值”),这个计算过程比直接渲染一个已经计算好点、线、面的BRep模型要慢得多。尤其是在模型非常复杂时,这种性能差距会更明显。
CSG缺点总结形象化:
想象你用乐高积木搭了一艘船。CSG记录的是“用了哪几种积木块,以及先搭哪里后搭哪里”。现在你想把船头的一块积木换个颜色(局部编辑),但记录里只写了“这里用了红色2x4的砖”,你无法直接操作“船头的那一块”,你必须回溯整个搭建过程才能找到它,这非常麻烦。而显示的时候,别人也需要看着你的搭建说明书,在脑子里先拼出来才能看到船的样子(计算耗时)。
二、BRep(边界表示法)局限解读
BRep的核心思想是精准描述外壳。它明确地定义了构成物体边界的所有几何元素:面(Face)、边(Edge)、顶点(Vertex),以及这些元素之间的连接关系(拓扑结构)。一个立方体在BRep中就是由6个平面、12条边和8个顶点精确定义的。
局限解读:
“对几何物体的整体描述能力相对较差,无法提供关于实体生成过程的信息。”
含义:BRep只关心“它现在是什么样子”,而不关心“它是怎么来的”。它记录的是结果,而不是过程。
后果:参数化设计能力弱。如果你想把一个立方体的高度从10改成20,在BRep中你可能需要手动移动所有相关顶点的坐标。而在CSG或基于历史的参数化建模中,你只需要修改最初那个“高度=10”的参数即可,模型会自动更新。BRep本身不具备这种“智能”。
“无法记录组成几何体的基本体素的元素的原始数据。”
含义:一个BRep表示的圆柱,可能只是由几个拼接的曲面和圆形边构成的。系统可能已经不知道这个圆柱最初的半径和高度是多少了。它丢失了“我是一个圆柱”这个语义信息,只剩下构成它的几何数据(点、线、面)。
“描述物体所需信息量较多。”
含义:BRep需要存储大量的数据:每个顶点的三维坐标、每条边的方程、每个面的曲面方程,以及它们之间复杂的连接关系。这使得BRep文件通常比等效的CSG表示要大得多。
“边界表达法的表达形式不唯一。”
含义:同一个几何物体,可能有多种不同的BRep描述方式。
例子:一个立方体的一个面,你可以用一个完整的正方形表示,也可以将它分割成两个三角形或四个小正方形来表示。只要最终的形状一样,这些不同的“网格划分”方式在BRep中都是合法的。这种不唯一性有时会带来问题,比如在数据交换时,或者进行某些几何计算时,可能会导致错误或效率低下。
BRep局限总结形象化:
想象你用纸糊了一个灯笼。BRep就是一张极其详细的图纸,上面画好了灯笼的每一片纸(面)的形状和位置,以及它们是如何粘合在一起的(边)。这张图纸非常精确,你可以直接指着图纸上的某条线说“我要把它弄弯”(易于局部编辑)。但是,图纸不会告诉你这个灯笼是先糊底还是先糊顶(无历史),而且糊同一个灯笼,你可以用一大张纸,也可以用很多张小纸片拼贴(表达形式不唯一)。
总结与对比
特性 | CSG(构造实体几何) | BRep(边界表示法) |
---|---|---|
核心 | 构建过程(历史) | 最终形状(边界) |
数据结构 | 树状结构(布尔运算树) | 面、边、顶点及其拓扑关系 |
优点 | 参数化修改方便,文件小,保证实体有效性 | 局部编辑灵活,表示能力强(可做复杂曲面) |
缺点 | 无法直接局部编辑,显示慢,形状受限于体素 | 无构建历史,文件大,表达不唯一 |
现代CAD软件的实践:
现代高级CAD系统(如SolidWorks, CATIA, Fusion 360等)通常采用混合模式。它们底层使用BRep作为最终的、可编辑的表示方法,但同时在上层为用户提供一个基于CSG思想的、记录特征历史的参数化建模环境。你每次进行的“拉伸”、“旋转”、“打孔”(本质是布尔运算)都会被记录为历史树中的一个特征,但系统内部会实时地将这些操作的结果计算并存储为BRep数据,以供你进行后续的倒角、抽壳等局部操作。这样就结合了两者的优点。