王先明 ,陈荣武,蔡哲扬
(西南交通大学 信息科学与技术学院,成都 610031)
城市轨道交通运行图自动生成的CAD实现
王先明 ,陈荣武,蔡哲扬
(西南交通大学 信息科学与技术学院,成都 610031)
基于城市轨道交通平行运行图自动生成平台,提出将生成的运行图导出成CAD脚本,通过CAD软件来显示运行图的方法。通过MFC编写软件,验证了这种方法的可行性。
列车运行图;自动生成;CAD脚本;MFC
列车运行图是用以表示列车在区间运行以及在车站到发或通过时刻的技术文件。它规定了各次列车占用区间的程序,列车在每个车站的到达和出发(或者通过)时刻,列车在区间的运行时间,列车在车站的停站时间以及列车交路、列车重量和长度等,是全路组织列车运行的基础。
本文根据实验室编写的具有通用性的运行图编辑软件生成的运行图,提出将其转换成CAD脚本语言,利用CAD软件自动出图的方法。
本文所讨论的城市轨道交通列车运行图编辑软件是利用给定的系统数据,包括车站数据、列车区间运行时分数据、线路数据以及用户输入的列车运行间隔、运营起止时间来计划列车运行线路,安排计划运行线路中列车运行车次和设置运行发车时间,来完成列车运行的计划安排,生成列车计划安排数据,并通过计划安排数据界面实现运行图的绘制。基本流程图如图1所示。
图1 运行图自动生成流程图
自动生成运行图的实现步骤主要有:
(1)得到用户提供的车站数据,区间运行数据、停站时分、站间距等线路基础数据。根据车站信息和站间距,完成对运行图底图的铺画。
(2)利用对话框,系统保存用户输入的全日行车计划以及交路信息。根据这些信息,先在每个时间段中,尽量等间隔地铺画满足该小时行车对数的上下行运行线。
(3)对列车进行虚拟连接,判断是否满足列车的折返约束条件,若不满足则对所有的运行线进行平移操作,然后重复(3);若满足条件则继续下一步。
(4)对所有的运行线进行折返连接。对在高低峰转换时出现的无法连接的车辆,作为车辆段的出库列车或入库列车处理。在进行出入库处理时需要考虑出入库方向及车辆段的容量问题。
(5)当选择的车辆段在运行线中间某处时,对列车进行出入库操作后,列车原本的运行线会被截断,因此会造成在某些车站不满足全日计划的行车对数要求,当不符合要求时,在初始布线时添加过渡,判断生成的运行图是否需要添加过渡,若需要则设定需要添加过渡的时间段及过渡等级,然后重复(2)~(5);若不需要则结束。
城市轨道交通列车运行图编辑软件利用Microsoft Visual C++6.0集成开发环境,是一个基于MFC的单文本应用程序。
根据列车号可以遍历所有列车,一辆列车的运行数据包括其经过的所有车站,每一个车站都包含相同的数据结构,MFC中定义的运行线数据结构和车站数据结构的程序如下:
typedef struct _SYS_LINE_DATA_
{
int index;//运行线编号
int dep; //起点站
int depPlat; //起点站台
int des; //终点站
int desPlat; //终点站台
L D S t a t i o n station[MAX_STAT ION_CNT];//车站数组
int stationCount; //车站数量
}SysLineData; //运行线数据结构
该数据结构用于CSysLineData的成员变量CList<SysLineData, SysLineData&> m_lineList
typedef struct _STATION_TIME_DATA_
{
int dep; //起点站
int depPlat; //起点站台int perf; //运行等级
int distance; //站间距离
long arrivetime; //到站时间
long departtime; //离站时间
int maoziflag; //折返标志
}StationTimeData; //车站数据结构
该数据结构用于CTTRunTimeData的成员变量CList<TTRunTimeData, TTRunTimeData&>m_runTimeList
大交路列车在线路两端车站进行折返,小交路列车在指定的车站进行折返。以成都地铁4号线为例,读取列车运行数据的流程图如图2所示。
图2 读取列车运行数据的流程图
导出的运行图数据和其在程序中的表示如表1所示。
表1 运行图数据和其在程序中的表示
导出的数据中车站名、站间距离、站间运行时分、停站时间用于在CAD中生成线路的基本信息表格,时间轴和车站轴则生成运行图的底图。
在运行图自动编辑软件代码的基础上添加ONCAD响应函数,在响应函数中编写以上所提需要导出的运行图数据代码。
由于CAD只识别CAD脚本文件,所以在读取数据并导出过程中要遵循CAD脚本格式命令,在导出部分的代码编写中,[F1]键将这些数据用CString类的变量自动导出到CAD的SCR脚本文件中。
在运行图编辑软件的工具栏中添加“CAD出图”菜单项,单击即可完成CAD脚本数据的导出过程,如图3所示。
图3 CAD出图
为了方便工程设计人员对运行图的后期编辑,导出部分的代码按照脚本格式命令,将大交路和小交路放置在不同的图层,大交路用红色显示,小交路用蓝色显示。并且列车可能出现大小交路混跑的形式,所以在大小交路交界点处将颜色分开显示。在折返盖帽时,为了便于识别,当没有折返重叠时都用大帽子显示,当有折返重叠时采用大小帽子交替显示。
在CAD界面中输入命令“scr”,在弹出的对话框中选择相应的脚本文件以打开脚本,CAD显示中最左边是线路的基本数据表,包括车站名、站间距离、区间运行时分、停站时间等数据。右边显示实际运行图,其中蓝色线条为小交路,红色线条为大交路,折返帽子用高低帽区别显示。在CAD中的显示效果如图4所示。
图4 CAD运行结果图
在基于具有一般通用性城市轨道交通运行图自动生成平台的基础上,将运行图的数据用CAD脚本命令的格式导出,并在CAD软件中实现运行图的自动铺画。此方法的实现,可以在很大程度上减轻编制运行图工作人员劳动强度。同时,列车的大小交路和折返帽子放置在了不同图层,并用不同颜色显示,为后期运行图的调整提供方便。
[1] 高强周. 城市轨道交通列车运行图设计实现与评价[D].北京:北京交通大学, 2008.
[2] 江志彬,徐瑞华,吴 强. 计算机编制城市轨道交通共线交路列车运行图[J]. 同济大学学报(自然科学版),2010,38(5): 692-696.
[3] 孙 鑫. VC++深入详解[M]. 北京:电子工业出版社,2012.
责任编辑 方 圆
Train diagram automatic generation by CAD for Urban Transit
WANG Xianming, CHEN Rongwu, CAI Zheyang
( School of Information Science and Technology, Southwest Jiaotong University, Chengdu 610031, China )
This paper proposed a method of creating a CAD script derived by a train diagram based on the platform of Urban Transit train diagram automatic generation. Using the AutoCAD software to display the train diagram. The validity of this design method was verif i ed by MFC.
train diagram; automatic generation; CAD script; MFC
U292.41∶TP39
A
1005-8451(2014)12-0043-03
2014-07-13
王先明 ,在读硕士研究生;陈荣武,高级工程师。