摘要
针对已有技术参数化程度低、信息易丢失的缺陷,提出了基于工业基础类 (IFC)标准的参数化实体模型数据交互技术。确立了实体模型IFC格式文件的基本框架,研究了实体模型各类信息的参数化IFC格式数据表达方法,并通过软件编程实现。结果表明,该参数化实体模型数据交互技术可准确描述复杂实体模型,生成的IFC格式文件可在各主流BIM软件中准确表达并能二次编辑。
21世纪初,建筑信息模型(BIM)的概念被正式提出,并在短时间内引发建筑产业的信息化革命。建筑信息模型以三维实体模型为主,将建筑的设计、施工、运营等全寿命周期内的信息集为一体,便于建筑工程各方人员协同工
实体模型数据交互的关键就是模型信息的无障碍互通共享。然而,由于建筑工程领域各类软件所支持的模型文件格式不同,结构实体模型的数据交互实际上非常困难,常发生信息错误、信息丢失的现象。为了提供统一的数据描述格式,国际智慧建筑联盟(Building SMART International)制订了建筑工程领域的公共数据转换标准——工业基础类(IFC)标
目前,对使用IFC标准进行数据交互的研究主要集中于各类信息尤其是几何信息的表达方式上。相关研究指导了IFC格式文件中拉伸实
在商业应用领域,各类建筑结构深化软件或BIM软件中均有提供IFC格式数据的交互功能,但从效果看,几何信息粗糙、参数化程度低导致的信息错误与信息丢失现象依然存

图1 几何数据表达错误
Fig.1 Mistakes of geometrical data representation

图2 信息丢失
Fig.2 Losses of information
现有IFC格式数据交互技术已可较为准确地描述模型几何造型,但信息丢失现象依然严重。与力学分析模型不同,结构三维实体模型造型复杂,完整描述建筑结构实体模型需要大量的细节参数,这就要求软件开发人员为各类模型参数编写专门的IFC格式数据转换算法,十分繁琐。为简化生成IFC格式文件的流程,许多软件均采用参数化程度较低的转换方式,如将复杂构件整体表达为B‒rep面片实体,而非若干扫掠实体的布尔运算集合。这样处理的好处是无需编写截面、轴线、空间变换、布尔运算等各类参数的转换算法,带来的缺陷就是参数全部丢失,生成的IFC格式文件为纯粹的三维图形,结构信息无法提取,几乎没有建筑及结构层面的意义,并且难以在现有IFC格式数据基础上进行修改和使用。因此,这样的IFC格式数据交互无法满足实际使用需求。
基于上述分析,现有实体模型IFC格式数据转换过程中信息错误、信息丢失等问题屡屡发生,从根本上是由转换算法的参数化程度较低导致的。为改进此问题,提出了一种针对复杂建筑实体模型的参数化IFC格式数据交互技术。如

