基于ObjectARX的接触网数据驱动设计

2012-08-06 09:38李柏林何朝明
铁路计算机应用 2012年12期
关键词:跨距支柱接触网

朱 聪,李柏林,何朝明,王 强

(西南交通大学机械工程学院,成都610031)

ObjectARX是针对AutoCAD平台上的二次开发而推出的一个开发软件包。它提供了以C语言为基础的面向对象的开发环境及应用程序接口,能快速地访问AutoCAD图形数据库。

接触网设计的主要内容是接触网平面布置图设计。高速铁路车站接触网平面设计的各个步骤,包括支柱布置、锚段划分、中心锚结确定、附加导线布置、生成接触网布置信息表和统计图等。

目前国内使用的接触网平面布置图AutoCAD系统主要有两种形式,各有弊端。一类系统将铁路接触网中使用的部件划分成一组组图形块,利用AutoCAD的基本绘图功能分别进行绘制,然后进行计算组合,最后完成设计[1]。使用此系统,设计接触网布置图比较容易,设计人员能借助它较快地绘制出一张平面CAD布置图。但生成的CAD图中,各实体之间都是独立的,相互间没有数据联系,而某些设计计算需要使用元件之间的相互联系(支柱布置、锚段划分等),全部要求通过手工计算,非常不便。另一类系统能够实现利用接触网元件之间的联系进行设计,绘制过程烦琐,这类方法在错误检查与修改方面存在缺陷,如果出错,需要设计人员重新填写数量巨大的属性数据。本文的接触网数据驱动系统具有如下特点:(1)友好的图形绘制界面;(2)适用于多种不同的铁路线路;(3)接触网的主要元件都设计为存有数据的实体,更加方便的计算、修改和存储数据;(4)绘制平面布置图的全部过程更加智能化,简化工作量,使设计的速度和准确性得到提高;(5)智能收集并整理图纸数据,在完成图形绘制后,自动生成信息表、统计表,统计重要元件的类型、数量等数据。

1 数据驱动架构

在绘图过程中,对某项属性数据进行修改后,此属性数据对应的过程自动进行相应的改变。以支柱属性数据为例,如图1。

图1 接触网绘图系统流程图

2 数据驱动算法实现

2.1 数据初始化

数据初始化的作用是为得到布置所需的线路数据,将这些数据一部分存入外部的Excel中,另一部分存入到线路的扩展属性中,通过这些数据自动生成线路多段线,如正线、站线和渡线。数据初始化的步骤如下:

(1)输入初始化数据,保存在预先设置好的EXCEL中;

(2)点击选取要生成的线路类型和编号;

(3)连续点取多条线段,建立线段集合;

(4)将线段集合中的线段从左到右排序;

(5)遍历全图,获得所选线段的起始两端点,建立点集合;

(6)将点集合中的点按照X坐标从小到大排序;

(7)分别循环从线集和点集中取出一线一点,判断此点是否为此线起点,若是则执行步骤(8),否则执行步骤(9);

(8)将此点按此线的线型加入到多段线点集中;

(9)将此点按直线连接的方式加入到多段线点集中;

(10)将多段线点集合中的点生成多段线;

(11)建立名为“PolyLine”的图层,并将此多段线存入;

(12)将线路类型和编号存入多段线属性中,保存在图纸中;

(13)继续步骤(1)直到图中所有线路选取结束为止。

在步骤(7)中,如果点不为线段的起点,表示用户选择的多条线段中出现不连续情况,即相邻线段不是首尾相连,有一定距离,处理方式为将前面线段终点与后面线段起点以直线方式连接。

合并生成多段线后,将线路属性存入线路是为区别不同线路,将多段线统一存入到同一图层是为方便信息的提取和加快程序运行速度。这样不同的线路图和不同的选取线路方式可以获得不同的线路数据,生成不同的线路。

结果:初始化数据完成,线路多段线生成,线路类型、编号、里程等信息存入线路。

2.2 支柱布置

图2 支柱布置总体流程图

支柱布置总体流程图如图2。支柱布置结果影响着整个设计的准确性。布置支柱前,首先需输入标准跨距、跨距比、道岔向外参数、道岔向内参数、桥里程、信号机等数据,然后按照图元间的关系和一定的规则循环对每条线路进行支柱布置。布置支柱的过程中,会出现相邻两支柱线上距离过大或过小的情况,就需要再布置支柱或调整距离,这里通过调用剩余长度支柱布置函数ResidenLen-DisTrutDisign()即可。

剩余长度支柱布置算法:

假定相邻跨距比为1.15、标准跨距:l标跨=50 m,则lmax=50×1.15=57.5 m,lmin=50×(2-1.15)=42.5 m。lmax向下取整为57 m,lmin向上取整为43 m。 相邻跨距比系数:l系=[1-相邻跨距比,相邻跨距比-1] 。如果定义相邻跨距比为1.15,则1-1.15≤l系≤1.15-1,即-0.15≤l系≤0.15。

标准跨距:在完成道岔等特殊位置的支柱定义后,其余支柱布置时,标准跨距优先满足。

当lmax

当2lmax

当3lmin

当2lmin+lmax

当3l标跨

当3lmax

当3lmin+lmax

布置完毕调用ChangeTrutPtDataAll()函数给支柱写入属性数据,支柱中需要存放的属性很多,例如:绘制时手工设定;计算其它实体属性的条件;通过与其它实体的关系计算得到。这些属性使支柱与锚块、拉出值和信息表的数据相互联系,锚段划分时,通过支柱的坐标和间距设定下锚点,计算锚段长度;绘制拉出值时,根据支柱坐标确定拉出值位置,根据支柱类型确定拉出值大小;统计支柱时,根据支柱类型、编号等自行生成统计表。所以通过调节标准跨距或跨距比可以改变支柱布置的方式和内部存储的属性数据,从而改变后续功能的结果,以达到用户的最终需求。

