王先明 ,陳榮武,蔡哲揚
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031)
城市軌道交通運行圖自動生成的CAD實現(xiàn)
王先明 ,陳榮武,蔡哲揚
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031)
基于城市軌道交通平行運行圖自動生成平臺,提出將生成的運行圖導(dǎo)出成CAD腳本,通過CAD軟件來顯示運行圖的方法。通過MFC編寫軟件,驗證了這種方法的可行性。
列車運行圖;自動生成;CAD腳本;MFC
列車運行圖是用以表示列車在區(qū)間運行以及在車站到發(fā)或通過時刻的技術(shù)文件。它規(guī)定了各次列車占用區(qū)間的程序,列車在每個車站的到達(dá)和出發(fā)(或者通過)時刻,列車在區(qū)間的運行時間,列車在車站的停站時間以及列車交路、列車重量和長度等,是全路組織列車運行的基礎(chǔ)。
本文根據(jù)實驗室編寫的具有通用性的運行圖編輯軟件生成的運行圖,提出將其轉(zhuǎn)換成CAD腳本語言,利用CAD軟件自動出圖的方法。
本文所討論的城市軌道交通列車運行圖編輯軟件是利用給定的系統(tǒng)數(shù)據(jù),包括車站數(shù)據(jù)、列車區(qū)間運行時分?jǐn)?shù)據(jù)、線路數(shù)據(jù)以及用戶輸入的列車運行間隔、運營起止時間來計劃列車運行線路,安排計劃運行線路中列車運行車次和設(shè)置運行發(fā)車時間,來完成列車運行的計劃安排,生成列車計劃安排數(shù)據(jù),并通過計劃安排數(shù)據(jù)界面實現(xiàn)運行圖的繪制?;玖鞒虉D如圖1所示。
圖1 運行圖自動生成流程圖
自動生成運行圖的實現(xiàn)步驟主要有:
(1)得到用戶提供的車站數(shù)據(jù),區(qū)間運行數(shù)據(jù)、停站時分、站間距等線路基礎(chǔ)數(shù)據(jù)。根據(jù)車站信息和站間距,完成對運行圖底圖的鋪畫。
(2)利用對話框,系統(tǒng)保存用戶輸入的全日行車計劃以及交路信息。根據(jù)這些信息,先在每個時間段中,盡量等間隔地鋪畫滿足該小時行車對數(shù)的上下行運行線。
(3)對列車進(jìn)行虛擬連接,判斷是否滿足列車的折返約束條件,若不滿足則對所有的運行線進(jìn)行平移操作,然后重復(fù)(3);若滿足條件則繼續(xù)下一步。
(4)對所有的運行線進(jìn)行折返連接。對在高低峰轉(zhuǎn)換時出現(xiàn)的無法連接的車輛,作為車輛段的出庫列車或入庫列車處理。在進(jìn)行出入庫處理時需要考慮出入庫方向及車輛段的容量問題。
(5)當(dāng)選擇的車輛段在運行線中間某處時,對列車進(jìn)行出入庫操作后,列車原本的運行線會被截斷,因此會造成在某些車站不滿足全日計劃的行車對數(shù)要求,當(dāng)不符合要求時,在初始布線時添加過渡,判斷生成的運行圖是否需要添加過渡,若需要則設(shè)定需要添加過渡的時間段及過渡等級,然后重復(fù)(2)~(5);若不需要則結(jié)束。
城市軌道交通列車運行圖編輯軟件利用Microsoft Visual C++6.0集成開發(fā)環(huán)境,是一個基于MFC的單文本應(yīng)用程序。
根據(jù)列車號可以遍歷所有列車,一輛列車的運行數(shù)據(jù)包括其經(jīng)過的所有車站,每一個車站都包含相同的數(shù)據(jù)結(jié)構(gòu),MFC中定義的運行線數(shù)據(jù)結(jié)構(gòu)和車站數(shù)據(jù)結(jié)構(gòu)的程序如下:
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];//車站數(shù)組
int stationCount; //車站數(shù)量
}SysLineData; //運行線數(shù)據(jù)結(jié)構(gòu)
該數(shù)據(jù)結(jié)構(gòu)用于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; //折返標(biāo)志
}StationTimeData; //車站數(shù)據(jù)結(jié)構(gòu)
該數(shù)據(jù)結(jié)構(gòu)用于CTTRunTimeData的成員變量CList<TTRunTimeData, TTRunTimeData&>m_runTimeList
大交路列車在線路兩端車站進(jìn)行折返,小交路列車在指定的車站進(jìn)行折返。以成都地鐵4號線為例,讀取列車運行數(shù)據(jù)的流程圖如圖2所示。
圖2 讀取列車運行數(shù)據(jù)的流程圖
導(dǎo)出的運行圖數(shù)據(jù)和其在程序中的表示如表1所示。
表1 運行圖數(shù)據(jù)和其在程序中的表示
導(dǎo)出的數(shù)據(jù)中車站名、站間距離、站間運行時分、停站時間用于在CAD中生成線路的基本信息表格,時間軸和車站軸則生成運行圖的底圖。
在運行圖自動編輯軟件代碼的基礎(chǔ)上添加ONCAD響應(yīng)函數(shù),在響應(yīng)函數(shù)中編寫以上所提需要導(dǎo)出的運行圖數(shù)據(jù)代碼。
由于CAD只識別CAD腳本文件,所以在讀取數(shù)據(jù)并導(dǎo)出過程中要遵循CAD腳本格式命令,在導(dǎo)出部分的代碼編寫中,[F1]鍵將這些數(shù)據(jù)用CString類的變量自動導(dǎo)出到CAD的SCR腳本文件中。
在運行圖編輯軟件的工具欄中添加“CAD出圖”菜單項,單擊即可完成CAD腳本數(shù)據(jù)的導(dǎo)出過程,如圖3所示。
圖3 CAD出圖
為了方便工程設(shè)計人員對運行圖的后期編輯,導(dǎo)出部分的代碼按照腳本格式命令,將大交路和小交路放置在不同的圖層,大交路用紅色顯示,小交路用藍(lán)色顯示。并且列車可能出現(xiàn)大小交路混跑的形式,所以在大小交路交界點處將顏色分開顯示。在折返蓋帽時,為了便于識別,當(dāng)沒有折返重疊時都用大帽子顯示,當(dāng)有折返重疊時采用大小帽子交替顯示。
在CAD界面中輸入命令“scr”,在彈出的對話框中選擇相應(yīng)的腳本文件以打開腳本,CAD顯示中最左邊是線路的基本數(shù)據(jù)表,包括車站名、站間距離、區(qū)間運行時分、停站時間等數(shù)據(jù)。右邊顯示實際運行圖,其中藍(lán)色線條為小交路,紅色線條為大交路,折返帽子用高低帽區(qū)別顯示。在CAD中的顯示效果如圖4所示。
圖4 CAD運行結(jié)果圖
在基于具有一般通用性城市軌道交通運行圖自動生成平臺的基礎(chǔ)上,將運行圖的數(shù)據(jù)用CAD腳本命令的格式導(dǎo)出,并在CAD軟件中實現(xiàn)運行圖的自動鋪畫。此方法的實現(xiàn),可以在很大程度上減輕編制運行圖工作人員勞動強度。同時,列車的大小交路和折返帽子放置在了不同圖層,并用不同顏色顯示,為后期運行圖的調(diào)整提供方便。
[1] 高強周. 城市軌道交通列車運行圖設(shè)計實現(xiàn)與評價[D].北京:北京交通大學(xué), 2008.
[2] 江志彬,徐瑞華,吳 強. 計算機編制城市軌道交通共線交路列車運行圖[J]. 同濟(jì)大學(xué)學(xué)報(自然科學(xué)版),2010,38(5): 692-696.
[3] 孫 鑫. VC++深入詳解[M]. 北京:電子工業(yè)出版社,2012.
責(zé)任編輯 方 圓
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
王先明 ,在讀碩士研究生;陳榮武,高級工程師。