康 峰,韓 峰
(蘭州交通大學 土木工程學院,蘭州 730070)
基于VBA的道岔自動配置軟件開發(fā)方法研究
康 峰,韓 峰
(蘭州交通大學 土木工程學院,蘭州 730070)
本文基于VBA對AutoCAD進行二次開發(fā),研究道岔及岔后附帶曲線的坐標計算方法,并設計程序可視化界面實現不同型號的道岔自動配置要求,使得在岔心位置確定條件下,根據具體的道岔型號及線間距等因素,可以自動準確計算道岔各部位,岔后附帶曲線的位置信息并繪制道岔布置圖。
道岔;VBA;AutoCAD二次開發(fā);岔后附帶曲線
道岔種類多,結構復雜,在使用中鋪設難度大,維修頻率高,是限制列車速度的重要因素之一[1],岔后附帶曲線的準確配置與否直接影響行車安全和旅客舒適度,人員手工繪制道岔和岔后附帶曲線的操作方法非常復雜,精確度難以保證。目前,對道岔導軌曲線線型設計系統(tǒng)和參數化繪制道岔的開發(fā)研究比較多[2~3],通過計算機語言自動繪制了導曲線和道岔中心線,提高了道岔繪制的效率和準確性,但道岔繪制不完整,并且沒有配置岔后附帶曲線。本文基于VBA的AutoCAD二次開發(fā)繪制道岔和岔后附帶曲線[4],采用最新道岔參數表[5],按照岔心位置自動繪制任意型號的單開道岔,并依據線間距和岔后附帶曲線半徑自動繪制與道岔連接的岔后附帶曲線,從而實現任意型號的道岔和不同岔后附帶曲線的自動繪制,符合現代鐵路設計趨勢。
本文主要研究單開道岔的繪制,單開道岔主要由轉轍器、轍叉及護軌、連接部分和岔枕3大部分構成,在繪制過程中要準確把握各個部件的尺寸和位置。先選定岔心點a為一個基準位置,通過岔心的橫坐標和縱坐標,由道岔的幾何特征,逐步推算出其各個點的坐標,再根據VBA程序編寫規(guī)則,編寫繪圖命令。繪制過程中關鍵點和主要參數如圖1所示。
附帶曲線是指平行股道末端,緊接道岔側線之后的連接曲線,選用一般岔后附帶曲線。附帶曲線在平面上與導曲線構成兩個反向曲線,它的方向、位置正確與否,直接影響列車通過側線的平穩(wěn)與安全,由岔心位置,兩條鐵路之間的線間距,道岔型號,地理地形條件,確定出岔后附帶曲線半徑,從而可以計算出岔后附帶曲線上的關鍵點,達到程序自動繪制岔后附帶曲線的目的。主要參數如圖1所示。
由圓心角O1半徑R1得到曲線導軌切線長T1為:

岔后附帶曲線切線長T2可以由曲線半徑R2和道岔角α得:


圖1 道岔主要參數示意圖
尖軌和基本軌夾角β可以由軌距S、轍叉尖前直線段K、道岔角α、尖軌長度l0得:

圓心角O1角度可由軌距S,轍叉尖前直線段K、道岔前長a、轍叉跟長m、道岔后長b、尖軌尖端前基本軌長q得:

圓心角O2角度可以由切線長T2和岔后曲線半徑R2得:

(1)繪制目標對象的幾何關系圖;(2)分析圖形的拓撲結構及幾何關系,確定所要輸入的參數;(3)建立運算數學模型,數據導入;(4)編程、調試、運行程序,自動化繪圖。
代碼編寫過程中,首先定義各個點和主要參數,再編寫主要參數的計算過程,流程圖如圖2所示。
Dim cc As Variant
cc = ThisDrawing.Utility.GetPoint(, vbcrif & " 選擇岔心:") '選擇相對初始點:
pa(0) = cc(0)
pa(1) = cc(1)
pa(2) = cc(2)

圖2 設計流程圖
Call ThisDrawing.ModelSpace.AddLine(pa, pb) '繪制ab直線:
Dim beta, t1, t2, x1, y1, l, temp As Double
x1 = pa(0) + (hc - zcgc) - (zk + t1) * Cos(dcj)
y1 = pa(1) + (zk + t1) * Sin(dcj) - (gj / 2)
beta = Atn(yg / Sqr(jgc * jgc - yg * yg))
temp = 2 * (dcj - Atn(gj - zk * Sin(dcj) - jgc * Sin(beat)) / (qc + hc - zcgc - jq - jgc * Cos(beat) - zk * Cos(beat)))
t1 = R1 * (Sin(temp / 2) / Cos(temp / 2))
t2 = R2 * Cos((ppi - dcj) / 2) / Sin((ppi - dcj) / 2)
chzx = xjj / Sin(dcj) - t2
'po1到pd的角度
angpo1pd = ThisDrawing.Utility.AngleFrom-XAxis(po1, pd)
'po1到pl的角度
angpo1pl = ThisDrawing.Utility.AngleFrom-XAxis(po1, pl)
'算出pcpj1pe的角度
angjj1 = ppi * 2 - angpj1pd + angpj1pl
'繪制直線cd和圓弧dl
angpo1pl = ThisDrawing.Utility.AngleFrom-XAxis(po1, pl)
Call ThisDrawing.ModelSpace.AddArc(po1, R1, angpo1pd, angpo1pl)
可視化窗口的應用可提高圖形繪制過程中的操作性,使得道岔繪制更簡潔方便,以9號道岔專線4112為例,當線間距是5 m時,根據單開道岔的主要參數設置如圖3所示窗口。并將岔心是原點時自動繪制的9號道岔每5 m提取直股中心坐標和側股中心坐標,得出程序繪圖結果如表1所示。

圖3 窗口示意圖
將繪制結果和有代表性案例作對比后發(fā)現,成圖準確,繪制的道岔完全符合相關部門最新道岔表的規(guī)定,并且可以準確配置任意半徑的岔后附帶曲線。操作過程方便,系統(tǒng)穩(wěn)定,界面直觀,能大大提高工程設計的效率,可以推廣使用,具有一定的價值。
[1]李成輝.軌道[M].成都:西南交通大學出版社,2012.
[2]曹 陽,王 平.道岔平面線形設計及繪制系統(tǒng)的研究與應用[J]. 鐵道建筑,2010(11):23-27.
[3]曹 陽,王 平,趙衛(wèi)華.基于平面參數法的道岔線型設計研究[J]. 鐵道建筑,2011(2):101-103.
[4]程耀東,張麗萍,韓 進.計算機繪圖與二次開發(fā)方法[M].蘭州:甘肅科學技術出版社,2009.
[5]鐵道第四勘測設計院.鐵路工程設計技術手冊[M].北京:中國鐵道出版社,2009.
責任編輯 徐侃春
Railway turnout automatic conf i guration software through VBA
KANG Feng, HAN Feng
( School of Civil Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China )
This thesis was based on the re-development of AutoCAD via VBA, studied on the coordinate calculation method of turnout and the turnout curve. Visual interface was designed to achieve automatic conf i guration of different types of turnouts. When the center position of the fork was under the conditions, it could be ensured the accurate calculation of the various parts depending on the type of the turnout and other factors, especially the turnout bifurcated incidental information and position of the curve plotted turnout layout.
turnout; VBA; re-development of AutoCAD; connecting curve behind turnout
U213.8∶TP39
A
1005-8451(2015)07-0005-03
2014-12-06
蘭州交通大學自選課題(42014103)。
康 峰,在讀碩士研究生;韓 峰,副教授。