基于 Civil 3D部件编辑器的铁路BIM部件模型构建研究
2019-07-03谭衢霖蔡小培秦晓春
夏 宇,谭衢霖,2,蔡小培,秦晓春
(1.北京交通大学 土木建筑工程学院,北京 100044;
2.北京交通大学 线路工程空间信息技术研究所,北京 100044)
建筑信息化模型(BIM,Building Information Modeling)是一种应用于工程项目规划、设计、建造、管理、运营的数字信息化工具[1]。通过建立虚拟的工程项目三维模型,利用数字化信息技术,为工程项目提供完整的、与实际情况一致的建筑工程信息库,在工程项目全生命周期过程中进行共享和传递,为各建设主体提供协同工作的基础。将BIM 技术运用到铁路线路工程的设计中,可以实现工程项目的可视化管理、工程信息传递共享,从而提高铁路线路工程的信息集成效率,保证工程质量,降低成本。文献[2]研究了基于BIM的三维铁路道岔各个组成部分和计算方法,设计可视化界面,实现了不同型号的三维道岔建模;文献[3]研究了铁路BIM三维场景的构建,建立了铁路沿线地形、构造物、附属设施等三维模型;文献[4]利用Civil 3D 部件编辑器,拟合路线平、纵、横断面的隧道部件,建立了隧道参数化BIM模型;文献[5]研究了基于VBA的轨道结构三维数字化的建模方法,对建立轨道结构参数化标准件立体库方面进行了初步探索与研究。本文基于Autodesk Civil 3D部件编辑器(SAC,Subassembly Composer)研究自定义部件参数化信息模型的构建方法。
1 部件装配设计
1.1 部件编辑器
Civil 3D是一款面向基础设施行业的BIM解决方案[6-7],它提供了强大的设计分析和信息管理功能,其数字化曲面建模功能广泛适用于勘察设计、岩土工程、交通运输、水利水电、市政工程等领域,可在各类工程设计对象之间建立智能化逻辑关系,设计人员通过智能对象动态地创建工程信息模型,便捷地把设计思路转化成参数化模型。
部件作为其中一个重要组件,在道路、铁路、管廊、输电线等线性工程设计工作中发挥巨大作用,但Civil 3D 本身内置的部件模型多为公路模型,无法直接应用于铁路工程设计,可通过软件提供的SAC进行定制化开发。
SAC是一种以绘制流程图的方式创建带有复杂逻辑的自定义部件,通过可视化的软件界面和参数驱动方法创建部件模型。SAC通过自定义表达式或者调用Civil 3D中提供的土木工程对象相关的应用程序编程接口(API)创建功能强大的装配部件,不需要复杂的编程即可便捷高效地创建适用于各个专业的部件,并能实现批量出图,从而提高设计效率。
1.2 部件与装配
基于Civil 3D构建铁路线路部件模型,其核心步骤是使用部件进行铁路横断面装配设计。
部件是用于组成横断面的基本设计元素,例如轨道、桥梁、路基、边坡、挡墙等[8]。部件是由点(Point)、连接(Link)、造型(Shape)3种基本单元组成:点是部件几何形状的顶点;连接是点之间的连线,通过点的坐标增量(水平增量dx和竖直增量dy)定义;造型是多个连接围成的一个闭合区域。每个部件都可以由若干个点、连接和造型构成。
横断面的装配基准样式是由基准线和基准点构成[9]。装配的基准线通常显示为视觉辅助对象(标记),用于表示装配基准点处的垂直轴,可以通过选择基准线标记实现在基准点上附着部件;基准点是装配上的一个点,通常表示控制路线附近装配上附着的第一个部件的起点,位于道路中线和纵断面设计线上,根据不同的横断面情况进行部件装配。
不同的横断面形式需要不同的部件,Civil 3D提供了多种预定义部件,这些部件通过预设的逻辑判断条件,结合目标曲面模型可以智能地适应复杂多变的横断面,例如当挖方或填方超过一定高度,模型自动添加边坡平台[10]。工程项目中横断面形式往往复杂多变,当预定义部件不能解决复杂、特殊的装配问题时,Civil 3D提供了另外3种方法来创建自定义部件:(1)以CAD图元的形式来创建;(2)通过C#和VB.NET API语言编程的方式来创建;(3)通过SAC的形式创建。3种创建自定义部件工具的比较分析如表1所示。
表1 部件创建方法对比
代码(Code)是为部件中的几何单元、点、连接、造型指定的具有特定工程含义的名称。代码的指定是创建连续部件的核心内容,部件中的每个基本单元可以指定多个代码,不同的单元可以指定相同的代码,拥有相同代码的几何单元沿着路线方向进行连接,形成连续的三维空间模型。点代码控制要素线的生成,连接代码控制路线三维带状面的生成,造型代码控制道路三维空间实体的生成。
2 SAC部件构建流程
基于SAC创建自定义参数化部件一般需要以下步骤:定义部件变量参数、添加几何图元、关联几何图元、编辑部件、定义代码、修改参数驱动图元、调试运行,如图1所示。
图1 SAC部件创建流程图
(1)对于拟构建的部件模型,根据其几何形位和逻辑关系定义部件参数变量,指定参数数据类型(如坡度、斜率、超高等);定义数据类别为输入参数或输出参数;对参数进行赋值。
(2)添加几何图元,将几何图形元素(点、连接、造型、辅助点、曲线、插值点等)从工具箱拖放至流程图中。
(3)根据图元元素间的几何关系,用命令(如Angle and Delta X(Y)、Angle and Distance、Delta X on Surface、Interpolate Point、Slope and Delta X(Y)、Slope to Surface等)将几何图元元素进行关联。
(4)分析各个图元间的逻辑关系,通过编写API函数表达式进一步完善部件复杂几何关系。
(5)对图元进行代码编写,沿线路走向构建连续的参数化模型,通过代码将其连接,实现三维空间实体的生成。
(6)适当调整部件参数变量或函数关系,驱动图元可实现不同断面参数部件模型的快速构建。
(7)将部件在Civil 3D中调试运行,最终完善部件模型。
3 铁路BIM部件构建
3.1 单线有砟轨道部件
Civil 3D内置的单线有砟轨道部件中,钢轨和轨枕用简单几何形状近似代替实际结构,难以满足精细化建模的要求。基于SAC按照Ⅲ型混凝土轨枕、60 kg/m钢轨进行单线有砟轨道部件精细化建模,依次对道砟、底砟、轨枕、钢轨进行建模。
3.1.1 道砟结构
(1)定义轨道坡度、轨枕间距、轨枕纵向长度、轨距、粗砟边坡等参数变量,根据道砟宽度、道砟厚度、道砟坡度等参数设计道砟结构;(2)根据底砟边坡、底砟宽度等参数设计底砟结构。
3.1.2 轨枕结构
轨枕结构为不连续模型,根据轨枕纵向长度L1及轨枕间距参数L2,按桩号位置判断是否设置轨枕,定义变量并编写VB表达式。对变量X进行判断,当X>0且X 表2 轨枕结构主要参数及表达式 图2 轨枕构建流程 3.1.3 钢轨结构 根据轨枕结构几何关系,按照60 kg/m钢轨的轨底、轨腰、轨头几何尺寸、标准轨距(1 435 mm)等形位关系分别构建左右钢轨结构,进行钢轨结构参数化建模。编写所有图元的代码,生成连续的三 维空间实体模型,单线有砟轨道部件如图3所示。 图3 单线有砟轨道部件 将SAC中构建的单线有砟轨道部件保存为.pkt文件并导入到Civil 3D中进行部件装配,在三维场景模式下进行渲染,三维轨道部件模型如图4所示。 图4 三维轨道部件模型 基于SAC进行多级边坡参数化建模,建模流程如图5所示。 图5 多级边坡部件创建流程图 3.2.1 单级边坡构建多级边坡应先进行单级边坡设计。(1)进行填挖方判断,创建目标曲面,根据装配点到地形曲面的空间距离判断填挖方(API函数:p1.distance to surface(地形曲面)>0时为填方,p1.distance to surface(地形曲面)<0时为挖方);(2)定义边坡高度、挖方坡比、填方坡比等变量,添加几何图元。创建辅助点AP1,根据几何关系判断边坡形式,将辅助点根据填方坡比放坡到地形曲面点AP1,计算h值并与定义变量边坡高度相比,若h≤H为单级边坡;若h>H则需设置多级边坡(API函数:math.abs(p1.y-ap1.y) 3.2.2 多级边坡 图6 设置辅助点判断边坡形式 设计多级边坡时,对平台宽度和平台坡度进行定义变量,设置判断函数判断平台类型。分别计算P2、AP2点到地形曲面的竖向距离Y1、Y2,若Y1Y2>0,则为半宽平台,直接放坡到地形曲面;若Y1Y2≤0,则为全宽平台,Y1Y2<0时需继续进行放坡,此时,ap2点与p3点重合,以p3点为新的放坡点,进行嵌套结构设计,逐级进行放坡。主要实现函数如下:p2.distance to surface(地形曲面)*ap2.distance to surface(地形曲面)<0为半宽平台,p2.distance to surface(地形曲面)*ap2.distance to surface(地形曲面)>0 or p2.distance to surface(地形曲面)*ap2.distance to surface(地形曲面)=0为全宽平台。本文以构建四级边坡模型为例,当构建完成第3级边坡的全宽平台,对第4级边坡直接放坡到地形曲面。如实际工程需要,可继续进行设计放坡嵌套结构,实现更高级数边坡的建模。判断平台形式如图7所示。 图7 设置辅助点判断平台形式 修改完善部件代码,逐一对几何图元进行代码编辑,赋予部件属性,构建连续部件的模型。可对定义的变量进行参数设定,快速建立多种参数化多级边坡形式。在Civil 3D中导入多级边坡部件调用装配,调试运行,将多级边坡部件与地形曲面相融合可精确计算填挖方工程量,多级边坡部件如图8所示。 图8 Civil 3D多级边坡部件 隧道部件构建以单线单洞为例进行参数化设计,构建如图9所示的隧道轮廓,隧道部件构建流程如图10所示。 图9 隧道衬砌内轮廓图 图10 隧道部件创建流程图 3.3.1 隧道轮廓 确定各圆弧的圆心。如图9所示,定位隧道中心点,根据隧道轮廓各圆弧间相切的关系依次确定圆 心O2、O1、O4、O3。 定 义 变 量R1、R2、R3、R4、L1、h1及衬砌厚度d。添加辅助点AP1定义隧道中心,根据图中几何关系及定义变量依次确定圆心O2、O1、O4,最后根据圆弧相切的几何关系求出O3相对隧道中心点的坐标,求解过程如下: 设O2(x2,y2),O3(x3,y3),O4(x4,y4) 其中: 将式(3)带入式(1)中,得: 式(4)可表示为: 其中: 可得圆心O3的坐标: SAC中确定圆心O3的坐标主要实现函数见表3。 确定各圆弧的端点,根据圆心位置及变量R1、R2、R3、R4参数关系,采用内差点定位各段圆弧端点位置,设置圆弧依次连接各端点构造隧道衬砌内轮廓线,内轮廓完成后,可在适当范围内修改圆弧参数,实现内轮廓的动态变化和参数化建模。根据变量衬砌厚度d和隧道外轮廓几何关系构造隧道衬砌外轮廓线。明确上下曲面分界点,对隧道部件几何图元逐一进行编码、调试运行。 表3 圆心O3的坐标主要实现函数 3.3.2 建筑限界 根据客货共线铁路直线建筑限界的几何尺寸,在隧道轮廓部件的基础上,根据几何尺寸绘制客货共线铁路限界。铁路限界可与通风设备、照明设备等附属设施进行碰撞检查。图11为含有客货共线铁路限界的隧道轮廓。 图11 参数化隧道部件(含客货共线铁路限界) 修改完善部件代码,逐一对几何图元进行代码编辑,赋予部件属性,构建连续部件的模型。在Civil 3D中导入隧道部件调用装配,调试运行。如图12所示为隧道部件。 图12 隧道部件 本文基于Civil 3D部件编辑器构建的铁路BIM部件模型可与地形曲面相融合,创建参数化定义的动态三维信息模型。利用创建的自定义组件,以交互设计的方式变更用于定义横截面的输入参数即可快速修改完善铁路部件模型。通过SAC可视化的软件界面和参数驱动方式创建部件,可实现复杂铁路线路结构的断面构建,在公路、水利、管廊等其它领域,各专业都可以创建自定义部件满足设计需要,为设计人员提供了一种新的建模思路。BIM 理念贯穿项目全生命周期,涉及多软件平台交互协同工作,下一步将深入研究各阶段模型精度要求和信息传递方式,更好地实现数据信息共享。3.2 多级边坡部件构建
3.3 隧道部件构建
4 结束语