APP下载

基于VBA的机车交路图计算机辅助绘图系统研究

2014-08-01黄小钢

铁路计算机应用 2014年10期
关键词:交路机务图例

杨 震,黄小钢

(中铁第四勘察设计院 设备处,武汉 430063)

基于VBA的机车交路图计算机辅助绘图系统研究

杨 震,黄小钢

(中铁第四勘察设计院 设备处,武汉 430063)

机车交路图是铁路组织列车运行的基础性文件,采用AutoCAD的原始制图命令进行制图操作,效率较低且容易出错。本文采用AutoCAD VBA二次开发,开发了基于参数输入的机车交路图计算机辅助绘图系统,实现了机车交路图的快速生成和修改。

机务;机车交路;辅助绘图系统

我国铁路设计正朝着信息化、规范化、智能化、现代化的方向发展,机务是铁路建设的一个重要组成部分,而机车交路图是机务部门组织运输生产活动的基础,是绘制机车周转图的重要依据,规范、清晰的机车交路图,对提高机车运用效率具有重要意义。当前设计人员多采用通用绘图软件AutoCAD进行机车交路图的绘制,该方法劳动强度大、工作效率低,随着铁路运输的频繁变化,已无法满足铁路信息化的发展需求[1]。周智勇[2]采用C++ Builder语言开发了运行于Windows 98操作系统下的机车交路图辅助设计系统,随着计算机技术的更新换代,该系统的适用性已稍显不足;李鸣[3]基于MFC类库采用C++语言开发了独立于AutoCAD的机车交路图设计软件,但由于目前机车交路图的设计、传递、打印、存档等均以AutoCAD为介质,使得该软件的普及较为困难。

本系统采用VBA语言对AutoCAD进行二次开发,基于模块化设计思想,以面向对象方式进行编程,采用GDI图形界面技术设计人机交互界面,调用Windows API接口进行预览图显示,调用AutoCAD ActiveX接口进行图形自动绘制,实现了机车交路图的计算机辅助绘制,使用户只需输入参数,无需使用AutoCAD绘图命令,即可完成机车交路图的绘制。

1 设计思路

1.1 绘图内容要求

绘制出各种类型的站段,如内燃机务段、机务折返段等,绘制出各种类型的机车交路,如立折交路、肩回交路等。站段、交路属性齐全,站段名称、位置等可修改,交路颜色可变,可添加、修改、删除途径站段,交路要素表要素齐全,可修改。需保证交路元素的相关性,交路的形状会根据途径站段的变化而变化,图例内容与站段和交路元素始终保持一致。

1.2 绘图方式要求

一张完整的机车交路图包含有站段、机车交路、交路要素表、图例、标题、图框等元素,元素种类较少,数量较多,重复工作量较大。同时站段、机车交路等元素间关联紧密,一处小的修改可能会导致整个图面的变化,使用AutoCAD绘图及修改较为繁琐。

通过软件开发,采用图形界面和参数驱动相结合的方式,提供机车交路图绘制的全新手段,取代手工绘制的方式。开发友好的人机交互界面,提供站段信息、交路信息、边框、标题、图例、方案数量等基本信息的规范输入格式,并提供预览功能,保证用户交互简洁、方便、易懂,如图1所示。

图1 软件用户界面

2 软件结构

根据需求分析,以模块化的思想进行软件框架的设计,将软件分为4个模块:用户交互界面、后台数据处理、CAD自动出图、文件存取,各模块之间关系密切,同时又相对独立,各模块之间的联系如图2所示。各模块又细分为多个子模块,图3为软件功能模块划分图。

图2 软件框架图

用户交互界面:采用GDI图形界面技术开发人机交互界面,交互界面分区设置,包含了站段、交路、边框、标题、图例、方案等信息,为用户提供这些参数的输入、修改、保存和读取操作,同时软件还会对参数进行分析,对错误的输入参数进行提示。为了方便用户交互,便于设计过程参数调整,用户界面根据输入参数提供预览功能,使参数更加直观。最终的机车交路CAD图形由这些输入参数所确定,整个过程用户无需手动绘图。

后台数据处理:本系统的核心模块,根据用户输入参数,在后台自动进行绘图数据的计算,包括输入参数分析、站段图形计算、交路形状计算、站段布局计算等,该模块定义了机车交路图的数据组织结构,包含了大量的几何代数算法,计算得到的数据用于预览图和CAD图的绘制。

CAD自动出图:根据用户输入参数和后台处理数据,软件调用CAD图形绘制模块,进行机车交路图的绘制,该模块又包含段所绘制模块、交路绘制模块以及其它元素绘制模块等。CAD图形绘制模块调用AutoCAD ActiveX绘图指令,使用匿名块命令绘制站段,使用直线、圆弧、圆角命令绘制交路,使用文字命令绘制标题、交路要素表等。使用CAD图形绘制模块自动生成机车交路图,省去手工绘制操作,提高了绘图效率。

文件存取:分为文本文件输出和文本文件读取,将用户输入参数进行保存,生成文本文件,并且能够读取文件,方便机车交路图的修改和重生成。

3 数据模型

3.1 数据结构

根据行业标准《铁路机务设备设计规范》规定,站段按其属性可分为若干类型,且《铁路工程制图图形符号标准》给出了其标准图例。

图3 软件功能模块划分图

采用集合结构组织站段参数数据,建立站段参数矩阵A=(a1, a2, a3, a4),其中