结果:支柱布置完成,支柱横纵坐标、支柱编号、支柱所在线路信息、支柱里程和支柱类型等属性存入支柱。

2.3 锚段划分

锚段划分的功能包括锚段划分和中心锚结的确定。根据前面存储的数据,读取锚块所在支柱的数据信息可以计算得到锚块位置和编号,读取线路信息可以得到锚块所在线路名称。划分锚块后,还要对支柱的属性进行更新,如是否为下锚柱,是否为转换柱,是否在绝缘锚段关节区域等,为信息表布置提供数据基础。所以支柱数据和锚块数据是相互驱动,相互决定的。

结果:锚块划分完成,锚块相关信息数据存入锚块。

2.4 布置拉出值和附加导线

拉出值的作用是为了使受电弓滑板工作均匀,并防止发生刮弓和脱弓事故。附加导线是为了维持良好的供电质量和保证供电系统的可靠运行不可缺少的组成部分。对一个支柱计算拉出值时,通过读取支柱的数据,如支柱坐标、类型等,再将这些数据结合用户输入的信息决定拉出值位置和计算拉出值大小。拉出值以文本的方式输出,同时也要给拉出值写入属性数据,为后面的信息表提供数据基础。拉出值的数据是根据读取锚块中的数据确定的,如支柱在锚段区间内就要给拉出值赋予“绝缘”或“非绝缘”属性,支柱排序也影响着拉出值类型。

结果:拉出值、附加导线生成,相关文本信息存入拉出值。

2.5 生成信息表和工程数量统计表

信息表的主要作用是为了便于施工参考和为后续统计表中的统计数量作数据基础。信息表包括:附加导线、支柱基础编号、侧面限界、支柱类型、吊柱及硬横跨类型、地质情况/基础类型和接触网安装图号等。

生成图中元件的统计数据是接触网布置图设计的最终目的。统计表主要包括《避雷器设置表》、《道岔表》、《工程数量表》、《锚段长度表》、《号码牌表》、《说明》和《签署栏》等。

通过遍历信息表中所有文本的属性数据,循环统计相应数据出现的次数,再通过一些公式、经验计算出结果,就可以得到相应元件的数量和信息出现的次数。

结果:信息表、统计表(各接触网材料的类型和数量)生成。

3 应用实例

以下结合高速铁路接触网设计典型工程实际用例,简要介绍数据驱动在二次开发中的应用。

此系统是在Windows环境下使用.NET和ObjectARX2008进行开发,适用于AutoCAD2008及其以上版本,编译软件使用VisualStudio2005。

高速铁路接触网绘图系统根据布置图中不同元件的绘制特点,在AutoCAD2008的内置菜单中加入屏幕菜单,绘制系统的菜单就嵌入进了AutoCAD菜单栏。系统菜单的功能主要是生成接触网平面布置图系统的主菜单,方便用户操作。主菜单下拉产生独立的绘图指令模块,使各个子模块分别实现相应的功能。高速铁路接触网绘图运行过程如图3。

图3 绘图系统执行过程流程图

(1)输入相应的初始化数据,如道岔参数、支柱间距、图纸比例、安装图号等,并存储在Excel表中,如图4。

图4 数据初始化

(2)运行各个模块分别进行支柱布置锚段划分、拉出值绘制、附加导线绘制等,如图5。

(3)绘制信息表、统计表等,如图6。

(4)通过前面所得数据和参数,进行跨距、风偏、风载荷和侧面限界等的计算。

图5 站场局部绘制图

图6 信息表

4 结束语

随着我国电气化铁路的进一步推广,国内有关接触网的CAD系统研究越来越多。与其他CAD辅助系统相比较,本文的研究在智能和自动化方面提高了很多,使用本系统能提高接触网布置图的准确度和设计速度。整个接触网布置图设计任务,能够通过非常简单的命令准确完成。运用ObjectARX把接触网设计元件做成系统的自定义实体,并且在实体中包含有与接触网有关的数据,使得在数据发生改变后,接触网布置图能自行调整,减少设计时间,提高设计的准确性。通过数据驱动技术,在使用ObjectARX编程时,能更加方便地保存和读取数据。使得不同程序间的数据传递更加直接,更容易、更快速地实现不同的功能,可广泛地用于铁路接触网的布置设计中。

[1] 赵建军,何寒冰. 接触网智能CAD系统的研究和实现[J] .微计算机信息,2007(12):165-167.

[2] 黄锐,祁成兵,王辉. 扩展实体数据在AutoCAD二次开发中的应用[J] . 山西建筑,2008(11):363-365.

[3] 王田煜,徐刚. 基于ObjectARX的AutoCAD二次开发技术[J] . 河北能源职业技术学院学报,2003,(2):28-30.

[4] 闯涛,赵良臣.用ObjectARX进行AutoCAD二次开发的研究[J] . 浙江工程学院学报,2003,20(1):37-40.

[5] 铁道勘测院. 接触网设计手册[S] . 北京:中国铁道出版社,1992:25-55.

猜你喜欢
跨距支柱接触网
为开通打下基础!这条国际铁路完成接触网平推验收
跨座式单轨列车-轨道梁耦合动力学特性研究
中老铁路两国同步架设电气化接触网第一线
核级工艺管道支撑跨距研究
基于接触网下部材料厂型螺栓的改进研究
新型大跨距铝合金电缆桥架的结构可行性研究
国电数字物资的三大支柱
接触网BIM设计关键技术研究
建一座带支柱的房子
促进全球可持续发展的三大支柱