论文|基于Bentley平台的铁路工程BIM设计关键共性技术研究
注:本文为期刊公众号简版,完整版已发群内自取。

文章来源:铁路BIM联盟
源网址:https://mp.weixin.qq.com/s/FXgSlZVWFZ7H7RrqQKYt8A
何守旺,轨道交通工程信息化国家重点实验室(中铁一院)

引言
近年来,BIM技术已成为工程信息化的重要手段之一。铁路工程方面,各大设计院、施工单位在各专业领域都对BIM技术进行了深入研究与广泛应用,取得了一定的经济效益与社会效益,其重要性日益凸显。铁路工程的BIM设计具有体量大、涉及专业多、专业间接口交互繁杂等特点,进行全线全专业的BIM设计,实施难度很大。在勘察设计阶段,面向站前、站后不同的设计专业,BIM技术研发不均衡,比如路基、桥梁、隧道专业已有成体系的BIM设计软件,但有些专业缺少专业BIM设计软件的支撑,效率较低。此外,各专业在线路计算、构件管理、属性添加、模型剖切等功能上还存在标准不一、重复开发,以及缺乏统一化、集约型管理等问题。据此,通过对铁路工程BIM设计的基础、共性技术进行研究,构建线路空间位置计算API库、基础函数库和通用BIM设计辅助工具,为铁路工程BIM设计提供统一的业务支撑。
一、技术路线
铁路工程BIM模型具有线性断面装配工程的特点,BIM模型建立多基于线路,简单来说就是将其看成由一个或者一组截面轮廓沿线路的一段或几段线放样出来的模型,或基于线路进行布设,其中线路作为控制放样线或布设基准线,BIM模型与之进行关联。图1为线性断面装配工程的BIM设计流程。

在专业应用过程中,基础性工作就是如何利用线路的平面曲线要素数据、坡度与竖曲线数据、断链数据,在设计平台中建立三维的空间线路,并能对基于线路的BIM模型进行任意里程值处的坐标、正切角度、高程计算等。在此基础上,进行BIM模型的布设与拼装,图2、图3为典型工程的BIM设计模型。在BIM设计过程中,需要对BIM模型进行精细化管理与信息附加,并进行BIM模型的剖切,为出图做基础工作。


根据各设计专业BIM设计过程中遇到的问题与业务需求,分析梳理出在线路的精确定位、构件布设与拼装、属性添加、构件管理、模型剖切等基础、共性技术进行研究与开发。
主要研发目标如下:
(1)铁路线路空间位置计算API库:基于线路专业数据文件,构建API库,实现线路通用计算功能,实现不同的集成调用方式,包括二次开发程序的集成、服务器端程序的集成。满足AutoCAD、Civil3D、Revit、Microstation、OpenRail等平台上的二次开发系统中调用接口要求。
(2)基于线路中线的BIM模型构件布设与拼装:实现基于线路的单个构件空间位置计算、构件单点摆放、构件阵列摆放、构件拉伸摆放、基于基准线的构件沿地形摆放。
(3)基于最小设计单元的专业结构:在BIM模型设计过程中建立每个构件单元之间的逻辑结构关系,并实例化构件单元,形成实例化结构树,实现同类构件集中管理。
(4)BIM模型构件非几何信息添加:实现BIM模型构件非几何属性信息的自动添加。
(5)BIM模型剖切:实现基于空间线条、实体边界线、指定线路里程的BIM模型剖切面布设、提取轮廓线、基于模板描述的自动标注。
二、铁路工程BIM设计关键共性技术研究
1.铁路线路空间位置计算API库
线路作为整个项目中BIM设计的唯一参考基准,是开展设计工作的前提条件与基础,也决定了各种构筑物(如路基、桥梁、隧道、接触网等)的具体空间位置。
(1)铁路线路空间构造方法与计算
根据线路专业的数字化成果文件(MDB或TXT文件),对线路进行平、纵、空间三类构造。铁路线路空间构造方法为:①根据线路专业的数字化成果文件,对其进行解析,获取到左线与右线的平面曲线要素数据、坡度与竖曲线数据、断链数据;②进行平面特征点、纵断面特征点、断链特征点的构造;③以离散化的方式构建空间线路。图4为线路空间构造数据流。

API库包含常用的线路计算方法:①特征点计算、某个里程的空间坐标计算、切线角度计算;②基于某个里程的左右、上下偏移的空间坐标计算;③线间距计算、右线计算;④实现断链处理的全线任意里程中边桩坐标正反算;⑤实现连续里程与断链里程换算。
(2)铁路线路空间位置计算API库开发方式
铁路线路空间位置计算API库的主要使用对象为基于常用设计平台 AutoCAD、Civil3D、Revit、Microstation、OpenRail等进行二次开发的软件。目前,常用平台的二次开发方式见表 1。

