基于达索平台的铁路隧道BIM建模效率提高的方法
2019-07-03王浩
王 浩
(中国铁路设计集团有限公司 城市轨道交通设计研究院,天津 300251)
近些年,越来越多的建设项目开始引入建筑信息模型(BIM,Building Information Modeling)技术来辅助设计、施工和管理[1],例如广州白云国际机场综合交通枢纽,京张高铁清华园隧道,西成客运专线,泰和赣江特大桥等多个建设项目[2-5]。目前,各个行业的BIM研发主要集中在扩展应用上,如工程量计算,在线问题沟通,风险控制,数值分析等[6-9]。
随着铁路建设项目对BIM技术的应用要求逐渐由试验工点转变为全路段、全专业的趋势,其带来的直接结果是各个设计团队面临大量的BIM建模工作,特别是在传统二维绘图工作并没有减少工作量的情况下,BIM建模工作占用了较大的人力。因此,提高BIM建模效率,让设计人员有更充裕的时间进行方案比选和优化就成为了BIM研发工作的重点。
1 建模流程
以中国铁路设计集团有限公司为例,采用达索平台,建模流程如图1所示,主要由5步构成[10]:(1)建模数据准备;(2)参数化工程模板的建立;(3)批量生成隧道骨架线;(4)批量实例化工程模板;(5)实例化模型的修改。
图1 建模流程
在上述建模流程中,真正占用设计人员大量时间又对提高设计质量帮助较小的工作为第5步工作,实例化模型的修改。该部分工作琐碎、重复量大、自动化程度低。达索提供的EKL语言可以批量生成模型,但是无法批量修改模型。因此,采用C++语言进行二次开发减少第5步工作的时间十分必要。本文以铁路隧道洞室模型生成后如何快速的对正洞模型进行修剪为例,初步探索了采用二次开发的方式提高建模效率。
2 开发规划
2.1 开发需求
中国铁路设计集团有限公司BIM建模采用的达索平台最初是一款应用于机械制造行业的设计-建模软件。该软件采用“骨架-模板”的建模思路[11],通过模板建立相似类型的模型,从而减少建模工作量。铁路总公司成立BIM联盟后,达索平台开始进入铁路设计建模领域。
隧道工程中包含大量的综合洞室以及各专业的专用洞室,这些洞室在修建过程中需要在隧道侧壁开洞,而在隧道建模过程中由于洞室建模需要参考正洞模型的内表面,所以洞室建模需要在正洞完成之后。随之带来的问题就是,正洞建模过程中由于洞室模型尚未完成无法依据洞室模型预留开孔位置。而在洞室建模过程中EKL语言难以修改已经建立好的模型,无法再修剪正洞。因此,在洞室建模完成后设计者需要手动对正洞构件下初支、二衬、仰供等部分进行修剪,消耗大量时间和精力。
如图2所示,洞室被暗洞拱墙部分的初支、二衬完全堵住,不符合工程建设中的实际情况。在实际工程中,一条长度在5 km左右的高速铁路隧道,仅此类修改消耗的时间大约在一天左右,极大地降低了设计效率。
2.2 开发思路
采用C++编程方式将原本由设计者进行的判断和操作用计算机完成。计算机自动获取暗洞和洞室的结构,判断修剪位置,并按照工程实际修剪相应部分。图3为修剪完成后的暗洞-洞室模型,暗洞-洞室位置关系比较简单,但还有其他多种位置关系。
如图4所示,图中 A、B、C、D、E 表示暗洞段落,1、2、3、4表示洞室,可以看到,正洞与洞室的位置主要有4种:
图2 修剪前的暗洞-洞室模型
图3 修剪后的暗洞-洞室模型
图4 暗洞-洞室位置关系图
(1)如1-A,一个隧道暗洞段与一个洞室相交。直接采用洞室1对正洞段A进行修剪。
(2)如2-B、2-C,洞室位于衬砌段落分界处,要用B、C两段暗洞段分别与洞室2做布尔运算。根据设计要求,洞室不能位于该位置,但是在初次设计当中难以避免此种相交方式,除非在建模前进行数据校核,将原本此类的相交方式筛选并调整后进行建模。
(3)如D,暗洞段不与任何一个洞室相交,不需做修剪直接跳过进入下一暗洞段。
(4)如3-E、4-E,一个暗洞段与两个或两个以上洞室相交,需要用3、4两个洞室对暗洞段E进行修剪。
根据上述情况,软件运行逻辑图如图5所示,具体如下:
(1)获取暗洞总结点下的一个暗洞段,同时获取洞室总结点下的一个洞室。
(2)判断获取的暗洞段是否与获取的洞室相交。如果相交,用洞室修剪暗洞,如果不相交,获取下一个洞室。
(3)每次获取洞室后依据返回值是否为空判断是否已经遍历结束,遍历未结束,重复第2步,遍历结束,获取下一暗洞段。
(4)每当获取一个新的暗洞段,自动重新获取洞室总节点下第一个洞室。保证每个暗洞段和所有洞室进行判断。
图5 软件运行逻辑图
3 开发成果及应用
3.1 开发成果
通过开发,设计人员只需要简单地选择暗洞总结点和洞室,后续工作全部由计算机完成,极大地缩短了建模时间。本文所述开发成果已经在牡佳客运专线BIM项目中得到应用。图6为软件界面,图7为多段落暗洞段与洞室修剪对比。
图6 软件界面
3.2 应用案例
牡佳客运专线线路全长371.622 km,新建线路长度为367.190 km,共有隧道34座,总长约63.732 km,均为双线隧道,占线路长度的17.36%。其中,长度在5 km以上的隧道共3座。
图7 多段落暗洞段与洞室修剪对比
项目建模前期,由于程序尚未开发完成,为了按时完成建模任务,设计团队采用手动修剪方式完成工作。前期建模的约20座隧道修剪耗费时间在一周左右。后期程序开发调试完成,剩余10余座隧道修剪仅耗费半天时间。
4 存在问题
尽管通过开发已经极大地减少了设计人员的工作量,提高了设计效率,但由于软件开发经验不足,开发时间较短等原因,该程序还存在着许多的缺点和不足。
(1)对不规则结构树适应性较差。由于程序遍历结构树的规则较为固定,因此要求隧道专业暗洞段与洞室部分结构树严格按照软件要求组织。在实际生产项目中,由于建模人员对软件的不熟悉或沟通理解问题,经常会有部分隧道由于结构树不规范无法使用该程序。
(2)生成的结构为无参实体,不能随着输入条件的修改而自动改变。为了追求开发速度和程序运行效率,程序内生成的结果全部去参数化,无法随着输入条件修改而改变。因此,此类生成去参实体的二次开发程序建议在建模结束阶段,不必面临大量修改时使用。
(3)操作不易撤销。由于程序最终目的为修改每个暗洞段结构,最终生成的结果分别位于各个暗洞段结构下。因此除了在执行完后立即执行撤销操作外,没有便捷的方式迅速将模型恢复到程序执行前。而撤消操作在执行了后续其他操作后由于操作记录被覆盖也无法执行,所以在程序执行完成后必须第一时间检查结果,如果发生错误立即撤销。
(4)构件类型识别依靠构件名称。由于程序开发时工业基础类(IFC)类型尚未部署完成,只能通过构件名称来确定是否需要修剪,对于构件命名不规则情况可能会发生修剪错误。
5 结束语
本文通过C++语言进行CAA二次开发的方式极大地提高了铁路隧道BIM建模的效率,在工程应用中节约了宝贵的时间和人力资源。本次开发仍然具有较大的局限性,未来的研究重点将放在以下几个方面:(1)程序编写尽量采用递归调用方式,提高适用性。(2)程序尽量与IFC属性相结合,减少对模型命名的约束。(3)尽量采用自定义特征的方式编写程序,辅助建模,实现信息在软件内部的联动。(4)后续开发着重探索优化建模流程,从而缩减建模工作量。