基于工业基础类标准的钢结构BIM全数据交互技术
2024-04-08张其林唐子涵满延磊
张其林, 唐子涵, 满延磊
(1. 同济大学 土木工程学院,上海 200092;2. 上海同磊土木工程技术有限公司 研发部,上海 200433)
传统建筑行业因高度分散的行业特性、不同参建方技术应用的不一致性等因素,存在较为严重的资源浪费与经济损失现象[1]。建筑信息模型(Building Information Modeling,BIM)的出现,推动了建筑业信息化变革的浪潮。BIM技术旨在以建筑信息为基础构建计算机建筑信息模型,使建筑设计、建造、管理等各阶段信息高度集成,促进项目各参与方高效协同工作[2],提高设计施工效率、控制资源浪费。BIM技术发展的核心是在统一的数据管理平台下实现多专业领域、多时间节点的数据共享。然而,由于建筑领域设计软件繁多、不同软件对结构模型的读取与输出机制不同,信息交互仍存在较大阻碍[3]。迄今为止,国内外仍未能实现基于一套BIM模型完成的全过程正向设计,不同阶段、不同领域的设计人员常需对其他BIM软件传输的模型进行大量修改或二次建模,导致模型信息不集成、不连续,且消耗大量时间、人力成本。为打破不同BIM软件间的信息传输壁垒,国际智慧建筑联盟制订了工业基础类(Industry Foundation Classes,IFC)标准作为国际通用的BIM数据交互标准[4],对设计信息进行存储、传递、共享。IFC标准采用STEP标准与面向对象的EXPRESS语言描述,具有公开化、结构化、面向对象等特征[5-6],按照层级进行划分的框架具有较强的可读性与可扩展性[7],是解决BIM数据交互问题的基础。
钢结构作为当前应较为广泛的建筑结构形式之一,由于其体系、构件、连接类型复杂多样,且力学分析、设计验算、结构深化等各阶段相对独立,对高准确性、高效率的BIM 数据交互功能的需求较为迫切。但现有的基于IFC 标准的数据交互技术对钢结构BIM信息传输的准确性与完整性较低,严重影响了钢结构BIM技术的推广应用。本文提出了基于IFC标准的钢结构BIM 全数据交互技术,其中导出技术最大限度保留了钢结构模型信息,可获得较高的BIM软件IFC数据解析支持率;针对Tekla软件开发的专用导入接口,能实现IFC模型全信息读取与编辑,打通了钢结构从计算、深化到出图的全信息交互节点,实现了钢结构BIM技术应用的高精确性与高效率。
1 钢结构行业IFC数据交互研究现状及存在的问题
目前,建筑设计阶段对基于IFC 标准的数据交互技术的研究主要集中于IFC 数据映射、信息集成共享与相关应用开发等方面。Lipman[8]研究了钢结构设计标准与IFC 数据的映射方法,为IFC 标准在钢结构设计中的应用打下基础;Wu等[9]从语义与几何信息的角度出发提出了一种基于BIM 数据集的IFC 数据映射优化方法;Kang 等[10]设计了基于IFC标准的信息提取、转换与加载框架,并对IFC标准与GIS标准进行了集成研究。诸多研究成果被应用于建筑、桥梁、隧道等多种结构形式的模型转化中[11-13],使IFC标准的应用范畴得到进一步丰富与扩展。
目前在基于IFC数据交互的应用领域,多数深化设计与实体建模类BIM软件均提供IFC格式模型的导入导出功能,如Revit、Tekla Structure、ArchiCAD、Bentley、Advance Steel等,但其应用效果并不尽如人意。许多学者在研究中指出,IFC数据于不同软件中传输时存在一致性问题,Turk Z等[3]通过IFC数据转换测试发现以IFC标准描述的建筑信息模型在不同BIM软件间传递会出现信息错误、构件丢失、表达不一致等现象;Ghang Lee等[15]发现同一模型在不同软件中输出的IFC文件在大小、编号、描述构件所使用的对象类型与属性等方面都存在差异。综上所述,IFC数据在BIM软件间的传输主要存在两方面问题:一是模型IFC数据导出时会出现信息表达错误甚至丢失的现象;二是即使通过IFC文件获取到较为完整的钢结构模型数据,部分BIM 软件对模型信息的解析功能仍不够完善,且不同软件间IFC数据到实体模型的映射算法不统一、存在信息表达歧义,难以完整准确的还原结构模型[16],影响模型传输效率。
在信息导出错误与丢失方面,以某钢结构框架模型为例,将其在两类BIM软件间以IFC格式进行传输,模型出现了较为明显的杆件缺失(见图1a),且切割过的板件只保留了实体外观,其切割信息、厚度、编号等关键属性均丢失,无法进行参数化二次编辑(见图1b)。
图1 IFC模型信息传输问题Fig.1 Error in transmission of information from IFC model
在信息解析不完全方面,以钢结构详图设计软件Tekla Structures 为例,其内置 “参考模型” 功能接受*. ifc格式文件导入,但解析所得模型的信息保留率较低,大量零构件出现几何外观表达错误,无法直接用于深化设计与出图。例如,将某圆管柱IFC 模型导入Tekla,发现柱身出现了严重的板件、螺栓缺失,如图2a所示。Tekla 2020及以上版本增加了 “起始IFC 对象转换变更管理” 功能,可通过转换、作为挤压转换、作为项转换等选项对构件进行调整,但即使经过转换,模型仍存在构件丢失现象,如图2b 所示,且转换无法批量操作,对体量较大的建筑模型,逐一转换调整构件并不现实。综上,经由IFC 标准传输的钢结构模型,常需要工程人员进行大量步骤繁琐的修改调整,严重影响设计效率。因此提升钢结构IFC 数据导出的准确性与兼容性,针对部分IFC数据解析能力不足的BIM软件创建相应的IFC数据解析接口,已成为解决问题的关键所在。
图2 Tekla对IFC模型的表达错误Fig.2 Wrong expression of IFC model by Tekla
2 IFC数据与钢结构模型间的转换
2.1 模型数据到IFC数据的转换流程设计
为提升IFC 数据导出的完整性、准确性与兼容性,根据IFC标准下的模型表达机制,设计模型数据至IFC 数据的转换流程,整体思路可划分为模型几何信息导出与附加属性导出两部分。
2.1.1 模型几何信息导出
模型中构件几何信息可通过IFC 构件类IfcElement 及其派生类描述。构件在不同软件中IFC 类转换差异,是导致几何信息传输错误的一大原因。例如,梁、柱、板等构件分别可转换为IfcBeam类、IfcColumn 类、IfcPlate 类,也 可 统 一 转 换 为IfcBuildingElementProxy 类,研究发现多数BIM 软件对前者有更强的解析能力;焊缝、螺栓等连接可转换 为 IfcDiscreteAccessory 类 、IfcMechanical-Fastener类等,经测试不同方式导出构件的信息完整度,决定采用IfcDiscreteAccessory 类描述焊缝连接,IfcMechanicalFastener 类描述螺栓等连接,使模型导出的构件信息拥有最大程度的完整性与兼容性。
导致信息丢失、二次编辑困难的另一原因,是构件的几何实体项表达方式差异。若构件几何构型规则,其几何实体项IfcGeometricRepresentationItem可通过IFC拉伸实体IfcExtrudedAreaSolid、IFC旋转实体IfcRevolvedAreaSolid 等参数化实体表达,其信息保留率较高,能够二次编辑。若构件形状复杂,难以通过既有IFC参数化实体表达,可采用参数化程度较低的IFC面片实体IfcFacetedBrep替代,面片实体将构件拟合为网格化的三角面片,能描述实体几何外观,通用性较强且算法简单,是目前BIM软件对构件的主流转化方式,但其信息保留率低,导出后无法二次编辑。对比两种表达方式,结果如表1所示。
表1 IFC几何实体项表达方式对比Tab.1 Comparison of IFC geometric entity item expressions
为减少B-rep面片实体带来的信息丢失,本研究对复杂构件优先采用CSG(Constructive Solid Geometry)体素构造法描述,CSG将复杂实体视作简单几何实体的布尔运算结果,其中简单几何实体可采用参数化IFC实体描述,以提高构件信息保留率。例如,基于CSG法创建切割体、被切割体的IFC参数化几何实体,将其视为布尔算子IfcBooleanOperand,应用IFC标准提供的union/intersect/difference三种运算符执行布尔运算。若构件经历过线/面切割,可通过IFC标准下的半空间体IfcHalfSpaceSolid予以描述,切割面即为半空间体边界面,切割面法向为半空间体深度方向。模型构件几何信息转换思路如图3所示。
图3 IFC构件几何信息转换Fig.3 Geometric information conversion of IFC elements
2.1.2 模型附加属性导出
模型附加属性包含构件截面、材质、编号、组信息等,目前多数BIM 软件对IFC 附加属性转换处理较少。本文为最大限度保留模型信息,通过以下三种方式导出其附加属性:
一为材料属性,可通过IfcRelAssociatesMaterial关联构件与其材料集IfcMaterial 导出,经验证此方式可获取较高的BIM软件解析支持率。
二为截面、编号等基本属性与常用构件附加属性,可通过属性集IfcPropetySet 中的HasProperties引用单值属性,再以IfcRelDefinesByProperties 建立构件与属性集间关联的方式导出。其中构件附加属性增加了可导出的信息种类,如对杆件,实现端部定位点重心坐标导出;对板件,实现切角类型、切角尺寸导出;对螺栓、锚栓、铆钉,实现规格、装配类型、排列方式等信息导出;对焊缝,实现类型、角焊缝高度(若为角焊缝)等信息导出。此方式可便捷导出多种自定义属性,且不受表达方式限制,思路如图4所示。
图4 IFC构件属性转换Fig.4 Attribute conversion of IFC elements
三为目前绝大多数BIM软件均未考虑的组信息,包括构件组、节点组等。组信息导出最重要的是同时保留构件自身参数化信息与依附关系,经研究本文采用IFC 聚合关系类IfcRelAggregates 描述组,以抽象类 聚 合 元 素 集 IfcElementAssembly 作 为RelatingObject提示组关系,以RelatedObjects定义组构件集合,该方式使组层级与构件属性均得以保留,实现了高参数化水平的组信息转换,思路如图5所示。
综上,设计如图6所示的模型IFC数据导出流程。
图6 模型IFC数据导出流程Fig.6 Exporting process of model IFC data
经上述流程导出的钢结构模型IFC 文件,可将模型中零构件几何外观、坐标方位、布尔运算过程等几何信息与零构件材料、截面、编号、组关系等附加属性完整准确的表达,且映射算法具有较强的兼容性,能够于主流BIM 软件中实现准确的几何构型表达与参数化构件二次编辑。
2.2 IFC数据到模型数据的转换流程设计
为实现模型全数据交互与二次编辑、出图,还需完善BIM软件对IFC数据的解析功能。本文选取常用于施工图绘制、对模型可编辑性要求较高的Tekla软件,研究针对Tekla 的IFC 数据导入接口,设计IFC数据到Tekla模型数据的完整转换流程。
IFC 结构模型可通过IfcProject 表达,其依次关联模型场地、建筑、楼层信息,以及模型整体的空间坐标方位。解析IfcElement 类,可获得全部建筑构件信息,遍历其中成员,可逐一转化构件。
Tekla中IFC构件解析需按一定顺序进行。部分实体存在关联实体,如切割体、被切割体可视为切割结果的关联实体,被连接构件可视为连接件的关联实体。以Tekla零件切割为例,执行切割的方式为实例化一个BooleanPart 对象,设置已存在的零件为该对象的被切割体Father与切割体OperativePart,若该对象Insert成功,说明切割成功。因此这部分IFC实体解析时,需满足其关联实体均已生成的先决条件,考虑采用拓扑排序思路:对不存在关联实体的构件先行解析,每解析完成一个构件,记录该构件IFC标识符GlobalId 与Tekla 标识符Identifier 间的哈希映射;若当前构件存在关联实体,获取其算子BooleanOperand的IFC标识符GlobalId,判断哈希表中是否已存储该GlobalId 作为键值,若否,说明当前构件存在布尔算子尚未生成,无法执行切割操作,需暂缓解析。所有关联实体单向记录,即解析不存在环路。
Tekla构件创建时需要设置属性,故实例化构件对象前需先通过反向属性IfcRelDefinesByProperties获取与当前构件对象IfcElement 相关联的属性集,采用数据结构哈希表记录属性名与属性值间的映射关系。考虑到Tekla中材料库、截面库设计依据为欧洲规范,属性解析前先建立国标与欧标间关于材料、截面类型的转换机制。
解析螺栓、锚栓等连接构件时,由于螺栓群可围绕定位点与定位轴线进行偏移与旋转,这为栓群位置的确定带来较大困难。本研究采用记录螺栓局部坐标系,螺栓创建时将模型整体坐标系转换为局部坐标系,基于构件坐标层次进行螺栓定位,待创建完毕再还原整体坐标系的方式,解决了螺栓定位问题。属性赋值阶段先设置螺栓规格、直径、装配类型等基本信息,再通过关联实体的IFC 标识符GlobalId 与此前记录的已生成Tekla 构件的GlobalId 到Identifier 间的哈希映射找到待连接构件,绑定其为螺栓的PartToBoltTo 与PartToBeBolted 对象,完成螺栓实体导入。零构件创建过程及实例化相应类需赋值的成员变量如图7所示。
图7 Tekla零构件创建与属性设置Fig.7 Component creation and property setting of Tekla
由于拓扑排序流程确保其布尔算子已拥有Tekla实体,解析布尔类型构件时可直接获取相应实体并利用实例化零件切割(BooleanPart)、面切割(CutPlane)等类对象,执行IfcBooleanOperator 记录的切割或延伸操作,重现并维护构件切割或连接过程。布尔切割流程及实例化相应类需赋值的成员变量如图8所示。
图8 Tekla布尔实体创建与属性设置Fig.8 Boolean entity creation and property setting of Tekla
解析模型组信息时,从IfcRelAggregates 类获得组内子构件的IFC 标识符,利用哈希映射确定对应Tekla构件实体,通过GetAssembly 方法获取主零件的Assembly装配对象,再将其余构件加入该装配单元,实现组信息转换。综上,设计如图9所示的模型 IFC数据导入流程。
图9 模型IFC数据导入流程Fig.9 Importing process of model IFC data
由于模型中零构件均根据IFC数据重建,效果等同于直接在Tekla中手动建模,故经上述流程解析得到的IFC模型能够较好的满足二次编辑与出图需求。
3 钢结构IFC数据转换技术应用实例
IFC数据导出技术的程序依托同济大学自主研发的钢结构设计平台3D3S实现,能够将常见的钢结构模型导出为IFC文件。开发3D3S软件系统需要C++编程语言与基于ObjectArx的AutoCAD二次开发环境。为将模型信息转换为IFC格式数据,使用开源引擎IfcOpenShell,并通过自主设计的各类转换函数,实现ObjectArx中三维实体类AcDb3dSolid派生的各类构件实体到IFC实体的转换。
IFC数据Tekla专用导入接口的程序则依托基于C#编程语言的Tekla二次开发实现,由于IfcOpenShell解析器没有C#版本,使用Xbim开源库对IFC文件进行解析,并利用Tekla官方应用编程界面TeklaOpenAPI提供的类库,实现IFC实体到Tekla模型中ModelObject类派生的各类构件实体的转换。
由3D3S IFC数据通用导出技术导出的IFC模型具有普适性,能够在支持IFC文件读取的主流BIM软件中表达,直接将模型导入至Revit、ArchiCAD、Navisworks等软件中,可实现模型几何构型交互,满足模型中参数化构件的二次编辑,这样的数据接口可视作通用接口;同时为提升模型转换精度、避免深化阶段重复建模,开发针对Tekla的IFC数据导入接口,使经其导入的模型实现全信息保留与二次编辑,提升钢结构深化设计效率,这样的数据接口可视作专用接口。IFC模型转换程序框架如图10所示。
3.1 通用数据接口实例
为验证研发的通用数据接口工程应用可行性,选取某轻钢厂房模型,经由3D3S Solid软件导出为IFC格式文件。选择建筑结构设计常用且支持IFC模型解析的BIM软件Revit、ArchiCAD与Navisworks,导入该IFC文件,所得模型整体与细部效果如图11、12所示。
图11 厂房IFC模型整体导出效果Fig.11 Exporting integral results for IFC model of workshop
图12 厂房IFC模型细部导出效果Fig.12 Exporting detailed results for IFC model of workshop
经对比分析,导出的IFC模型信息完整、表达准确,参数化程度较高,在几类测试软件中均体现出较优的交互效果。
选取Tekla、Revit、ArchiCAD 3款自带IFC导出功能的结构设计软件,统计其导出的IFC 模型数据信息转化率,对比结果如表2所示。由表格可见,相较于其余3款BIM软件,3D3S IFC数据导出技术能够获得更高的实体切割、构件局部坐标等几何信息的转化率,并通过参数化组信息与构件附加属性丰富了可导出的信息种类,具有较为显著的信息转化优势。
表2 不同软件导出IFC模型的信息转化率对比Tab.2 Comparison of information conversion rates of IFC models exported by different softwares
3.2 专用数据接口实例
为验证研发的针对Tekla的IFC专用数据导入接口的工程应用可行性,选取某轻钢厂房模型与某会展中心模型,经由3D3S Solid软件导出为IFC格式文件,使用接口导入至Tekla。所得厂房模型及其细部构造如图13所示,会展中心模型及其细部构造如图14所示。
图13 厂房IFC模型于Tekla中导入效果Fig.13 Importing results to Tekla for IFC model of workshop
图14 会展中心IFC模型于Tekla中导入效果Fig.14 Importing results to Tekla for IFC model of exhibition center
对比使用IFC 数据导入接口前后的Tekla 模型信息转化率,如表3所示。使用导入接口后,模型几何构型、切割信息、附加属性等转化率大幅提升,并新增深化设计所需的关系信息与组信息导入,基本满足后续深化设计与图纸绘制需求,显著提升计算模型到深化模型的转化效率。
表3 使用IFC数据导入接口前后模型信息转化率对比Tab.3 Comparison of model information conversion rates before and after using the IFC data import interface
3.3 全数据交互技术性能分析
从运行效率层面分析,以轻钢厂房模型为例,模型dwg 文件大小为216MB,共有13 666 根杆件、12 076 块板件、1 953 个螺栓、2 482 段焊缝、6 784 组节点,经IFC 数据导出技术转换得到的IFC 文件大小为246MB,导出用时8min 11s;导入Revit 软件,用时8min 46s,导入ArchiCAD 软件,用时3min 37s;应用专用数据接口导入Tekla 软件,用时5min 32s,表现了全数据交互技术较优的空间性能与运行效率。
从数据格式层面分析,中国建筑科学研究院建筑工程软件研究所研发的工程管理软件PKPM同样开发了导出模型至Tekla 的功能,但其模型存储为mdb格式,导出与导入均需特定的转换接口,无法满足导出模型供主流BIM软件共享的要求。使用IFC格式与其他格式开发数据接口的功能对比如表4所示,可知使用IFC 格式进行数据导出并开发基于IFC 标准的导入接口通用性较强,且具有 “进可攻、退可守” 的优势。使用专用接口能够有针对性的将IFC 模型全部信息导入指定BIM 软件,无需重复建模即可进行深化设计、施工图出图等流程;使用通用接口则能将IFC模型几何构型与参数化构件全部信息导入主流BIM 软件,实现模型整体基于几何层次的数据交互与参数化构件的二次编辑。
表4 不同格式下数据接口的对比Tab.4 Feature comparison of data interfaces in different formats
4 结论
(1) 本文针对现有钢结构BIM软件基于IFC标准下的模型数据交互问题,研发了一种全数据交互技术,克服了国内外现有软件平台在钢结构模型IFC数据导入导出中存在的主要弊端,大幅提升了BIM技术在钢结构设计建造全过程中应用的准确性、经济性与效率。
(2) 为提高IFC模型信息导出的完整性与兼容性,选取BIM软件解析支持率较高的IFC类进行零构件转换,并采用参数化程度较高的IFC实体描述基本构件、CSG体素构造体描述异形构件,减少了因应用面片实体带来的钢构件模型参数大量丢失的现象,提高了模型的可编辑性。除可导出构件材料、截面、编号等基本属性外,还可导出任意类型钢构件重要的附加信息,能够满足钢构件对可导出信息的严苛要求。
(3) 通过专用数据接口的设计,可将IFC模型完整准确的传入Tekla软件,避免了深化设计阶段重复建模,提高了基于BIM技术的钢结构模型深化与出图效率。
(4) 本文研发的IFC数据导出技术具有较强的通用性与普适性,所得IFC模型能够在主流BIM软件中实现基于几何构型层次的数据交互与参数化构件的二次编辑;IFC数据导入接口具有较强的针对性,适用于对模型可编辑性要求较高的情况,通过专用接口开发能够实现模型全信息转换与二次编辑,使BIM模型呈现良好的数据交互效果。
(5) 本文研究的IFC全数据交互技术已成功应用于实际钢结构工程中,与传统方法相比,可将钢结构BIM技术的应用效率提高2-3倍,并避免了重复建模可能带来的人为差错。
作者贡献声明:
张其林:提出研究思路,指导研究方案,设计论文框架,审阅论文并提出修改意见,提供技术及经费支持;
唐子涵:调研及整理文献,参与研究工作,完成程序编写,起草并修订论文;
满延磊:调研及整理文献,参与研究工作,指导程序编写,审阅并修订论文。