依据功能要求、集成要求、扩展使用要求,采用C++/CLI混编和WebService技术,首先以C++语言进行开发,实现主要功能函数;其次以托管C++的方式对其功能进行封装,满足.NETAPI接口的程序使用要求;最后以WebService的方式进行线路空间位置计算服务发布,提供给B/S架构的系统使用。
(3)API库架构设计
根据API库的使用方式和应用场景,API库采用分层架构,其体系结构由数据层、API接口层和应用层组成,如图5所示。

1)数据层:主要负责数据库的访问,可以访问Access、SQLite数据库、xls、txt文档,实现对数据表的Select、Insert、Update等操作。
2)API接口层:基于线路的平面曲线要素数据、坡度与竖曲线数据、断链数据,完成平面构造、纵断面构造、空间构造,构建铁路线路空间位置计算API库,实现线路相关的计算接口。采用C++/CLI混编和WebService技术,对核心功能进行实现与服务发布,满足二次开发软件与B/S 架构的系统接口调用要求。
3)应用层:主要供基于AutoCAD、Civil3D、Revit、Microstation、OpenRail平台的二次开发软件的集成与调用,实现不同的集成调用方式,包括二次开发程序集成、服务器端程序集成。调用或集成过程中,要考虑API库的使用方式、输入数据类型、边界处理等,规范调用过程,满足多设计平台调用接口要求。
2.基于线路中线的BIM模型构件布设与拼装
基于线路中线进行BIM模型构件的精确布设与拼装是开展铁路工程BIM快速建模工作的基础。根据模型构件的组成元素与创建方式,将线路空间线条的拟合与分段作为基础,通过将相关模型构件进行沿线布设与拼接,从而生成完整的BIM模型,并且随着线路的变更,BIM模型构件做相应调整。为此,需要完成7种形式的布设与拼装,包括:①基于线路的构件空间坐标、切线角度等的计算与单个构件的空间布设;②基于线路的阵列构件布设;③基于线路的拉伸成体构件布设;④基于线路的构件沿地形的阵列布设;⑤基于手绘参照线的单一构件布设;⑥基于手绘参照线的阵列构件布设;⑦基于基准线的构件沿地形的阵列布设。其功能组成如图6所示,拉伸成体构件布设如图7所示。


3.基于最小设计单元的专业结构树
为解决BIM设计中模型的精细化管理问题,提出以多层级树状结构进行BIM模型的管理,即最小设计单元的专业结构树。结构树是根据专业习惯与专业设计内容,始自专业终到最小设计单元的多层级树状结构。结构树符合专业习惯,满足本专业构件归类管理需要,方便查找定位构件。
(1)专业结构树建立方法
依据铁路BIM联盟发布的《铁路工程信息模型分类和编码标准》《铁路工程信息模型交付精度标准》《铁路工程实体结构分解指南》等标准规范,研究各专业结构树组成与构件划分,从最小设计单元划分、结构树建立、节点属性定义、坐标集建立、结构树管理、专业结构树实例化6个方面制定结构树建立技术原则。在专业结构树的基础上,对节点对象所具有的属性在命名、类型、长度、值空间等方面进行标准化。根据信息模型表达标准,节点属性可包括几何信息和非几何信息。几何信息包括几何表达信息、尺寸信息、定位信息等;非几何信息包括标识信息、角色与时间信息、工程信息、功能性能信息、材料材质、产品信息、养护维修信息、关联文档信息、空间结构关系、功能结构关系等。图8为路基专业建立的专业结构树。

(2)专业结构树的结构化
专业结构树的结构化包括3个方面。一是专业结构树表达结构化,根据建立原则,以思维导图的方式建立基于最小设计单元的专业结构树。结构树层级展开后由大到小可清晰展现设计工点与单元内的全部构件。二是属性信息的结构化,结构树的节点属性包含几何属性和非几何属性,对其进行特征定义,包括名称、ID、类型、枚举值、缺省值、取值范围、描述、分组、序号等,并对属性在命名、类型、长度、值空间等方面进行标准化。三是实例化结构树,在BIM模型设计过程中建立每个构件单元之间的逻辑结构关系,并实例化构件单元,通过层级结构编码逆向解析生成结构树,与BIM模型构件进行关联,最终将这个工程实例化结构树以通用的数据交换格式XML 输出(图9)。经过实例化的结构树描述了整个BIM模型构件逻辑层级关系、构件数量,可以实现构件的快速定位,实现同类构件集中管理。

