包龙生,安培磊,王 鹏,梁 伟,于 玲
(1.沈阳建筑大学交通与测绘工程学院,辽宁 沈阳 110168;2.中建二局第四建筑工程有限公司,天津 300457)
随着现代桥梁的大规模建成,桥梁设计与建设处于瓶颈期,同时桥梁结构在使用过程中,会随着外界因素的不断腐蚀、结构材料的逐渐老化以及车辆荷载的不断作用,桥梁结构出现多种病害,导致桥梁承载能力降低[1]。由此可见,桥梁的管理和维护工作就显得尤为重要[2-3],但传统的桥梁管养技术,有很大的局限性,病害可视化程度低,运营维护人员不能准确快速地找到桥梁病害位置。为了改善这一现状,BIM技术在桥梁安全管理方面得到了深入应用[4],但同时越来越多的研究者认为 BIM 应用的技术路线,不应该止步于三维可视化的研究,而应该进一步实现桥梁多维信息的数据共享与交换,以满足病害信息与桥梁模型信息的融合[5]。B.Mcguire等[6]将桥梁BIM模型与桥梁检测信息进行了关联分析,并对桥梁技术状况进行评估。慕尼黑工业大学的Y.Ji[7]扩展了桥梁模块在IFC标准中的定义方式,丰富了桥梁模型的数据格式。
IFC标准不仅仅是利用数据模型对数据格式的标准进行传递,而是不同数据之间的整合,为病害信息模型与桥梁实体模型相结合提供了路径。IFC标准运用Express 语言表达实体构件信息,实现模型信息数据的存储与交换[8-9]。目前,多种建模软件均可对IFC数据文件进行读取和输出,为模型的多平台数据交流搭建了信息渠道[10]。
基于上述分析,笔者在准确解析IFC数据的基础上,着重利用Express语言的可描述性,总结一种通用的桥梁安全信息模型的创建方式。研究表明:基于桥梁实体模型的IFC数据文件的结构特征,将病害模型数据与原构件模型数据二次重组,可实现桥梁信息模型的多平台可视化和病害信息的准确表达。
IFC(Industry Foundation Class)标准在1997年发布IFC1.0 后,经过数年来的发展完善,逐渐成为了一套非常完善的数据交换共享标准[11-12],目前官方最新的版本是IFC4.2 版。IFC标准促进了多方信息模型在统一的数据标准的基础上进行有效的数据交互[13-14]。IFC4.1版本用水平和垂直线形的组合作为一种新的几何表示形式,用于描述基础设施的线形。IFC4.2版本扩展了桥梁模块和基础设施的空间结构,桥梁模块可以对桥梁构件和整体结构有一个准确的定义和描述,促进了BIM技术在桥梁建设行业的发展和应用[15]。
IFC标准的框架体系从功能定义上可以分为资源层、核心层、交互层和领域层,每个层次都有其固有的信息定义范围和彼此依存的稳定关系[16-17]。以桥梁结构为例,就构件本身属于领域层,但构件本身的多种元素和信息需要通过资源层、核心层和交互层来依次定义。
IFC 标准采用的描述性语言EXPRESS,具有较强的可读性和编译性。EXPRESS是一种概念性架构语言,为现阶段没有被IFC定义的专业信息领域提供了多种预定义类型,如图1所示。以桥梁结构和病害模型为例,可以通过预定义的方式,完善IFC标准中的桥梁模块。
图1 IFC体系预定义类型
IFC数据文件由头段和数据段两部分构成[18],头段主要表达了文件的总体信息以及常规设置信息,数据段主要表达模型的属性信息和几何信息。
(1)头段文件
在每一个IFC交换文件都以头段数据作为数据段开头,该段以"HEADER"作为开始代码,并且以"ENDSEC"作为结束代码。文件数据有创建时间、数据版本和标准版本等,并且按这一定顺序依次出现,具体代码如下:
ISO-10303-21;
HEADER;
* Creation date:Wed Jun 16 10:38:56 2021
* Database version:5507
* Schema:IFC2X3
* Model:DataRepository.ifc
…
FILE_SCHEMA((′IFC2X3′));
ENDSEC;
(2)数据段
数据段位于头段之后,是IFC文件的主体部分。该段以"DATA"作为开始代码,并且以"ENDSEC"作为结束代码。
基于Revit2016平台创建结构项目文件,并导出IFC数据文件。在头段文件已建立成功的基础上,通过EXPRESS语言定义数据文件,以多种定义方式分别对T梁模型的位置信息和几何信息进行表达,相应的IFC格式数据内容如表1所示。
表1 定义方式及IFC数据格式
为了确定三维实体模型的具体位置,设立三维坐标系对模型进行定位,坐标系可以分为局部坐标系和参考坐标系。三维坐标系中物体的位置信息由位置坐标,Z轴方向和X轴方向三部分组成确定,其中Y轴方向由Z轴和X轴方向来推导确定。
三维坐标系如图2所示,坐标系由ObjectPlacement描述,在数据段中坐标系存在分层依次参考的情况,在明确各坐标系层次关系的前提下,进而确定构件最终所在的坐标系和坐标值。三维T梁构件模型的位置由所在的三维参考坐标系定义,参考坐标系则由上一级参考坐标系和局部坐标系共同定义,局部坐标系对参考坐标系的原点位置进行了定义,上级考坐标系则对Z轴方向和X轴方向进行了定义,从而确定了模型构件的具体位置。
图2 三维坐标系示意图
在IFC中,很多桥梁工程中的特殊构件缺少信息定义和实体定义方式;此处以IfcBuildingElementProxy定义T构件模型,具体代码如下:
#6=IFCCARTESIANPOINT((0.,0.,0.));
#31=IFCAXIS2PLACEMENT3D(#6,$,$);
#32=IFCLOCALPLACEMENT(#249,#31);
#104=IFCBUILDING(…,#32,…);
#110=IFCAXIS2PLACEMENT3D(#6,$,$);
#111=IFCLOCALPLACEMENT(#32,#110);
#113=IFCBUILDINGSTOREY(…,#111,…);
#174=
IFCCARTESIANPOINT((1032.,527.,0.));
#176=
IFCAXIS2PLACEMENT3D(#174,$,$);
#177=
IFCLOCALPLACEMENT(#111,#176);
#179=
IFCBUILDINGELEMENTPROXY(…,#177,…);
#248=
IFCAXIS2PLACEMENT3D(#6,$,$);
#249=IFCLOCALPLACEMENT($,#248);
#250=IFCSITE(…,#249,..);
上述代码对T梁实体模型所在坐标系分层依次定义,定义关系解析如图3所示。
图3 坐标属性示意图
在已定义的局部坐标系里,进行T梁横截面的创建,采用截面定义的方法,即通过连接多个二维坐标点(IfcCartesianPoint)形成闭合的平面轮廓线(IfcPolyLine),进而定义面片模型。具体描述方式代码如下:
#123=
IFCCARTESIANPOINT((2000.,-800.));
#125=
IFCCARTESIANPOINT((1850.,-800.));
…
#147=IFCPOLYLINE((#123,#125,#127,#129,#131,#133,#135,#137,#139,#141,#143,#145,#123));
#149=
IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,′tX268814E2D6881X0′,#147);
T梁拉伸实体模型创建信息如图4所示。#123~#145依次对T梁横截面的12个关键点坐标值进行定义,并且通过IFCPOLYLINE命令形成轮廓线,进而编辑#149代码,形成T梁横截面。
图4 T梁拉伸实体模型创建信息详图
拉伸是多种预定义方式中的一种,对已创建的T梁横截面(#149)赋予拉伸命令,进而形成T梁实体(IfcExtrudedAreaSolid)。拉伸命令中的参数包括拉伸方向和拉伸长度,创建方式和参数信息如图4所示。具体代码如下:
#150=
IFCCARTESIANPOINT((-500.,0.,500.));
#152=
IFCAXIS2PLACEMENT3D(#150,#11,#19);
#153=IFCEXTRUDEDAREASOLID
(#149,#152,#19,1000.);
#154=IFCSHAPEREPRESENTATION
(#88,′Body′,′SweptSolid′,(#153));
上述代码,#154表示T梁的预定义类型为拉伸(SweptSolid)。#153定义了拉伸实体的具体信息,其中#149表示拉伸横截面,#19定义了拉伸方向为向量(0,0,1)的正方向,#152定义了拉伸的局部坐标系,同时也定义了拉伸长度为1 m。数据文件在可视化平台XbimXplorer,校核成功,T梁模型创建完成。
在桥梁安全信息的表达过程中,采用边界定义(BrepModel)的方式对构件实体模型的IFC文件进行二次重构,以准确的表达病害的几何信息和位置信息。笔者以裂缝作为研究对象,对病害几何特征进行二维坐标化,并应用EXPRESS语言来精确的刻画病害模型的方法来表达裂缝位置、长度和深度等相关信息。
经过对病害图片视觉角度和背景的灰度值调节,建立xy平面的网格图。通过加载原图像;将原图像在x、y两个方向上等间距划分网格,具体网格尺寸,由图片所呈现的病害尺寸和病害几何特征共同决定。裂缝二维网格离散图如图5所示,以常见病害裂缝为例,图片所呈现裂缝最小宽度为2.3 mm,因此二维坐标集的间隔精度精确至1 mm。基于IFC的数据结构特征,以二维网格中某一点为局部坐标原点,建立局部二维坐标系,确定裂缝外表面各点二维坐标点值,进而可引用到相应实体模型的三维参考坐标系中,从而达到确定裂缝在三维构件模型表面具体位置的目的。
图5 裂缝二维网格离散图
为了确保病害形状的真实性,笔者提出了三维网格分散法,对构件进行均匀离散化,为三维坐标值的确定提供参考依据。三维网格对混凝土或者其他构件进行离散化和均匀化的同时,为了确保病害精度要求,其间距要满足病害相应规范的尺寸要求。
为了满足规范要求和提高病害可视度,设置病害可视化参数来控制病害几何尺寸的精度和可视化程度,再通过病害实际尺寸和可视化参数计算来获取所要建立的三维坐标点集的间距尺寸,如图6所示。
图6 T梁模型的均匀离散图
以建好的三维T梁构件模型为例,进行均匀离散化处理,通过二维平面坐标点集间隔距离,由式(1)可计算得到三维空间坐标点集间隔距离,通过将二维局部坐标系转化到三维参考坐标系中和坐标点细化来定位病害关键点的坐标,再由坐标点连接形成面实体,从而创建病害实体,实现桥梁安全信息模型的创建。
Ws=akwe.
(1)
K=d/Dx.
(2)
式中:Ws为三维坐标点集间隔精度;We为二维坐标点集间隔精度;a为可视化参数;k为拍摄修正系数(相机镜头平行于病害所在平面);d为病害实际宽度值;Dx为拍摄照片病害测量宽度值。
#216~#226为T梁腹板外表面的纵向裂缝的三维坐标点集,坐标集分布详情如图7所示。具体模型创建代码如下:
图7 裂缝坐标集分布详情图
#216=
IFCCARTESIANPOINT((80.,-297.,557.));
…
#226=
IFCCARTESIANPOINT((80.,-28.,807.));
将三维坐标点集依次连接形成病害轮廓,依据闭合轮廓的代码编号,编写病害模型对应的外表面;最终形成带病害的实体模型。
#228表示T梁腹板外表面的轮廓线,#230则是由#228形成相应的外表面边界条件;同理,#231是由裂缝所在腹板外表面的三维坐标集#216~#226连接而成的外轮廓线,#233则为裂缝的边界条件,通过边界条件#230和#233形成存在裂缝的腹板外表面。具体代码如下:
#228=
IFCPOLYLOOP((#139,#137,#162,#160));
#230=
IFCFACEOUTERBOUND(#228,.T.);
#231=IFCPOLYLOOP
((#216,#218,#220,#222,#224,#226));
#233=IFCFACEBOUND(#231,.T.);
#234=IFCFACE((#230,#233));
#256~#266为T梁腹板内表面的纵向裂缝的关键三维坐标点集,#268为裂缝所在腹板内部的三维坐标集#256~#266连接而成的内轮廓线,从而通过边界条件#270生成裂缝多边形底面#271。
#256=
IFCCARTESIANPOINT((0.,0.,1414.));
…
#266=
IFCCARTESIANPOINT((0.,166.,1755.));
#268=IFCPOLYLOOP
((#256,#258,#260,#262,#264,#266));
#270=
IFCFACEOUTERBOUND(#268,.T.);
#271=IFCFACE((#270));
#276,#281,#286,#291,#296和#301为纵向裂缝的6个内侧面,每个内侧面由4个三维坐标集连接而成。以内侧面#276为例,病害多维表面定义如图8所示。
图8 病害多维表面定义
#273和#275分别是由四个关键坐标点形成的轮廓线和边界条件,进而生成内侧面#276。具体代码如下:
#273=
IFCPOLYLOOP((#260,#258,#218,#216));
#275=
IFCFACEOUTERBOUND(#273,.T.);
#276=IFCFACE((#275));
…
#298=
IFCPOLYLOOP((#264,#262,#226,#224));
#300=
IFCFACEOUTERBOUND(#298,.T.);
#301=IFCFACE((#300));
通过命令IFCCLOSEDSHELL汇集外表(Shell)的集合,包括6个裂缝内侧面、裂缝底面、腹板外表面(带裂缝)以及T梁其他外表面。最终形成由边界定义的实体模型#305。具体代码如下:
#303=IFCCLOSEDSHELL((#150,#179,#184,#189,#194,#199,#204,#209,#214,#234,#239,#244,#249,#254,#271,#276,#281,#286,#291,#296,#301));
#305=IFCFACETEDBREP(#303);
在结束编译数据之后,病害实体模型如图9所示。将携有病害信息的IFC数据文件导入到可视化平台XbimXplorer,实现了病害的成功附着,同时避免了二次重构过程中数据丢失和数据不可读的问题。
图9 病害实体模型
(1)运用边界定义的方法,实现了病害数据与模型数据的二次重组,解决了病害信息无法在三维可视化构件模型中准确表达的问题。
(2)笔者提出了三维网格分散法,创建实体构件模型的三维网,将平面二维网病害坐标点集转化为三维坐标点集,为病害表面创建提供相对位置信息。
(3)基于IFC标准的通用性,总结出一种高效的建立病害信息模型的方法,提高了桥梁安全信息模型在多平台之间的信息共享效率。