Demand-oriented dynamic loading method based on IFC
-
摘要: 为解决Web端建筑信息模型(BIM,Building Information Modeling)场景数据加载技术面向复杂模型数据时存在的加载时间过长、用户体验不佳的问题,提出一种Web端基于工业基础类(IFC,Industry Foundation Classes)标准的面向需求的动态加载方法。以IFC模型文件作为研究对象,在遵从建筑语义前提下,以建筑构件为粒度,将层次关系、几何特性、材质、属性等信息拆分存储;结合构件可见性和几何相关性,设计出基于图形处理器(GPU,Graphics Processing Unit)加速的面向需求的动态加载方法;搭建实验测试环境,选取若干IFC模型文件,进行方法验证。以初始加载构件个数、内存占用和初始加载时间作为性能评价指标,与使用BIMServer开源服务器平台加载的方法相比,文章所提方法的初始加载组件数量减少了约71%,内存占用减少了约40%,初始加载时间缩短了约78%,有效减少了用户因加载而等待的时间,改善了用户交互体验,可为铁路行业开展Web端BIM大场景应用提供快速加载技术支持。
-
关键词:
- 建筑信息模型(BIM) /
- 工业基础类(IFC)标准 /
- IFC模型文件 /
- 分时动态加载 /
- 图形处理器(GPU)
Abstract: In order to solve the problems of long loading time and poor user experience when building information modeling (BIM) scene data loading technology on the Web side faced complex model data, this paper proposed a IFC (Industry Foundation Classes) based demand-oriented dynamic loading method on the Web side. The paper took IFC model files as the research object, took building components as the granularity, split and stored hierarchical relationship, geometric features, material, properties and other information, combined component visibility and geometric correlation components, designed a demand-oriented dynamic loading method based on GPU (Graphics Processing Unit) acceleration, build an experimental test environment, selected several IFC model files, and verified the method. The paper used the number of initially loaded components, memory consumption and initial loading time as performance evaluation indicators. Compared with the method of loading using the BIMServer, the experimental results show that the proposed method improves the number of initially loaded components, memory consumption and initial loading time by about 71%, 40% and 78% respectively, reduces the time users wait for loading, and improves the user interaction experience. It can provide fast loading technical support for railway industry to carry out Web-end BIM big scene application. -
建筑信息模型(BIM,Building Information Modeling)以信息技术为基础,对建筑全生命周期内的数据进行集成和共享。在建筑布局规划中,前期策划与建筑功能的无缝对接,以及建筑空间规划的最优化求解,一直是建筑学术界重点关注的2个基本问题。随着大数据和人工智能(AI,Artificial Intelligence)技术的成熟[1],人们开始尝试通过深度学习和强化学习的方法来解决上述问题,即在BIM设计工具中融入机器学习技术,实现AI辅助的建筑方案选型,提高数据的利用效率,为工程建设各阶段提供更加准确的决策建议[2]。
目前,AI技术在工程领域已经取得了较多的研究成果。李雪等人[3]将BIM技术融入审图系统,完善建模软件并改变了传统的审图模式,有效实现了AI审图;胡珉等人[4]基于BIM数据,结合AI技术,为隧道环境监测和控制决策提供依据。BIM与AI技术的结合是对现有设计手段的升级,能够提高设计效率,辅助项目决策。
在传统铁路桥梁设计中,孔跨布置是一项繁重的工作。设计人员根据线路、地质等上序专业提供的信息对孔跨进行布置,当控制工程较多时,往往需要反复调整布跨方案,耗费大量的人力。针对这一现状,结合我国铁路中桥梁占比高、桥梁标准构件应用范围广的特点,本文以BIM平台为载体,将AI技术引入铁路桥梁设计中,通过对Bentley平台的二次开发设计了一套适用于一般铁路桥梁的智能布跨方案。
1 桥梁布跨原则
桥梁布跨方案主要受道路、建筑物和地下管线等因素的影响,在设计时应充分考虑经济性、适用性及设计边界条件进行孔跨的合理布置。针对本文研究内容,结合相关规范要求[5],桥梁布跨主要原则如下。
1.1 一般桥梁孔跨布置
对于一般桥梁而言,当控制性因素不复杂时,应首先从标准跨度中选择合适跨度进行孔跨布置,布置原则尽量以32 m跨度为主,24 m跨度为辅[6],用以规避主要约束条件;无法采用简支梁跨度进行规避时,优先采取常用的连续梁跨度进行孔跨布置。在曲线线路上,简支梁通常采用“以直代曲”方案进行布设;连续梁等特殊梁型采用“曲梁曲做”的方式进行布设。
1.2 特殊桥梁孔跨布置
当桥梁跨越河流时,以“一河一桥”为原则,河流有通航要求时,要适当考虑变迁性河道的影响;当跨越等级道路(高速、主干道等)、铁路等控制性工点时,应按照控制边界条件选择适当跨度,标准跨度不满足时,应提供特殊跨度进行布置,并考虑经济性等因素对特殊跨度的优先等级进行设置。
2 铁路桥梁智能布跨方案
本文根据一般铁路桥梁布跨设计原则,采用Q-Learning算法,并利用BIM的属性信息,在Bentley平台下进行二次开发,形成最终的可视化智能布跨方案,具体流程如图1所示。其中,信息集由根据智能桥梁孔跨布置需要而提取、处理的信息组成;智能布跨算法是根据Q-Learning算法,按照桥梁布跨原则对工程实例抽象化,以求得最优方案;方案可视化是利用BIM技术的可视化特点,结合地理信息系统(GIS,Geographic Information System)技术,对智能布跨方案进行可视化展示及评估。
2.1 信息集
2.1.1 动作空间
在布跨算法中,建立桥梁构件数据库,能够在形成算法动作空间的同时,为后续的模型设计提供便利。根据常用跨度的简支梁、连续梁建立梁部构件模型,并按照相关规范为模型挂载几何与非几何信息。构件模型建立时,抽象出构件的几何特征,梳理特征之间的关联并将特征参数化,利用Bentley平台提供的Template模板解析技术,进行几何建模及属性配置;对于非几何特征,通过Bentley平台下的EC Schema技术挂载到模型上,为模型设计提供更多的信息[7]。
桥梁数据库可为以标准数据格式写入的各类构建提供统一管理工具,在需要时予以调用,如图2所示。动作空间即在桥梁布跨设计时,根据设计条件选择适合的数据库,通过读取数据库中的桥梁跨度,作为智能体可选择的动作。
2.1.2 环境信息
环境信息的获取需基于统一的数据格式,设计协同数据接口[8],实现各专业间的数据协同,对桥梁专业所需要的信息进行提取应用。
(1)线路信息
线路信息包括线路里程信息、坐标信息和线路要素信息等。将所有信息附加在线路模型上,在Bentley软件中识别文件中对应的Alignment元素,通过相应接口函数即可获取线路信息。
(2)地形信息
地形信息包括地面标高、地形地物(道路、河流、沟渠、湖泊)特征等信息。地面标高从利用数字高程模型加工生成的地形文件中获取;地形地物特征则是根据地形文件不同图层及其附加属性,在桥址范围内沿线路方向进行判断获取;个别信息提供手动配置工具,进行信息组集输入。
(3)起止里程信息
根据线路、地形信息,结合起桥条件,初步确定桥址里程范围,其主要步骤如下。
① 将上序专业文件以参考方式加入设计文件中,并激活相关地形、线路等模型,通过设置步长间隔获取线路纵断及地面线等相关资料;
② 设置桥梁布置范围和起桥条件,一般是根据起桥高度结合地形进行判断;
③ 根据起桥高度复制偏移地面线,并计算其与线路纵断的交点;
④ 根据起点前后侧地形条件判断该点是桥梁起点还是终点,并进行起点的合理偏移设置;
⑤ 得到全部桥梁的起桥范围,并作为智能布跨算法的输入数据使用。
2.2 智能布跨算法设计
2.2.1 Q-Learning算法概述
Q-Learning算法是基于价值的强化学习算法,强化学习的过程是智能体通过感知环境而采取动作、与环境不断交互的过程。智能体根据环境反馈的信息,不断更新自身动作策略,最终得到一条最优策略。假设
$ Q\left({s}_{t},{a}_{t}\right) $ 表示在状态st下执行动作at所获得的价值,此后按最优动作执行所获得的奖励的期望[9],其更新表达式为$$ \begin{split} & Q\left({s}_{t},{a}_{t}\right)\leftarrow Q\left({s}_{t},{a}_{t}\right)+\alpha [{r}_{t+1}-Q\left({s}_{t},{a}_{t}\right)+ \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \quad \gamma \underset{{a}_{t+1}}{\mathrm{max}}Q\left({s}_{t+1},{a}_{t+1}\right)] \end{split} $$ 其中,
$ \alpha $ 为算法收敛的学习效率;$ {r}_{t+1} $ 为实时奖励;$ \gamma $ 为折扣因子。当Q (st , at)值不再继续变化,说明得到了一个收敛的结果。 2.2.2 智能布跨算法
桥梁的孔跨布置是一个将方案不断优化的过程,结合AI概念,采用Q-Learning算法,将孔跨布置相关约束条件抽象化为数据类型,根据工程实例将约束条件实例化[10]。智能体通过感知环境信息,采取不同的动作,并以获得奖赏情况为指导改进选择策略,最终得出最优的策略方案,算法主要流程如图3所示。
对于铁路工程实例,其所处的状态和可选择动作是有限的,因此可以将
${{Q}}\left({s}_{t},{a}_{t}\right)$ 以矩阵形式进行表示,根据状态—动作建立Q表,Q表的行代表智能体所处状态,列代表可选择的动作空间。铁路工程是一条长大带状线性工程,为了节省Q表占用空间,沿线路按照一定距离进行离散化设置,减少Q表的行列数。算法的奖赏函数则根据上述布置原则和环境信息,按照布跨优先级和桥梁预估造价进行设计。可选动作空间(桥梁跨度信息)则可以利用信息集,根据项目条件进行相应配置应用。在每次动作完成之后,需要对动作的最终状态和收敛性进行判断,收敛则表示得出了较优的桥梁布跨方案。 2.3 方案可视化设计
根据上文设计的一般桥梁智能布跨方案,利用BIM技术的可视性建立三维模型,可在方案展示的同时搭载设计数据,实现对设计的可行性分析,提升铁路桥梁设计水平[11]。地理信息数据库能以直观的地理图形方式,通过统一的地理坐标系全局性地展示、分析和评估大范围的空间对象及抽象化的建筑对象[12]。为了更好地评估桥梁布跨方案,提高方案的合理性,减少后期方案修改,利用多源数据融合平台,载入桥梁布跨模型数据和GIS数据,将BIM数据轻量化,结合实景模型对桥梁布跨方案进一步优化,具体包括以下2个方面。
(1)在Bentley平台应用二次开发读取布跨方案,并根据布跨方案获取匹配的构件模型数据库,根据各构件所处位置,将各类型构件按照空间层级关系进行精确定位,完成布跨方案的查看与评价。其中,梁部信息模型是根据桥梁跨度信息,从桥梁数据库中进行匹配,利用Bentley的自定义实体技术,以线路模型为基础,构造合适的空间位移矩阵,进行梁部结构的空间定位;桥墩则利用参数化单元进行创建,依据桥梁布置位置及梁部特征信息,进行桥墩的空间定位,并结合地形模型计算出墩高,修改相应墩高参数。此时,桥墩仅发挥空间占位作用,用以辅助方案设计。
(2)BIM可以很好地反映方案结构形式,能够较为方便地展现桥梁孔跨布置模型,但是无法表达周边建筑信息及桥梁跨越的地物信息。通过二次开发技术,在保留BIM模型数据精度和完整性的前提下,开发数据格式转换插件,将BIM数据导入多源数据融合平台中,结合GIS数据形成实景模型,如图4所示。
3 方案应用
3.1 应用分析
通过某铁路项目对本文设计的桥梁智能布跨方案进行应用,验证方案对一般桥梁的适用性。具体步骤为:(1)参考相关专业(线路、地形)模型信息并激活模型,方便后续调用数据接口应用,如图5所示。(2)加载开发的桥梁布跨工具,提取、处理智能桥梁孔布跨所需信息,并组建信息集,调用智能布跨算法,输出桥梁智能布跨方案,如图6所示。(3)按照布跨方案进行BIM创建,并结合GIS技术对布跨结果进行可视化展示,如图7所示。
3.2 效益分析
与传统铁路桥梁布跨工作相比,利用BIM+AI技术的智能布跨方案的优点体现在:(1)减少了设计人员对上序专业信息的处理,在统一的数据标准格式下,通过制定标准格式的接口,最大化地利用上序专业的成果,保证了数据的唯一性;(2)设计人员只需关注本专业内的设计工作,减少了因数据再加工处理所消耗的时间与精力;(3)利用机器代替人工进行程序化的工作,提高了设计效率;(4)可视化的成果展示更能够保证方案准确表达,对方案的合理性及可实施性有更为准确的把控。
4 结束语
本文在总结铁路桥梁布跨原则的基础上,基于Q-Learning算法,对桥梁布跨算法进行研究。依托统一的数据交互格式,通过BIM技术识别线路、地形等基本信息,实现桥梁布跨所需信息的自动提取、处理,组建信息集,并利用二次开发技术建立桥梁整体BIM,融合GIS技术对方案进行可视化设计,给出一套适用于一般铁路桥梁的智能布跨方案。该方案提高了桥梁设计效率与质量,后续还需在特殊桥梁智能布跨方向进行研究。
-
表 1 字段含义说明
字段名 含义 bits 数据长度 box 包围盒 edge_count 边个数 face_count 面个数 geom_uuid 几何标识 localMatrix 局部矩阵 mate 材质标识集 name 名字 p_uuid 父节点标识 type 类型 uuid 节点标识 version 版本 visible 可见性 childrens 子节点集 texture 纹理贴图 transparency 透明度 color 颜色 diffuse 漫反射光 index 顶点索引 normal 顶点法向 position 顶点坐标 uv 顶点二维坐标 tag 边/面标签 表 2 IFC模型文件信息
模型名 子图序号 内存/KB 构件数/个 实体数/个 arboleda.ifc a 151 166 5 786 17 072 20210219Architecture.ifc b 110 672 7 637 34 852 industrial Park plant.ifc c 242 601 27 958 87 144 -
[1] BuildingSMART International. BuildingSMART industry foundation classes (IFC)[EB/OL]. [2022-08-22].https://www.buildingsmart.org/.
[2] ISO. Industry foundation classes (IFC) for data sharing in the construction and facility management industries: ISO 16739: 2013[S]. Geneva: ISO, 2013.
[3] 刘 强,张建平,胡振中. 基于键-值缓存的IFC模型Web应用技术 [J]. 清华大学学报(自然科学版),2016,56(4):348-353,359. [4] 徐 照,徐夏炎,李启明,等. 基于WebGL与IFC的建筑信息模型可视化分析方法 [J]. 东南大学学报(自然科学版),2016,46(2):444-449. [5] Lu H L, Wu J X, Liu Y S, et al. Dynamically loading IFC models on a web browser based on spatial semantic partitioning [J]. Visual Computing for Industry, Biomedicine, and Art, 2019, 2(1): 4. DOI: 10.1186/s42492-019-0011-z
[6] Scully T, Friston S, Fan C, et al. glTF streaming from 3D repo to X3DOM[C]//Proceedings of the 21st International Conference on Web3d Technology, 22-24 July, 2016, Anaheim, CA, USA. New York, USA: ACM, 2016. 7-15.
[7] Scully T, Doboš J, Sturm T, et al. 3drepo. io: building the next generation Web3D repository with AngularJS and X3DOM[C]//Proceedings of the 20th International Conference on 3D Web Technology, 18-21 June, 2015, Heraklion, Crete, Greece. New York, USA: ACM, 2015. 235-243.
[8] 李 柯,张 乾,贾金原. 云边页协同的WebBIM大场景多粒度兴趣加载调度算法 [J]. 计算机辅助设计与图形学学报,2021,33(9):1388-1397. [9] 刘小军,贾金原. 面向手机网页的大规模WebBIM场景轻量级实时漫游算法 [J]. 中国科学:信息科学,2018,48(3):274-292. [10] BIMServer[EB/OL]. [2022-08-22]. http://bimserver.org/.
[11] Open CASCADE[EB/OL]. [2022-08-22].https://www.opencascade.com/.
[12] Amor R, Dimyadi J. An open repository of IFC data models and analyses to support interoperability deployment[C]//Proceedings of the 27th CIB W78 International Conference, 16-18 November, 2010, Cairo, Egypt. Kanata, Canada: CIB, 2010.