基于Dynamo的接触网自动装配设计

2019-10-11 06:09陈珊珊王颖徐灏
铁路技术创新 2019年4期
关键词:二次开发接触网构件

陈珊珊,王颖,徐灏

(中铁电气化(武汉)设计研究院有限公司,湖北 武汉 430074)

0 引言

BIM技术作为建筑工程行业中快速发展的信息技术,近年来不断扩展其应用领域与应用深度[1-2],程霄等[3]利用可视化编程插件Dynamo进行了装配式构件参数化建模研究;曹阳[4]针对水力机械中复杂过流部件的建模特点,采用基于Dynamo for Revit的参数化设计对蜗壳和尾水管进行设计,实现一键生成模型;刘春原等[5]利用Dynamo对Revit进行二次开发,实现了部分装配式框架结构BIM模型的自动拆分;杨凯镜等[6]利用Inventor平台,提出并构建接触网参数化零件库和部件库。

显然,目前我国铁路工程中迫切需要新技术的应用发展,铁路工程领域面临着新的机遇和挑战[7],接触网作为电气化铁路的核心组成部分,其设计具有工作量大、零部件多、细节繁琐等特点,Dynamo作为Revit平台下的编程工具,在开源、参数化、可视化等方面具有明显优势,利用Dynamo进行接触网自动装配设计,则是利用新工具对旧问题进行的解答,铁路工程未来应在设计、施工到运维各阶段利用新的技术手段去实现转变[8-9]。

1 Dynamo与接触网工程

1.1 Dynamo编程平台概述

Dynamo作为可视化编程平台,是基于Autodesk Revit软件的开源式插件,是一种参数化设计软件中高效计算机辅助工具,其设计具有可视化、参数化、模块化、设计可持续性等特点[10]。Dynamo采用计算式设计方法和可视化编程语言,设置一套循序渐进的程序流,通过输入、处理、输出的基本逻辑来解决问题(见图1)。

Dynamo能在独立沙盒模式下运行,但以沙盒模型运行时其自身的扩展与建模能力十分有限,数据属性存在一定缺失。而从Revit中进入Dynamo后,其优势开始显现,主要表现在Dynamo中采用节点或模块建立的模型与Revit无缝衔接,用户改变节点参数时Revit模型随即产生调整;Dynamo可直接拾取Revit中的元素,包括项目或族中的曲线、曲面、实体等,同时也能提取当前工程文件下的模型种类,如门、柱、板等。

图1 通过坐标创建点示例

1.2 Dynamo编程流程

Dynamo作为Revit的插件,与Revit交互时,其图形显示区的原点与Revit项目样板原点在同一位置,当Revit项目内某个坐标的构件被Dynamo关联读取时,Dynamo图形显示区就会出现在相应坐标位置(见图2)。最后Revit项目样板中的信息被Dynamo数据驱动后便获得三维建筑模型,而Dynamo里保存下来的是驱动三维模型生成的程序代码。若后期需要模型修改,用户只需在Dynamo文件中对相应的参数进行修改并运行,Revit都会在Dynamo的驱动下进行快速反应。

1.3 接触网工程设计问题

接触网是电气化铁路系统的重要环节,包括电气设计、结构设计与机械装配,是一个精细、复杂的系统,且具有构筑物结构复杂、施工质量要求高、施工难度大、专业协同性强等特点,在铁路建设行业的地位不容忽视。现阶段接触网工程设计存在以下问题。

(1)接触网沿铁路线布置,设计施工范围狭长,零部件众多且对实现接触网功能至关重要。当前电气化铁路接触网的设计、施工及运营维护仍以二维图表的形式为主,通过三视图和剖面图描述接触网的结构特征。

图2 Dynamo与Revit交互流程

(2)接触网平面设计中,设备设施通常采用简化的图形符号和线条进行标识,与实际情况相差甚远,不利于直观表达。同时接触网专业与其他专业接口较多,导致现场施工容易出现碰撞冲突情况,造成返工与损伤。

(3)接触网平面二维图纸的设计参数不能涵盖线路的实际情况,情况复杂的工点需要设计人员进行现场勘测确定设计方案,可能出现安装图不适用的情况。

2 接触网自动装配设计原型系统

为了依托三维模型实现接触网零部件的自动装配设计,需要建立参数化族库并基于Revit进行二次开发。

2.1 系统设计

为便于接触网快速设计,必须构建接触网设计系统,以此来实现Dynamo for Revit自动装配设计。其系统内容包括:

(1)Excel数据准备,Civil 3D导出路线信息数据。

(2)Dynamo读取XLS生成3D路径,XLS数据到点,点到NURBSCurve(中心路径)。

(3)参数驱动生成下部结构,如中心桩号、跨径、跨数等参数,沿路径法向放置族或DY放样实现。

(4)参数驱动生成上部结构,如梁片间距等参数,沿路径法向放置族或DY拉伸实现。

(5)参数驱动上部附属设施,如铺装、栏杆、灯间距等参数。

接触网自动装配系统设计流程为:Ribbon菜单注册→调用事务→输入导入→构件组装。

(1)Ribbon菜单注册:通过基于指定泛型自动注册Ribbon下的Tab,读取XAML文件。第一步,建立测试项目;第二步,注册并绑定RibbnonViewModel。

(2)调用事务:注册RevitCommand命令,实现事务的调用;简化开发流程。

(3)输入导入:导入Excel识别表头和合并单元格。

(4)构件组装:判断族和族的类型是否存在,不存在时通过配置文件寻找Family所在地址进行加载;加载FamilySymbol后,获取HostFamily中的被放置构件定位点,所在的相对坐标(族坐标系)转换为项目坐标系,添加偏移值,放置构件。

