康 峰,韓 峰
(蘭州交通大學(xué) 土木工程學(xué)院,蘭州 730070)
基于VBA的道岔自動(dòng)配置軟件開(kāi)發(fā)方法研究
康 峰,韓 峰
(蘭州交通大學(xué) 土木工程學(xué)院,蘭州 730070)
本文基于VBA對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),研究道岔及岔后附帶曲線(xiàn)的坐標(biāo)計(jì)算方法,并設(shè)計(jì)程序可視化界面實(shí)現(xiàn)不同型號(hào)的道岔自動(dòng)配置要求,使得在岔心位置確定條件下,根據(jù)具體的道岔型號(hào)及線(xiàn)間距等因素,可以自動(dòng)準(zhǔn)確計(jì)算道岔各部位,岔后附帶曲線(xiàn)的位置信息并繪制道岔布置圖。
道岔;VBA;AutoCAD二次開(kāi)發(fā);岔后附帶曲線(xiàn)
道岔種類(lèi)多,結(jié)構(gòu)復(fù)雜,在使用中鋪設(shè)難度大,維修頻率高,是限制列車(chē)速度的重要因素之一[1],岔后附帶曲線(xiàn)的準(zhǔn)確配置與否直接影響行車(chē)安全和旅客舒適度,人員手工繪制道岔和岔后附帶曲線(xiàn)的操作方法非常復(fù)雜,精確度難以保證。目前,對(duì)道岔導(dǎo)軌曲線(xiàn)線(xiàn)型設(shè)計(jì)系統(tǒng)和參數(shù)化繪制道岔的開(kāi)發(fā)研究比較多[2~3],通過(guò)計(jì)算機(jī)語(yǔ)言自動(dòng)繪制了導(dǎo)曲線(xiàn)和道岔中心線(xiàn),提高了道岔繪制的效率和準(zhǔn)確性,但道岔繪制不完整,并且沒(méi)有配置岔后附帶曲線(xiàn)。本文基于VBA的AutoCAD二次開(kāi)發(fā)繪制道岔和岔后附帶曲線(xiàn)[4],采用最新道岔參數(shù)表[5],按照岔心位置自動(dòng)繪制任意型號(hào)的單開(kāi)道岔,并依據(jù)線(xiàn)間距和岔后附帶曲線(xiàn)半徑自動(dòng)繪制與道岔連接的岔后附帶曲線(xiàn),從而實(shí)現(xiàn)任意型號(hào)的道岔和不同岔后附帶曲線(xiàn)的自動(dòng)繪制,符合現(xiàn)代鐵路設(shè)計(jì)趨勢(shì)。
本文主要研究單開(kāi)道岔的繪制,單開(kāi)道岔主要由轉(zhuǎn)轍器、轍叉及護(hù)軌、連接部分和岔枕3大部分構(gòu)成,在繪制過(guò)程中要準(zhǔn)確把握各個(gè)部件的尺寸和位置。先選定岔心點(diǎn)a為一個(gè)基準(zhǔn)位置,通過(guò)岔心的橫坐標(biāo)和縱坐標(biāo),由道岔的幾何特征,逐步推算出其各個(gè)點(diǎn)的坐標(biāo),再根據(jù)VBA程序編寫(xiě)規(guī)則,編寫(xiě)繪圖命令。繪制過(guò)程中關(guān)鍵點(diǎn)和主要參數(shù)如圖1所示。
附帶曲線(xiàn)是指平行股道末端,緊接道岔側(cè)線(xiàn)之后的連接曲線(xiàn),選用一般岔后附帶曲線(xiàn)。附帶曲線(xiàn)在平面上與導(dǎo)曲線(xiàn)構(gòu)成兩個(gè)反向曲線(xiàn),它的方向、位置正確與否,直接影響列車(chē)通過(guò)側(cè)線(xiàn)的平穩(wěn)與安全,由岔心位置,兩條鐵路之間的線(xiàn)間距,道岔型號(hào),地理地形條件,確定出岔后附帶曲線(xiàn)半徑,從而可以計(jì)算出岔后附帶曲線(xiàn)上的關(guān)鍵點(diǎn),達(dá)到程序自動(dòng)繪制岔后附帶曲線(xiàn)的目的。主要參數(shù)如圖1所示。
由圓心角O1半徑R1得到曲線(xiàn)導(dǎo)軌切線(xiàn)長(zhǎng)T1為:
岔后附帶曲線(xiàn)切線(xiàn)長(zhǎng)T2可以由曲線(xiàn)半徑R2和道岔角α得:
圖1 道岔主要參數(shù)示意圖
尖軌和基本軌夾角β可以由軌距S、轍叉尖前直線(xiàn)段K、道岔角α、尖軌長(zhǎng)度l0得:
圓心角O1角度可由軌距S,轍叉尖前直線(xiàn)段K、道岔前長(zhǎng)a、轍叉跟長(zhǎng)m、道岔后長(zhǎng)b、尖軌尖端前基本軌長(zhǎng)q得:
圓心角O2角度可以由切線(xiàn)長(zhǎng)T2和岔后曲線(xiàn)半徑R2得:
(1)繪制目標(biāo)對(duì)象的幾何關(guān)系圖;(2)分析圖形的拓?fù)浣Y(jié)構(gòu)及幾何關(guān)系,確定所要輸入的參數(shù);(3)建立運(yùn)算數(shù)學(xué)模型,數(shù)據(jù)導(dǎo)入;(4)編程、調(diào)試、運(yùn)行程序,自動(dòng)化繪圖。
代碼編寫(xiě)過(guò)程中,首先定義各個(gè)點(diǎn)和主要參數(shù),再編寫(xiě)主要參數(shù)的計(jì)算過(guò)程,流程圖如圖2所示。
Dim cc As Variant
cc = ThisDrawing.Utility.GetPoint(, vbcrif & " 選擇岔心:") '選擇相對(duì)初始點(diǎn):
pa(0) = cc(0)
pa(1) = cc(1)
pa(2) = cc(2)
圖2 設(shè)計(jì)流程圖
Call ThisDrawing.ModelSpace.AddLine(pa, pb) '繪制ab直線(xiàn):
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
'繪制直線(xiàn)cd和圓弧dl
angpo1pl = ThisDrawing.Utility.AngleFrom-XAxis(po1, pl)
Call ThisDrawing.ModelSpace.AddArc(po1, R1, angpo1pd, angpo1pl)
可視化窗口的應(yīng)用可提高圖形繪制過(guò)程中的操作性,使得道岔繪制更簡(jiǎn)潔方便,以9號(hào)道岔專(zhuān)線(xiàn)4112為例,當(dāng)線(xiàn)間距是5 m時(shí),根據(jù)單開(kāi)道岔的主要參數(shù)設(shè)置如圖3所示窗口。并將岔心是原點(diǎn)時(shí)自動(dòng)繪制的9號(hào)道岔每5 m提取直股中心坐標(biāo)和側(cè)股中心坐標(biāo),得出程序繪圖結(jié)果如表1所示。
圖3 窗口示意圖
將繪制結(jié)果和有代表性案例作對(duì)比后發(fā)現(xiàn),成圖準(zhǔn)確,繪制的道岔完全符合相關(guān)部門(mén)最新道岔表的規(guī)定,并且可以準(zhǔn)確配置任意半徑的岔后附帶曲線(xiàn)。操作過(guò)程方便,系統(tǒng)穩(wěn)定,界面直觀(guān),能大大提高工程設(shè)計(jì)的效率,可以推廣使用,具有一定的價(jià)值。
[1]李成輝.軌道[M].成都:西南交通大學(xué)出版社,2012.
[2]曹 陽(yáng),王 平.道岔平面線(xiàn)形設(shè)計(jì)及繪制系統(tǒng)的研究與應(yīng)用[J]. 鐵道建筑,2010(11):23-27.
[3]曹 陽(yáng),王 平,趙衛(wèi)華.基于平面參數(shù)法的道岔線(xiàn)型設(shè)計(jì)研究[J]. 鐵道建筑,2011(2):101-103.
[4]程耀東,張麗萍,韓 進(jìn).計(jì)算機(jī)繪圖與二次開(kāi)發(fā)方法[M].蘭州:甘肅科學(xué)技術(shù)出版社,2009.
[5]鐵道第四勘測(cè)設(shè)計(jì)院.鐵路工程設(shè)計(jì)技術(shù)手冊(cè)[M].北京:中國(guó)鐵道出版社,2009.
責(zé)任編輯 徐侃春
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
蘭州交通大學(xué)自選課題(42014103)。
康 峰,在讀碩士研究生;韓 峰,副教授。