a1=站段编号;

a2=站段名称;

a3=站段类型;

a4=站段坐标点组合。

机车交路包含多种属性,根据机车运转方式,分为肩回交路、循环交路、半循环交路;根据乘务员驻班性质,分为驻班交路、立折交路;根据机车类型,分为内燃机车交路、电力机车交路等。

采用集合结构组织交路参数数据,建立交路参数矩阵B=(b1, b2, b3, b4, b5),其中

b1=交路编号;

b2=交路类型;

b3=交路途径站点;

b4=交路颜色;

b5=交路要素表。

其中,交路要素表为数据集合,包括机车类型、牵引吨数、交路里程、限制坡度、坐标等参数,在此不再赘述。

交路空间主要由站段、交路构成,此外还包括图例、图框、标题等元素,交路空间数据模型如下:

V=(A, B, C,…, R)

其中,R为交路空间集合中所有元素之间关系的有限集合,数据元素之间存在着一对一、一对多和多对多的关系,构成了交路空间的网状结构,如图4所示。

图4 数据结构

3.2 数据算法

(1)站段绘制算法

由上节可知,机务设备输入类型较多,不同类型图例各不相同,针对各类机务设备设计单独的绘制算法,调用不同的图形块,各算法之间呈并列关系,根据类型参数一一映射到绘制算法,完成机务设备的计算和绘制。算法具有线性的时间复杂度,针对相同的机务设备类型,算法只计算一次,节省了内存空间,具有较好的空间复杂度。站段算法流程图如图5所示。

图5 站段算法流程图

(2)交路绘制算法

交路形状的计算涉及到二维空间几何变换,如图6所示,交路的肩宽与长度成正比I,当机务设备A、B、C三点共线时,交路上任意一点D的坐标[x, y]T可由下式计算:

其中,λ为0~1的小数,若坐标系横轴不与交路中心线平行,可通过旋转矩阵R1将坐标系旋转至横轴与交路中心线平行,然后将由式(1)得到的交路坐标左乘旋转矩阵R1的逆矩阵即可,旋转矩阵R1由下式计算:

其中,α为交路中心线到坐标系横轴的夹角。

当A、B、C三点不共线时,可看作BC段绕B点进行了旋转,如图6所示。图中列出了3种BC段旋转不同角度的情况,AB段交路坐标仍由式(2)计算,BC’段交路坐标[x’,y’]T可由旋转变换获得:

其中,设BC’与BC之间的夹角为θ,则旋转矩阵R2为:

图6 机车交路示意图

最后,还需对折角处进行圆角处理,圆角半径为B点到交路线段的垂直距离。

当交路途径站点多于3个,后续交路区段计算原理与前面相同。

(3)空间布局算法

用户输入参数可以构成一幅完整的机车交路图,但出图通常采用标准图框,且为了保证图面整洁、布局良好,通常将图框区域按适当比例划分为若干个功能区,如图7所示,要将实际交路空间恰当地显示在图纸空间的绘图区上,则要经过多重映射。

采用包围盒算法算出实际交路空间的长度L和宽度H,绘图区的长度L’和宽度H’已分配,取L/L’和H/H’的较小值为缩放比例因子,实际交路空间中心与绘图区中心对应,以此进行空间映射。映射后实际交路空间坐标转变为AutoCAD图纸空间坐标,方便打印。

图7 坐标空间映射

4 结束语

机车交路图辅助绘图系统与AutoCAD紧密结合且采用简单易用的VBA语言开发,根据参数输入自动生成机车交路图,用户界面简洁易懂,操作方便,提高了机车交路图的绘图效率,满足机务部门的绘图需要,软件预置有数据库功能,经推广应用和深化开发可建立全国机车交路数据系统,进一步提高绘图效率。

[1] 叶利华. 机车交路系统的设计与实现[D]. 成都:西南交通大学,2005.

[2] 周智勇. 机车交路图辅助设计系统的研究[J]. 铁路计算机应用,2003(Z1):123-126.

[3] 李 鸣,倪智振. 基于MFC的机车交路图辅助设计系统研究[J]. 铁道标准设计,2013(8):133-136.

责任编辑 陈 蓉

Computer-aided Drawing System of locomotive routing map based on VBA

YANG Zhen, HUANG Xiaogang
( Department of Equipment Design and Research, China Railway SIYUAN Survey and Design Group CO.,LTD, Wuhan 430063, China )

Locomotive routing map was the base of railway organization. The common drawing operation now was based on AutoCAD. The eff i ciency and accuracy of this method were low. In order to improve the efficiency of locomotive routing mapping, a Computer-aided Drawing System with parameters input was developed by means of AutoCAD VBA.

locomotive servicing and maintenance; locomotive routing; Computer-aided Drawing System

U268∶TP39

A

1005-8451(2014)10-0004-04

2014-04-28

杨 震,助理工程师;黄小钢,教授级高级工程师 。

猜你喜欢

交路机务图例
基于大小交路套跑对地铁不均衡客流的可靠性分析
机务联系电路设计实例分析
基于FAHP的城市轨道交通混合交路运营研究
找拼图
现代培训理念在机务培训工作中的应用
犬狗的画法(六)
北疆蓝天里的驭“鹰”师——记北部战区空军航空兵某旅机务二中队机械师武明文
如何让学生巧用图例解决数学问题
可爱的小鸟
既有线运能释放及机车交路延长条件下编组站改编能力配置的优化