高建新1 姜谙男1 张 勇 申发义 吴洪涛 段龙梅
(1.大连海事大学 交通运输工程学院道桥所,大连 116026;2. 吉林省高速公路集团有限公司,长春 130000)
随着BIM技术在我国建筑领域的逐渐应用,将BIM技术应用于隧道工程成为新的发展领域[1]。郭坤睿[2]研究了基于IFC 标准的既有结构维护信息模型,将BIM应用于既有结构的维护。李锦华[3]研究了基于IFC 标准的BIM 技术对桥梁健康监测信息的表达研究,将BIM技术应用于桥梁健康监测。在隧道施工过程中,隧道的安全状态可以由隧道监控量测进行直接反映,隧道监控量测是保障隧道施工过程得以顺利安全进行的不可或缺的项目[4]。将BIM技术与隧道工程中的监控量测相结合,有着重要且前沿的工程意义,以期利用BIM技术与监测数据高效合理地指导隧道施工。BIM模型中的信息是通过一种共同的数据标准IFC来实现在不同的BIM软件间的交互,本文利用IFC 标准提出监测信息扩展方法,对标准未提供的数据模型和信息进行基于IFC 的扩展,实现将监测数据写入IFC文件,以期在不同的BIM软件均可实现隧道监测数据的查询,从而达到BIM模型与监控量测相结合,为BIM技术在隧道工程施工期间指导安全施工提供保障[5-7]。
Revit软件作为BIM平台主流建模工具,具有强大的建模设计功能,可以将复杂的物理模型以及单独的可编辑模型进行集成。Revit API提供了一系列命名空间和类库,方便用户以程序二次开发的方式自定义或扩充相应的建模设计功能,不仅能够实现 Revit 平台上既有的大部分功能,而且还能实现一些通过界面交互方式不易完成的工作。马佰钰[8]利用Revit二次开发研究了利用Revit斜拉桥参数化设计。结合交互操作和程序控制各自的优点,适当利用 API 通过Revit二次开发的方式完成一些数据量大、规律性强的建模工作,可以显著提高用户的建模效率[9]。
隧道监控量测作为隧道施工过程的一个重要部分已得到长足发展,隧道监测项目众多,监测数据数量庞大,采用人工监测的方式不易及时反映施工过程中隧道的受力状态,也不方便数据的管理,浪费了大量的人力物力[10]。随着计算机技术的发展,充分发挥计算机的高性能[11],采用自动化监测的方式[12],在信息化的大趋势下,既高效又便于将信息匹配到BIM技术。
自动化监测信息数据的采集,借助先进的无线传输技术和云服务技术。采集设备箱中的振弦式采集模块实时采集现场安装的土压力盒、锚杆计、位移计等传感器反馈的监测数据,借助基于433Hz无线透传模块,无线透传模块之间以485数据信号通讯的模式,将振弦式采集模块采集到的监测数据传输到洞口的发射箱中的无线透传模块终端,终端无线透传模块将数据传输给GPRS模块,GPRS模块可实现基于以太网的双向透明传输,远程将数据传输至终端服务器,服务器利用自主研发的到岩土工程多元信息采集分析软件对传输过来数据进行采集与分析,并存储至云服务器中的SQL Server数据库[13]。为BIM技术与隧道工程中的监控量测相结合提供实时的监测数据的更新。
图1 数据采集流程图
基于IFC标准的监测信息表达与集成,需要对IFC标准进行拓展。IFC标准拓展主要包括两种拓展模式,分别为实体拓展和属性集拓展[14]。实体拓展是作为IFC标准的每次升级所采用的体系结构扩展方式,采用自定义实体类型的形式,用以对原IFC标准中未定义的类型进行表达,即人为增加IFC标准的定义数量。属性集扩展是通过自定义属性的形式,以及自定义属性集的形式来表达原有IFC标准中未定义的类型属性,如监测信息。属性集扩展对原有IFC 模型体系结构不会产生影响,不会对原有IFC模型体系结构产生混乱或歧义,而且采用属性集拓展相对简单方便,完全可以满足将监测信息集成至IFC文件的要求,本文通过属性集拓展的方式实现监测信息向IFC文件的集成。
属性集拓展需要定义每个传感器模型表达信息时需要的属性集及属性,将监测数据集成至IFC文件,属性集扩展中传感器均用在IFC标准中有定义类型的IfcSensor实体表示,传感器类型包含在IfcSensorTypeEnum枚举类型中。用IfcProperty 表示具体的监测信息,属性集的定义由多个相关性能属性IfcProperty构成,即IfcPropertySetDefinition。IfcPropertySetDefinition提供实体的属性集合的定义,它是所有属性定义的抽象超类IfcPropertyDefinition的子类,对实体属性起到容纳的作用,每一个属性集合都对一个特定的对象类型进行定义,与主体实体IfcObject的子类实体通过IfcRelDefines及其子类IfcRelDefinedByProperties产生关联,使抽象的对象具体化。传感器实体IfcSensor通过IfcRelDefines ByProperties 与属性集合的定义IfcPropertySetDefinition建立关联关系。在IFC 标准中,对监测信息的描述方式如图2。
图2 IFC 标准对监测信息的描述
对于需要拓展的基于IFC标准的监测传感器实体,建立了传感器信息IFC属性集定义,见表1,和传感器信息IFC属性定义,见表2。将表中的属性与数据成员一一对应,实现传感器信息与IFC标准数据模型之间的映射[15]。
表1 传感器信息IFC属性集定义
属性集名称Pset_SensorTypeEnum适用的实体IfcSensor适用的类型值IfcSensor/Userdefined/Enum定义Adevicethatrecordsfunctiondata
表2 传感器信息IFC属性定义
属性名称属性类型数据类型传感器类型IfcPropertySingleValueIfcLabel测点编号IfcPropertySingleValueIfcText监测数据IfcPropertyListValueIfcreal
在IFC 文件中描述监测数据的属性及属性集语句如下:
#1011=IFCSENSOR(′2ODFJcoe9DuBkT2X KeuC9K′,#42,′X24F20611F566820142014571 F538B529B76D265CFX02:X24F20611F56 6820142014571F538B529B76D265CFX02:223 456′,$,′X24F20611F566820142014571F538B529 B76D265CFX02:X24F20611F566820142014571 F538B529B76D265CFX02′,#1010,#1004,′22 3456′,.NOTDEFINED.);
#1029=IFCPROPERTYSINGLEVALUE(′X24F20611F56687C7B578BX0′,$,IFCTEXT(′X2571F538B529B76D2X0′),$);
#1030=IFCPROPERTYSINGLEVALUE(′X26D4B70B97F1653F7X0′,$,IFCTEXT(′3660′),$);
#1031=IFCPROPERTYSINGLEVALUE(′X276D16D4B6570636EX0′,$,IFCTEXT(′7.802018-08-10 22:42:18′),$);
#1058=IFCPROPERTYSET(′2ODFJcoe9DuBk T30qeuC9K′,#42,′Pset_SensorTypeEnum′,$,(#1029,#1030,#1031));
#1063=IFCRELDEFINESBYPROPERTIES(′2ODFJcoe9DuBkT3GqeuC9K′,#42,$,$,(# 1011)#1058);
其中,#1011 描述IFCSENSOR传感器实体。#1029对应的IFC 语句描述传感器类型属性,#1030对应的IFC 语句描述测点编号属性,#1031对应的IFC 语句描述监测数据属性。#1058 描述属性集,属性集名称Pset_SensorTypeEnum,其中包含了传感器类型属性、测点编号属性、监测数据属性。#1063表示传感器实体#1011与属性集#1058关联。至此完成对传感器记录信息的IFC 语句表达[16]。
图3 监测数据批量导入至IFC文件流程图
利用自主研发的IFC标准监测信息读取软件,自动将储存在数据库中的监测数据批量写入IFC数据格式文件,进而显示在属性拓展的测点的监测值文字框中。IFC标准监测信息读写程序软件基于IFC标准中对实体属性的表达方式,明确传感器实体与监测数据属性在IFC中性文件的组织关系,在此理论基础上完成IFC中性文件的解析,通过对需要拓展的信息对应的IFC文件中属性语句、属性集语句及关联语句的自动编写,生成新的IFC 文件,流程图如图3,从而实现将监测数据批量集成到IFC 文件,对该IFC文件进行基于IFC标准监测信息批量读写操作,如图4。从而实现基于IFC标准的监测信息表达与集成。由于IFC文件是一种通用的数据格式,所以在任何一个支持IFC 格式的BIM 软件都能可视化显示监测信息,以至于构建的BIM模型中的传感器信息在不同的BIM软件之间可实现交互。
图4 基于IFC标监测信息批量读写操作
在实现基于IFC的监测信息表达与集成时,每个IFC实体都对应着一个BIM模型构件,建立BIM模型构件是研究将BIM技术与隧道工程中的监控量测相结合中不可或缺的一部分。
在建立隧道工程BIM模型时需要建立监测传感器模型,建立监测传感器存在传感器数量巨大,需要在指定位置安放指定的不同类型的传感器,机械重复性工作较多等问题。在目前BIM技术核心建模软件Revit中建立监测传感器等模型时,虽然可以手动建立,但是监测传感器数量巨大且安放位置不固定,安放传感器模型时需要反复寻找位置,安装时多数传感器需要与侧壁相切安装,这导致手动建模时传感器难以通过旋转、复制等操作实现快速建模,许多重复性的建模工作降低了Revit的建模效率,在修改模型时存在着一处修改处处修改的弊端,这些对BIM技术在隧道工程中的应用产生了阻碍。
监测传感器模型在建立时,需要通过Revit二次开发的方式,运行用C#语言编写建模程序,监测传感器模型在Revit环境下输入安放的位置参数(半径和角度)可以自动生成并安放到指定位置,无需手动建模时反复寻找位置。利用Revit二次开发的方式实现参数化建模可以高效精准地完成建模工作。
Revit二次开发的编程环境采用采用visual studio2013,用支持.Net Framework的C#语言进行编写,在编译器中引用revitAPI.dll和revitAPIUI.dll动态链接库。安装AddinManager插件,作用是在不重启Revit软件的情况下,可以重新生成程序中的命令。
IExternalCommand是RevitAPI中实现外部扩展的命令,内含Excute函数。外部命令调用Excute函数来实现IExternalCommand,Excute的定义方式public Autodesk.Revit.UI.Result Execute(ExternalCommandData cmdData,ref string message,ElementSet elements),分别为输入参数CommandData(ExternalCommandData)、输出参数message(string)、输出参数elements(ElementSet)[17]。
搭建Windows窗体应用程序,利用外部事件IExternalEventHandler,在窗体应用程序内即可触发外部事件,创建隧道构件采用RevitAPI中事务Transaction的方法,不同的隧道监测传感器编写相应的绘制程序。
运行相应二次开发的参数化建模程序,在输入对话框内按照传感器安放位置输入参数后,即可得到相应的BIM三维传感器族模型,例如在传感器——土压力盒参数输入框内输入参数,如图5,类似输入应变计传感器、钢筋计传感器、位移计传感器的参数,即可得到相应的传感器族模型。分别建立一个断面的传感器族模型,将族载入至项目中,对构件进行拼装,形成带有监测传感器的隧道BIM模型,如图6。
图5 参数输入框
图6 隧道BIM模型
在最常用的Revit软件打开基于IFC数据标准的隧道模型,分析筛选IFC文件中监测数据时,通过Revit二次开发的方式,点击开发的功能面板中“所选传感器监测数据查询”,如图7,点击传感器模型,程序可以实现自动显示该传感器模型对应测点编号的监测数据,监测数据以表格的形式进行展现,如图8,可以调节监测数据按照监测时间升序降序或监测值的大小进行升序或降序排列,并且可以实现自动绘制出此传感器模型对应的测点编号的监测数据与监测时间的曲线,如图9,可以方便分析监测数据的规律。
图7 按键“所选传感器监测数据查询”
图8 监测数据列表
图9 关于监测数据与监测时间的曲线
通过Revit二次开发,选择开发的功能面板中“预警”,如图10,可以启动预警的功能。当某个传感器监测数据大于安全值时,程序自动检索出这些监测数据的测点编号,进而检索出测点编号对应Revit图元Id,对这些Revit图元Id对应的图元实现变颜色的效果,可以在BIM模型中直观地展现出安全状态,实现预警的功能。
图10 按键“预警”
BIM技术在隧道工程中的应用已经成为新的发展领域,研究将BIM技术与隧道工程中的监控量测相结合,有着重要且前沿的工程意义,以期利用BIM技术与监测数据高效合理地指导隧道施工,本文开展了基于IFC标准和参数化的隧道监测信息模型研究。
(1)通过对IFC标准进行拓展,实现基于IFC的监测信息表达与集成;
(2)通过研究Revit二次开发,通过参数化构建传感器模型,提供了快速构建BIM模型的一种思路,大大提高了建模及修改模型时的效率[18];
(3)研究在最常用的Revit软件打开基于IFC数据标准的隧道模型时,实现在BIM模型内可以查询到各个传感器模型对应的监测数据,绘制监测数据曲线,以此来分析监测数据。当监测数据大于安全值时,传感器模型实现颜色改变而达到预警的功能,在BIM模型中反映隧道的安全状态。
基于IFC标准和参数化的隧道工程监测信息模型研究,为BIM技术在隧道工程施工期间指导施工,隧道运营期间隧道病害检测、维护提供依据。