4.BIM模型构件非几何信息添加
(1)Bentley属性扩展技术
Bentley属性扩展从属性的大类别来区分包括两种方式,一种是在元素内部,另一种是在元素之上,具体有 XData、DataBlock、XAttribute、ItemType,其中XData、DataBlock属于前者,XAttribute、ItemType属于后者。XData主要是为了兼容DWG格式而存在,DWG中保存属性用的就是XData。DataBlock是DGN格式所采用的表达元素内部的扩展属性方式。XAttribute的优点在于大小没有限制,且修改属性时不需要重写整个元素。XAttribute在文件中是单独的一个数据流,当修改XAttribute属性时只需根据图形元素的ElementID找到其对应的XAttribute,将XAttribute修改后写入文件即可。ItemType是基于EC(Engineering Content)的XAttribute,是Bentley CE版软件提供的一种新的附加属性的方式,它能直接在元素属性对话框中展示出来。针对专业属性扩展要求与需求,采用ItemType方式来进行构件非几何信息的添加。
(2)模型附加属性信息
BIM作为信息化模型,是整个工程项目的信息资料库,非几何属性信息是其重要组成部分,它在工程全生命周期各阶段的传递与留存,对BIM持续发展有着至关重要的影响。基于专业结构树,采用ItemType属性添加方式,实现模型属性信息的添加,通过检索或筛选,将BIM模型构件与专业结构树的节点进行关联,然后给专业结构树的节点赋值,实现单一BIM模型构件和多个BIM模型构件属性自动添加(图10),并可通过IFD批量进行属性信息的更新,如图11所示。


5.BIM模型剖切
BIM模型的一个应用点就是基于模型进行剖切出图,如何掌握从信息模型输出施工图纸的方法、建立从信息模型输出施工图纸的流程是亟待解决的问题。该工作是将信息模型从“看”到“用”的转变及推进,是真正意义上的正向设计流程的反映。针对路基、桥梁、隧道、地质、站场等专业需求,基于Bentley的动态试图(Dynamic View)技术进行BIM模型的剖切,以“三维信息模型→绘图模型(Drawing)→图纸模型(Sheet)”的技术流程,采用“模型组织→切图定义及输出→图纸标注及调整→组图输出”的步骤[20],将三维模型输出为二维图纸。通过基于空间线条、实体边界线、指定线路里程的BIM模型剖切面的布设(图12(a)),按照出图步骤,输出二维图纸(图12(b)),并且能够达到三维信息模型修改而施工图纸联动修改的效果。

三、系统主要特点
以Visual Studio作为开发工具,采用C++/CLI语言,研发了铁路线路空间位置计算API库,在Bentley平台上,利用其Addin二次开发方式,用C#语言进行BIM设计辅助工具的研发。
该API库与辅助工具具有以下优势与特点:
(1)以C++/CLI混编构建了铁路线路空间位置计算API库:基于线路专业提供的MDB或TXT数据文件,构建了铁路线路空间位置计算API库,通过关键函数的实现,在三维环境下以函数式调用方式构建应用程序,提高了各专业基于线路的BIM模型定位精度。
(2)通过API接口技术实现多设计平台统一的线路功能集成与调用:利用统一的API接口,各专业的设计软件通过调用或集成线路三维空间位置计算功能,构成闭环,为线性工程的BIM设计提供了统一的业务支撑与基础;以函数式调用方式,为AutoCAD、Civil3D、Revit、Microstation、OpenRail多应用平台提供了统一的二次开发应用支撑,方便用户集成与开发应用。
(3)以最小设计单元的专业结构树实现BIM模型实例化构件的精细化管理:通过对专业所有设计内容建立的满足始自专业、终到最小构件单元的多层级树状结构的结构化,实现BIM模型实例化构件的精细化管理与信息的有效传递。
四、系统应用
系统完成后,进行了推广应用。线路空间位置计算API库已在接触网区间BIM正向设计系统、三维实景征拆系统、基于Bentley平台的声屏障BIM设计软件中进行了集成与调用。研发的基于线路中线的BIM模型构件布设与拼装、基于最小设计单元的专业结构树、BIM模型构件非几何信息添加、BIM模型剖切辅助工具已在多条铁路项目的BIM设计中进行应用,取得了显著的效益。线路空间位置计算API库计算准确、框架稳定、功能实用性强、可理解性高,可极大地提高与铁路线路空间位置计算相关功能的研发效率。通过该库的使用,提升了BIM设计协同效率和数据化程度,有效提高了软件质量与效率。
五、总结
该系统通过对API库进行调用与集成,实现各专业基于线路的空间位置计算功能需求。在Bentley平台上,对模型布设与拼装、属性添加、构件管理、模型剖切等提供了一种可行的技术方案。通过在项目中的应用,可提升BIM设计协同效率和数据化程度,显著提高与铁路线路相关功能的研发效率,具有一定的实用价值和参考价值。然而,目前BIM模型剖切方式尚不能满足出图要求,需要大量的手工修改工作,对于从BIM模型出图,还需进一步从二三维设计数据同源、参数化横断面等方面进行针对性开发。