图3 参数化与非参数化IFC格式数据交互技术
Fig.3 Parametric and non-parametric data-exchange method of IFC formate
实体模型构件几何信息的参数化交互是整个数据交互过程中最主要的部分。IFC标准支持多种实体描述方式。其中,应用最广泛的为扫掠实体IfcSweptAreaSolid(见

图4 IFC实体表达方式
Fig.4 IFC solid representation methods
扫掠实体IfcSweptAreaSolid包括了拉伸实体、旋转实体等类型,是从某一基本截面着手,通过拉伸、旋转等操作生成。扫掠实体完整保留了截面、方位等各类参数,是一种参数化程度较高的实体表达方式,但缺陷在于通用性低,仅适用于规则的几何造型,难以描述异形构件。
B‒rep边界实体IfcFacetedBrep由表面网格化的三角面片拟合而成。对于建筑构件而言,B‒rep边界实体包含的信息为该实体表面的拟合面片,并不包括构件实体的截面、长度、方位、布尔运算等信息,参数化程度很低。B‒rep边界实体的主要优势在于极强的通用性。只要网格划分合理,拟合面片精度符合要求,就可准确地描述任意不规则实体,如曲线杆、曲面板等没有扫掠特征的异形构件。2种实体表达方式对比如
实体建模过程中,往往需要在扫掠实体构件端部、节点等部位进行切割、合并等操作。经过这些操作后,实体不再是完全规则的扫掠实体。若按照非参数化方法直接使用B‒rep边界实体描述,则相当于只转换了切割、合并操作后的结果,并未记录切割信息与建模的过程,导致几何实体内大量建模参数丢失,后续亦难以对模型进行修改,这也是非参数化方法的重要缺陷及信息丢失的主要原因。
为大幅减少B‒rep边界实体的数量,提高IFC格式数据交互技术的参数化程度,需要引入IFC布尔运算来表达三维实体的切割、合并等操作。IFC标准支持布尔并(union)、交(intersect)、差(difference)3种运算,可将实体模型构件的切割、合并等几何运算视为若干实体的布尔运算结果。

图5 IFC布尔运算二叉树
Fig.5 Binary tree of IFC Boolean operation
IFC标准中参与布尔运算的布尔算子可以为任意实体或布尔运算结果。一般而言,为保证模型的参数化水平和参数化编辑性,参与布尔运算的实体均应为参数化实体。如

图6 2种IFC布尔运算实体
Fig.6 Two types of IFC Boolean solid
布尔运算不仅涉及实体范畴,还应包括面切割。在IFC标准中,使用面进行布尔运算是非法的,必须将面转换为实体。若切割面为平面,则可将切割面转换为一类特殊的实体,即半空间体(IfcHalfSpaceSolid)。如

图7 半空间体定义
Fig.7 Definition of half-space solid
在非参数化方法中,由于构件被表达成B‒rep边界实体,其端点、朝向等方位参数被转化为拟合面片的方位信息。若需要对构件的空间方位进行编辑,则只能修改拟合面片的坐标,难以精准定位截面形心等特征点。
在参数化方法中,大多数构件采用拉伸实体或CSG体素构造实体描述,保留了空间方位信息,避免了信息丢失及二次修改困难的问题。杆件等拉伸实体的空间位置均采用楼层坐标系、局部坐标系与杆件坐标系等3层坐标体系表示,定义于属性ObjectPlacement。如

图8 杆件的空间坐标体系
Fig.8 Coordinate system of bars
材料参数与自定义属性参数描述建筑结构构件的材料、编号、截面名称等参数,通常采用关联属性表示。关联属性是将某一构件与其对应的材料(IfcMaterial)或属性集(IfcPropertySet)进行关联,从而附加材料信息或杆件编号、截面名称、表面处理等其他属性。材料及属性的关联采用IfcRelAssociatesMaterial与IfcRelDefinesByProperties等IFC关联实体表达。关联实体首先引用构件,再引用材料或属性集。定义材料属性时需要写入材料的名称;定义属性集时,需要同时写入属性项目名称与属性值。
组信息包括构件组信息与节点组信息。当构件成组时,组内的子构件被关联为一个整体,组成为构件加工厂进行加工及运输的基本单元,在深化设计、施工管理中具有重要的意义。
虽然现有主流BIM软件都有组的概念,但是ArchiCAD、VectorWorks等许多大型通用BIM建模软件并不支持将组信息转换为IFC格式数据。在少数支持组信息转换的软件中,构件组与梁、柱、板、零件平级,同属于构件的范畴。如

图9 “组”层次与“组‒构件”层次
Fig.9 ‘Group’ level and ‘group-elements’ level
为保留组内各子构件的属性,参数化数据交互方法采用了聚合关系IfcRelAggregates描述组信息,聚合关系描述构件之间整体与部分的关系。如

图10 基于IFC标准的参数化组信息示例
Fig.10 Example of IFC standard-based parametric group information
结合上文所述的参数化数据交互方法及对IFC标准的现有研究与应用成果,得到如

图11 实体模型IFC格式数据框架
Fig.11 Hierarchy of IFC formate data of solid model
模型数据框架首先需要定义模型的基本空间。IFC标准中的模型空间依次为场地空间、建筑空间与楼层空间。各楼层空间内又通过局部坐标系定义了该楼层的各个构件方位。各楼层空间之间的坐标体系采用依次继承的相对坐标系IfcLocalPlacement。
构件是结构实体模型中的基本单元,包括梁与支撑、柱、板、墙及螺栓、锚栓、抗剪键、焊缝等其他构件,布置于给定的模型空间内。各类构件均由抽象类IfcBuildingElement派生。
为将上述参数化实体数据交互技术实例化,在同济大学钢结构深化设计软件3D3S Solid的基础上实现了结构实体模型数据交互技术。3D3S Solid由C++语言与AutoCAD开发接口ObjectArx 对AutoCAD二次开发而成。在3D3S Solid中获取实体模型数据,使用开源的IfcOpenShell引擎生成IFC格式文件,设计了自动提取模型信息并生成IFC格式数据的计算机程序。
提取出3D3S Solid三维实体信息后,其IFC格式数据由各实体的writeIFC()虚函数生成。三维实体的父类为ObjectArx中的三维实体类AcDb-3dSolid,而IfcOpenShell接口为外部接口,无法直接将AcDb3dSolid转化为IFC实体,故在ObjectArx开发环境中设计了派生自IfcOpenShell接口类的子类IFC_Fty以对接IfcOpenShell与ObjectArx。IFC_Fty的成员函数可读取ObjectArx中的各种类实例,也可以执行C++、ObjectArx及IfcOpenShell的命令。在writeIFC()中执行IFC_Fty的各成员函数,可生成模型几何信息、切割信息、关联属性的IFC格式数据,并将IFC格式数据传递给IfcOpenShell。程序结构如

图12 程序结构
Fig.12 Program structure
选取某一实际会展中心工程的3D3S Solid模型,通过IFC导出功能生成该模型的IFC格式文件,并在Revit、ArchiCAD、NMBIM等软件中打开。Revit与ArchiCAD为BIM建模设计软件。NMBIM为上海交通大学自主研发的BIM协同管理平

图13 会展中心实体模型IFC格式数据交互效果
Fig.13 IFC formate data-exchange results for solid model of exhibition center

图14 某构件组IFC格式数据示例
Fig.14 Example of IFC formate data for an element group
模型的参数化程度是本研究关注的重点。选取前文提及的3款支持IFC格式文件导出功能的BIM建模软件,完成实体模型的建模并导出IFC格式数据,最后与采用参数化数据交互技术的3D3S Solid软件进行信息保留率的对比,对比结果如
由
针对现有建筑结构实体模型IFC格式数据交互技术参数化程度较低、信息错误及信息丢失严重的现状,提出了参数化的IFC格式数据交互技术。该技术的运用可极大提高IFC格式数据交互的信息完整性与参数化程度,显著降低模型修改和重建所需的工作量。参数化IFC格式数据交互技术重点改进了布尔运算与组信息的表达方式,如:采用IFC布尔运算记录了模型构件的细节建模过程,保留了模型几何实体的切割、合并等信息;采用组信息表示聚合关系,保留了“组‒构件”的层次关系及子构件属性参数。布尔运算及组信息聚合关系的引入是避免实体模型IFC格式数据信息错误、信息丢失的重要举措。在3D3S Solid实体建造软件的基础上使用C++语言及ObjectArx二次开发工具进行编程,实现了所提出的IFC格式数据转换技术。经测试,通过该功能生成的IFC格式数据文件能够在主流BIM软件中准确表达并能二次编辑,信息完整度好。相较现有主流IFC格式数据交互技术,参数化交互技术的模型信息保留率提高了30%~40%,可显著促进建筑行业各方的数据互通与协同工作,提高工作效率。
作者贡献声明
张其林:提出研究思路,指导研究方案,设计论文框架,审阅论文,提供技术及经费支持。
舒沈睿:调研及整理文献,参与研究工作,参与程序编写,起草并修订论文。
满延磊:调研及整理文献,参与研究工作,指导程序编写,审阅并修订论文。
参考文献
何清华, 钱丽丽, 段运峰,等. BIM在国内外应用的现状及障碍研究[J]. 工程管理学报, 2012, 26(1):12. [百度学术]
HE Qinghua, QIAN Lili, DUAN Yunfeng, et al. Current situation and barriers of BIM implementation [J]. Journal of Engineering Management, 2012, 26(1):12. [百度学术]
Building SMART International, Ltd. IFC official website[EB/OL].[2020-01-20]. http://www.buildingsmart-tech.org/. [百度学术]
赖华辉,邓雪原,刘西拉.基于IFC标准的BIM数据共享与交换[J]. 土木工程学报,2018,51(4):121. [百度学术]
LAI Huahui, DENG Xueyuan, LIU Xila. IFC-based BIM data sharing and exchange[J]. China Civil Engineering Journal,2018,51(4):121. [百度学术]
YING H, LEE S. An algorithm to facet curved walls in IFC BIM for building energy analysis[J]. Automation in Construction, 2019, 103:80. [百度学术]
王勇, 张建平.基于建筑信息模型的建筑结构施工图设计[J]. 华南理工大学学报:自然科学版, 2013(3):82. [百度学术]
WANG Yong, ZHANG Jianping. BIM-based design of structural working drawing[J]. Journal of South China University of Technology:Natural Science Edition, 2013(3):82. [百度学术]
满延磊, 张其林, 常治国. 变电构架IFC数据交换研究[J]. 土木建筑工程信息技术, 2018, 10(5):111. [百度学术]
MAN Yanlei, ZHANG Qilin, CHANG Zhiguo. Research on IFC data exchange for substation structures[J]. Journal of Information Technology in Civil Engineering and Architecture, 2018, 10(5):111. [百度学术]
WANG X, YANG H Z, ZHANG Q L. Research of the IFC-based transformation methods of geometry information for structural elements[J]. Journal of Intelligent & Robotic Systems, 2015, 79(3/4):465. [百度学术]
吕凯垣, 徐俊. 基于IFC4x1的桥梁信息模型转换研究[J]. 土木建筑工程信息技术, 2019, 11(2):99. [百度学术]
LÜ Kaiyuan, XU Jun. Development of IFC4x1-based data transformation for bridge information model[J]. Journal of Information Technology in Civil Engineering and Architecture,2019, 11(2):99. [百度学术]
LEE S H, KIM B G. IFC extension for road structures and digital modeling[J]. Procedia Engineering, 2011, 14:1037. [百度学术]
孟飞, 史天运, 解亚龙. 基于IFC标准的高铁接触网信息模型创建的研究[J].铁道工程学报, 2019(7):70. [百度学术]
MENG Fei, SHI Tianyun, XIE Yalong. Research on the creation of high-speed railway catenary information model based on IFC standard[J]. Journal of Railway Engineering Society, 2019(7):70. [百度学术]
EASTMAN C M, JEONG Y S, SACKS R, et al. Exchange model and exchange object concepts for implementation of national BIM standards[J]. Journal of Computing in Civil Engineering, 2010, 24(1):25. [百度学术]
LAI H H, DENG X Y. Interoperability analysis of IFC-based data exchange between heterogeneous BIM software[J]. Journal of Civil Engineering and Management, 2018, 24(6/7/8):537. [百度学术]
LEE G, WON J, HAM S, et al. Metrics for quantifying the similarities and differences between IFC files[J]. Journal of Computing in Civil Engineering, 2011, 25(2):172. [百度学术]
LIPMAN R R. Details of the mapping between the CIS/2 and IFC product data models for structural steel[J]. Electronic Journal of Information Technology in Construction, 2009,14:1. [百度学术]
JEONG Y S, EASTMAN C M, SACKS R, et al. Benchmark tests for BIM data exchanges of precast concrete[J]. Automation in Construction, 2009, 18(4):469. [百度学术]
LAI H H, DENG X Y, CHANG T Y P. BIM-based platform for collaborative building design and project management[J]. Journal of Computing in Civil Engineering, 2019, 33(3):05019001. [百度学术]