2.2 接触网设计实施路径

(1)通过建模软件,绘制接触网三维零件并设置零件对应参数。

(2)将三维零件依据施工要求(最小构件分解)组合成为构件族。

(3)使用Revit二次开发接触网构件放置模块,将构件族组合,并实现自动沿道路中心线两侧放置构件(或依据Excel坐标点放置构件),生成项目BIM模型。

(4)使用Revit二次开发接触网复核模块,对项目BIM模型进行规范验证。

(5)使用Revit二次开发接触网统计功能,对项目BIM模型中的零件生成Excel统计表。

2.3 需求分析

对于接触网自动装配系统来说,其需求主要体现在以下几方面:

(1)运行环境。由于接触网具有线形工程的特性,体量普遍较大;对CPU速度及内存容量有较高要求;Navisworks进行施工模拟,Civil 3D处理曲线段线路问题;为了族库的通用性,降低2个版本。接触网自动装配系统具体运行环境见表1。

(2)族库设计。参数化的族库构建必须考虑到关键尺寸参数对构建组装的影响;模型放置定位点或定位线;每个族的方向及原点对构件组装的影响;构建编码。自动装配设计是建立在参数化族库的基础上,因此依照设计标准进行接触网零部件参数化族库设计,使得模型具有可复用性及参数可调整性,以确保其具有可应用于真实的项目模拟、项目碰撞检测等实用价值。

表1 接触网自动装配系统运行环境

(3)构件组装。接触网零部件自动装配即为构件自动组装,包括腕臂、接触悬挂、下锚构件和附加线4个部分的自动组装。

(4)清单生成。按照构件类型对数量及其实例参数进行统计;独立于Excel(NPOI),自定义格式对数据进行导入和导出。

(5)动画模拟。将接触网构件组装的过程通过Navisworks等软件进行动画演示。

3 接触网项目自动装配设计实践

3.1 接触网系统设计描述

选取某铁路建设项目四电系统集成具有代表性的部分工程——1个接触网锚段,含与其相邻的锚段关节。针对铁路四电工程施工特点,采用BIM工具平台和二次开发相结合的方案,利用Revit软件及C#程序语言搭建某铁路建设项目的四电工程BIM施工辅助应用平台(简称BIM应用平台,本次为接触网、牵引变电专业),并基于Dynamo进行接触网自动装配设计。其二次开发模块见图3。

(1)接触网族库模块。实现族库管理、查找及载入项目功能;调用嵌入数据库获取自建族库相关信息,如存放路径、族参数等(见图4、图5)。

(2)接触网腕臂组装模块。通过参数化设定空间位置关系和零部件型号,定位参数根据计算软件数据导入并自动构建接触网腕臂。

(3)接触网构件自动装配模块。通过拾取线路中心线(或通过Excel表格获取每个构件的放置坐标),设置需要放置的族、空间间隔、偏移值等数据,系统自动沿线路放置相关构件。

图3 电气化铁路接触网二次开发模块

图4 族库预览(部分)

图5 Dynamo参数化控制套管方向

(4)接触网验证模块。将接触网设计规范数据写入程序中,在布置接触网时通过设计规范中的约束数据或公式,对方案进行校核;对于不满足规范或要求的节点进行提示并可生成表格进行统计。

(5)接触网构件清单模块。根据要求统计相应构件数据,并通过使用OLE2/ActiveX文档属性读写库,实现统计数据Excel表格的导入和导出功能。

3.2 构件自动装配

(1)坐标转换及放置构件。设计时确定了统一的构件方向、定位点、族样板,如腕臂以y轴为上,-y轴为下,x轴为线路侧(前方),-x轴为田野侧(后方)。支柱以基础中心为坐标原点,方向前对应线路侧。套管构件以抱箍所套管的中心位置为族坐标原点;承力索和接触线连接构件以接触线连接点为坐标原点(见图6、图7)。

图6 腕臂中心方向

图7 坐标转换并放置构件

(2)构件自动装配,生成腕臂、支柱。在Dynamo中进行编程。自动装配的流程为:首先建立其他构件的族,加载到项目文件中;其次,在Dynamo中获取族的类型,根据需要的数据来放置生成族的实例(见图8)。

(3)腕臂及定位数据导入。根据TB/T 2075—2010《电气化铁路接触网零部件》对腕臂构件的要求[11],再依据预装配表确定腕臂装置和定位装置(见图9)。

图8 腕臂及支柱装配

图9 腕臂数据导入

4 结束语

在使用Dynamo程序设计过程中,其预定义功能节点的复杂连接看似繁杂,但参数化设计的逻辑思路已建立好并已打包成自定义节点,对于不同零部件装配只需根据设计要求输入参数并载入族到Dynamo中即可“一键生成”。使用Dynamo对Revit进行二次开发,实现了不同模块的自定义,智能化程度高,设计效率得到提高。随着BIM技术在铁路行业的快速发展,在接触网中复杂细部结构设计中,Dynamo等也将发挥越来越重要的作用。

猜你喜欢
二次开发接触网构件
钢筋混凝土构件裂缝控制
BIM技术在电气化铁路接触网中的应用研究
为开通打下基础!这条国际铁路完成接触网平推验收
中老铁路两国同步架设电气化接触网第一线
BIM模型相连构件获取方法
浅谈Mastercam后处理器的二次开发
例谈课本习题的“二次开发”
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
关于平面设计软件二次开发的分析
基于J2EE架构的构件化集成*