王煥棟,李海鷹,苗建瑞,從景帥
(1.北京交通大學(xué)軌道交通控制與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100044;2.北京交通大學(xué)交通運(yùn)輸學(xué)院,北京 100044)
鐵路站場(chǎng)平面輔助設(shè)計(jì)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
王煥棟1,2,李海鷹1,苗建瑞1,從景帥1,2
(1.北京交通大學(xué)軌道交通控制與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100044;2.北京交通大學(xué)交通運(yùn)輸學(xué)院,北京 100044)
針對(duì)現(xiàn)有的鐵路站場(chǎng)平面輔助設(shè)計(jì)系統(tǒng)存在的道岔與線路、道岔與道岔間配列操作復(fù)雜等問(wèn)題以及相關(guān)計(jì)算、統(tǒng)計(jì)和輸出等需要,使用Visual Studio 2008(C++)、ObjectARX 2010和Access 2010組合,開(kāi)發(fā)鐵路站場(chǎng)平面輔助設(shè)計(jì)系統(tǒng)。系統(tǒng)充分利用AutoCAD現(xiàn)有的命令和交互方式,實(shí)現(xiàn)了線路、各類(lèi)道岔自動(dòng)配列連接,警沖標(biāo)、信號(hào)機(jī)的自動(dòng)插入,設(shè)備坐標(biāo)、線路有效長(zhǎng)的計(jì)算、統(tǒng)計(jì)、輸出,圖幅、標(biāo)題欄的自動(dòng)生成,主要實(shí)體屬性右鍵菜單更改等功能。介紹系統(tǒng)的功能模塊組織,分析鐵路站場(chǎng)平面基本設(shè)備圖元以及實(shí)體抽象,詳細(xì)闡述系統(tǒng)關(guān)鍵功能的設(shè)計(jì)。系統(tǒng)已經(jīng)在《鐵路站場(chǎng)及樞紐》課程的車(chē)站設(shè)計(jì)綜合實(shí)驗(yàn)中得以應(yīng)用。
鐵路站場(chǎng);平面設(shè)計(jì);自動(dòng)配列;AutoCAD;ObjectARX
AutoCAD在鐵路站場(chǎng)設(shè)計(jì)方面已得到廣泛普及和應(yīng)用,是縮短設(shè)計(jì)周期、實(shí)現(xiàn)站場(chǎng)設(shè)計(jì)標(biāo)準(zhǔn)化的重要手段[1],但是因其功能具有普適性不能很好地滿足用戶的特定需求,這就需要對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā)[2,3]。
目前已有許多針對(duì)鐵路站場(chǎng)、線路的輔助設(shè)計(jì)系統(tǒng),在線路[4,5]、中間站[6]、區(qū)段站設(shè)計(jì),站場(chǎng)路基橫縱斷面設(shè)計(jì)[7]等方面分擔(dān)了站場(chǎng)圖繪制的大部分工作量,提高了設(shè)計(jì)效率。鐵三院的RSD系統(tǒng)立足于站場(chǎng)專(zhuān)業(yè)設(shè)計(jì)人員自行開(kāi)發(fā),一體化方面的功能考慮較為全面,實(shí)現(xiàn)了計(jì)算機(jī)繪圖和自動(dòng)計(jì)算統(tǒng)計(jì)的功能[8];鐵四院的CASD系統(tǒng)為站場(chǎng)設(shè)計(jì)人員提供了站場(chǎng)平面、縱斷面、工程數(shù)量計(jì)算、橫斷面設(shè)計(jì)、站場(chǎng)設(shè)計(jì)規(guī)范等方面的支持[9]。已有的系統(tǒng)大多面向?qū)I(yè)的設(shè)計(jì)人員,在線路與道岔、道岔與道岔間配列的自動(dòng)連接上考慮較少,即便采用交互的設(shè)計(jì)方式,操作也比較繁瑣[10-12]?;诖诵枨?開(kāi)發(fā)了鐵路站場(chǎng)平面計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng),實(shí)現(xiàn)了各類(lèi)線路、道岔的自動(dòng)配列連接,警沖標(biāo)、信號(hào)機(jī)自動(dòng)計(jì)算相對(duì)位置后插入,坐標(biāo)和線路有效長(zhǎng)的計(jì)算輸出,設(shè)備統(tǒng)計(jì)輸出等功能。選用ObjectARX 2010作為開(kāi)發(fā)工具,它能與AutoCAD共享地址空間,可直接訪問(wèn)AutoCAD數(shù)據(jù)庫(kù)的核心數(shù)據(jù)結(jié)構(gòu)。本文分析了系統(tǒng)的功能模塊組織,抽象了鐵路站場(chǎng)平面設(shè)計(jì)中的基本設(shè)備圖元,闡述了系統(tǒng)主要功能的設(shè)計(jì)思路,并以咽喉區(qū)設(shè)計(jì)實(shí)例驗(yàn)證了系統(tǒng)的適用性。
系統(tǒng)以兩類(lèi)功能模塊來(lái)組織:DB(實(shí)體對(duì)象工程)和UI(實(shí)體參數(shù)獲取工程)。DB包含所有實(shí)體的繪圖函數(shù)組,實(shí)現(xiàn)圖形的繪制、顯示、整體編輯和存儲(chǔ)的功能;UI包含用戶界面,供用戶輸入關(guān)鍵點(diǎn)和控制點(diǎn)坐標(biāo),并且還包含數(shù)據(jù)庫(kù)輸入函數(shù),用于存儲(chǔ)設(shè)計(jì)信息;命令組實(shí)現(xiàn)界面調(diào)用、關(guān)鍵點(diǎn)和控制點(diǎn)坐標(biāo)傳輸?shù)墓δ?設(shè)備信息通過(guò)數(shù)據(jù)庫(kù)函數(shù)記錄到文件數(shù)據(jù)庫(kù)中;UI通過(guò)函數(shù)調(diào)用DB中不同的實(shí)體對(duì)象,把圖形添加到數(shù)據(jù)庫(kù)中,從而在繪圖空間中顯示。功能模塊組織如圖1所示。
圖1 功能模塊組織
劃分系統(tǒng)功能模塊后,要進(jìn)行實(shí)體抽象。以鐵路區(qū)段站為例,站場(chǎng)平面設(shè)計(jì)包含的主要設(shè)備圖元如下。
(1)線路。含直線線路和曲線線路,按照線路用途和歸屬可分為:正線、站線、段管線、岔線和特別用途線。
(2)線路連接。線路連接主要包括道岔、線路終端連接。道岔主要包括普通單開(kāi)道岔、對(duì)稱道岔、三開(kāi)道岔、交分道岔、單渡線和交叉渡線。線路終端連接主要包括普通式曲線連接和縮短式曲線連接。
(3)信號(hào)機(jī)和警沖標(biāo)。
(4)標(biāo)注。主要包括進(jìn)路、曲線、坐標(biāo)標(biāo)注,線路、道岔編號(hào)等。
以站場(chǎng)設(shè)計(jì)中的主要設(shè)備圖元為參考,抽象出系統(tǒng)要定義的基本實(shí)體。渡線和交叉渡線等中都包含單開(kāi)道岔,所以把單開(kāi)道岔作為一個(gè)實(shí)體,交分道岔構(gòu)成與單開(kāi)道岔不同,作為一個(gè)實(shí)體;線路作為一個(gè)實(shí)體,保證主要站線的繪制、道岔以及其他設(shè)備的連接;信號(hào)機(jī)、警沖標(biāo)、駝峰、貨場(chǎng)、牽出線和車(chē)檔都有固定構(gòu)成,分別作為一個(gè)實(shí)體;曲線標(biāo)注可以隨曲線直接生成,為便于整體修改也單獨(dú)設(shè)置一個(gè)實(shí)體。實(shí)體的設(shè)置要保證內(nèi)部構(gòu)成的合理性、實(shí)體間連接的方便性,保證實(shí)體能夠涵蓋所有站場(chǎng)設(shè)備;有些設(shè)備圖元是由多個(gè)基本實(shí)體構(gòu)成,編輯的是整體卻需要識(shí)別其基本實(shí)體構(gòu)成,例如單渡線和交叉渡線,系統(tǒng)把這類(lèi)設(shè)備定義為塊;為了體現(xiàn)不同站場(chǎng)設(shè)備的固有性質(zhì),系統(tǒng)給實(shí)體賦予其特定的屬性,實(shí)體根據(jù)其屬性和編輯過(guò)程的不同進(jìn)行分層管理,方便用戶查看和編輯。表1列出了幾個(gè)主要實(shí)體的屬性,表2是系統(tǒng)設(shè)計(jì)的圖層及其包含的主要設(shè)備。
表1 主要實(shí)體屬性
表2 圖層及其所包含的主要設(shè)備
3.1 道岔及其配列方式
系統(tǒng)實(shí)現(xiàn)了線路與道岔配列的自動(dòng)連接。以單開(kāi)道岔為基礎(chǔ),通過(guò)交互的方式配置道岔間、道岔與線路間連接關(guān)系和道岔參數(shù)來(lái)完成道岔的自動(dòng)配列連接。如圖2所示,分為以下幾步來(lái)進(jìn)行。
圖2 道岔配列形式的繪制
(1)確定要關(guān)聯(lián)的道岔和道岔基線。選擇已有的道岔switch1基線上的一點(diǎn)或者側(cè)線的一點(diǎn)作為參考;系統(tǒng)根據(jù)用戶點(diǎn)選的位置確定道岔配列的基線。主要應(yīng)用的ObjectARX類(lèi)庫(kù)函數(shù)如下:
acedEntSel(str,ent,firpt);//提供給用戶交互界面來(lái)選擇對(duì)象
acdbGetObjectId(switchid,ent);//得到用戶選擇的實(shí)體
acdbOpenObject(pEnt,switchid,AcDb:: kForRead);//讀取用戶選擇的實(shí)體對(duì)象
if(pEnt->isKindOf(CDBSwitch::desc()))//判斷用戶選擇的實(shí)體是否是道岔
(2)確定道岔開(kāi)口方向。選擇第二點(diǎn)Ptsec,那么系統(tǒng)根據(jù)這兩個(gè)點(diǎn)的位置自動(dòng)判斷道岔的開(kāi)向?yàn)閟witch2的形式。
(3)確定道岔配列關(guān)聯(lián)位置。選擇道岔配列的連接位置Ptb,則switch2是在switch1的右側(cè)位置連接。
(4)確定配列道岔參數(shù)。完成前三步后,系統(tǒng)彈出對(duì)話框,用戶輸入相關(guān)道岔的轍叉號(hào)碼以及道岔間短軌長(zhǎng)度,點(diǎn)擊確定后,把生成的道岔加入到數(shù)據(jù)庫(kù)中(pBlockTableRecord->appendAcDbEntity(entId, pEnt)),完成道岔配列。
3.2 塊的創(chuàng)建和識(shí)別
把多個(gè)實(shí)體創(chuàng)建為塊可以方便用戶對(duì)整體進(jìn)行編輯,防止改變單一實(shí)體屬性造成配列的混亂。系統(tǒng)設(shè)計(jì)的塊主要有單渡線、交叉渡線以及交分道岔和單開(kāi)道岔構(gòu)成的復(fù)雜渡線。系統(tǒng)在直接創(chuàng)建塊的基礎(chǔ)上提供了間接的方式,把既有的單開(kāi)道岔編輯為塊。以創(chuàng)建交叉渡線為例,通過(guò)點(diǎn)選既有的單開(kāi)道岔和一條跟所選道岔基線平行的線路就可以完成交叉渡線參數(shù)的獲取,完成交叉渡線塊的創(chuàng)建后系統(tǒng)自動(dòng)從數(shù)據(jù)庫(kù)中刪除已選的道岔。
為了道岔配列過(guò)程中對(duì)塊中單個(gè)實(shí)體的選擇,便于設(shè)備統(tǒng)計(jì)、坐標(biāo)計(jì)算,系統(tǒng)在設(shè)計(jì)過(guò)程中增加了對(duì)塊中單個(gè)實(shí)體的識(shí)別。以交叉渡線為例(圖3),如果用戶要選擇交叉渡線中的某個(gè)道岔,用戶只需在交叉渡線塊中點(diǎn)擊想要選擇的道岔所在的位置(圖3所示switch1),系統(tǒng)利用acedEntSel函數(shù)識(shí)別到交叉渡線塊,通過(guò)創(chuàng)建遍歷器遍歷塊中的每一個(gè)道岔實(shí)體,再利用道岔實(shí)體的指針得到所選道岔的4個(gè)關(guān)鍵點(diǎn),分別計(jì)算用戶選擇的點(diǎn)到各個(gè)道岔關(guān)鍵點(diǎn)的位置,選擇距離最小的點(diǎn),將其所在道岔作為用戶所選的道岔。
圖3 交叉渡線塊的識(shí)別示意
關(guān)鍵代碼如下:
if(pentity->isKindOf(AcDbBlockReference::desc ()))//判斷選擇的實(shí)體是否是塊對(duì)象
{AcDbBlockReference*pbrer= (AcDbBlockReference*)pentity;//轉(zhuǎn)化為塊實(shí)體指針
AcDbObjectId entityid=pbrer->blockTableRecord ();//得到塊的ID
AcDbBlockTableRecord*pbtrecord;
acdbOpenObject(pbtrecord,entityid, kForRead);//以只讀的方式打開(kāi)該塊
AcDbBlockTableRecordIterator*pblockiter;
pbtrecord->newIterator(pblockiter);//創(chuàng)建遍歷器
pbtrecord->close();//關(guān)閉塊表記錄
pbrer->close();//關(guān)閉塊指針
pentity->close();//關(guān)閉實(shí)體指針
for(;!pblockiter->done();pblockiter->step ())//遍歷塊中的每一個(gè)實(shí)體
{AcDbEntity*pzientity=NULL;
pblockiter->getEntity(pzientity,AcDb::kFor-Read);
if(pzientity->isKindOf(CDBSwitch::desc()))
{pzientity->close();}//關(guān)閉實(shí)體指針}}
3.3 對(duì)AutoCAD固有命令的封裝
AutoCAD固有命令有很好的交互界面,在鐵路站場(chǎng)平面設(shè)計(jì)中,自定義實(shí)體如線路、終端連接等操作涉及到屬性的添加,這些命令不能直接使用。為了能夠更好地利用AutoCAD本身的交互界面,本系統(tǒng)提出了另外一種解決方案:封裝AutoCAD既有的命令,保留命令外部傳遞實(shí)體、點(diǎn)和字符串等參數(shù)的接口,這樣只需傳遞參數(shù)就可以實(shí)現(xiàn)特定功能,減少開(kāi)發(fā)工作量的同時(shí)還可保證命令的高效可靠。
以線路終端連接為例,系統(tǒng)采用封裝fillet命令的方法實(shí)現(xiàn)。如圖4所示,首先,利用交互函數(shù)acedEntSel提示用戶選擇連接對(duì)象一,完成選擇后繼續(xù)提示用戶選擇對(duì)象二,如果用戶選擇的是道岔對(duì)象,系統(tǒng)會(huì)根據(jù)用戶所選的位置判斷道岔的基線或者側(cè)線連接并生成一條輔助直線,根據(jù)直線對(duì)象的指針得到其名稱;然后,提示用戶輸入連接曲線的半徑,成功輸入后把曲線半徑、兩直線對(duì)象的名稱和兩直線對(duì)象上的任意兩點(diǎn)傳遞給調(diào)用fillet命令的acedCommand函數(shù),fillet命令會(huì)自動(dòng)延伸兩條直線并生成曲線,這時(shí)改變?cè)休o助直線的端點(diǎn),作為連接直線既可以完成終端連接的繪制并保證沒(méi)有多余直線產(chǎn)生。調(diào)用fillet的關(guān)鍵代碼如下。
acedCommand(RTSTR,_T("FILLET"),RTSTR,_ T("R"),RTREAL,cur1.banjing,0);//第一步首先把半徑傳遞給fillet
acedCommand(RTSTR,_T("FILLET"),RTLB, RTENAME,first,RTPOINT,p1,RTLE,RTLB, RTENAME,last,RTPOINT,p2,RTLE,0);//第二步傳遞兩直線對(duì)象以及兩直線對(duì)象上的任意兩點(diǎn)
圖4 終端連接操作過(guò)程
3.4 線路有效長(zhǎng)的計(jì)算和導(dǎo)出
系統(tǒng)采用用戶點(diǎn)選有效長(zhǎng)參考元素的方式自動(dòng)計(jì)算線路有效長(zhǎng)。首先,用戶繪制一條直線與所有要計(jì)算有效長(zhǎng)的線路相交,然后會(huì)彈出對(duì)話框界面,提示用戶輸入線路標(biāo)準(zhǔn)有效長(zhǎng);然后,到第二個(gè)對(duì)話框界面(圖5),逐個(gè)到設(shè)計(jì)圖中選取該線路有效長(zhǎng)控制點(diǎn)參考設(shè)備,同一條線路的上下行全部選擇完畢后,系統(tǒng)自動(dòng)轉(zhuǎn)到下一條線路繼續(xù)選擇控制點(diǎn)坐標(biāo),選擇的坐標(biāo)會(huì)顯示在listctrl控件中;選擇完畢后,點(diǎn)擊計(jì)算有效長(zhǎng),在界面中可看到各條線路的有效長(zhǎng)計(jì)算結(jié)果,可以在自動(dòng)導(dǎo)出的數(shù)據(jù)庫(kù)表中查看有效長(zhǎng)的計(jì)算結(jié)果。
圖5 有效長(zhǎng)計(jì)算界面
完成有效長(zhǎng)計(jì)算后,系統(tǒng)可將計(jì)算結(jié)果以表格的形式導(dǎo)出,然后系統(tǒng)可以自動(dòng)移動(dòng)設(shè)備以滿足線路標(biāo)準(zhǔn)有效長(zhǎng)的要求,關(guān)鍵代碼如下。
AcGeMatrix3d mat;
mat.setToTranslation(AcGeVector3d vec);//構(gòu)建變換矩陣
acdbOpenObject(AcDbEntity pEnt,AcDbObjectId entId
AcDb::kForWrite);//打開(kāi)要移動(dòng)的實(shí)體
pEnt->transformBy(mat);//進(jìn)行實(shí)體移動(dòng)
3.5 實(shí)體屬性的交互更改
對(duì)于道岔線路等實(shí)體,系統(tǒng)提供了屬性更改的功能,采取在右鍵菜單中添加更改選項(xiàng)的方式。用戶首先選擇要更改其屬性的實(shí)體,系統(tǒng)獲取用戶點(diǎn)選的實(shí)體參數(shù);然后用戶點(diǎn)擊右鍵選擇“實(shí)體屬性更改”菜單項(xiàng),實(shí)體屬性通過(guò)對(duì)話框的方式顯示并可編輯,用戶通過(guò)更改屬性可以對(duì)已經(jīng)添加的到數(shù)據(jù)庫(kù)中的實(shí)體進(jìn)行屬性的更改并覆蓋既有的實(shí)體。以單開(kāi)道岔為例,屬性修改的關(guān)鍵代碼如下。
acdbOpenAcDbEntity(AcDbEntitypEnt, AcDbObjectId entid,AcDb::kForWrite);//打開(kāi)要修改屬性的實(shí)體
CDBSwitch*pSwich1=(CDBSwitch*)pEnt;//把實(shí)體轉(zhuǎn)化為道岔類(lèi)型
pSwich1->assertWriteEnabled();//使道岔對(duì)象可寫(xiě)
pSwich1->m_db_size=dlg.m_size;//修改道岔型號(hào)
pSwich1->close();//關(guān)閉道岔對(duì)象
系統(tǒng)實(shí)現(xiàn)了線路、各類(lèi)道岔自動(dòng)配列連接,警沖標(biāo)、信號(hào)機(jī)的自動(dòng)插入,坐標(biāo)、線路有效長(zhǎng)的計(jì)算,設(shè)備統(tǒng)計(jì),圖幅、標(biāo)題欄的自動(dòng)生成,表格、圖形輸出,線路、道岔屬性的右鍵菜單更改等主要功能。操作流程如圖6所示。
圖6 系統(tǒng)運(yùn)行流程
系統(tǒng)編程實(shí)現(xiàn)后繪制的區(qū)段站比例尺圖如圖7所示,該圖只截取了右端咽喉的部分。
圖7 區(qū)段站咽喉比例尺
針對(duì)鐵路站場(chǎng)平面設(shè)計(jì)的需求,基于ObjectARX開(kāi)發(fā)了鐵路站場(chǎng)平面計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)。系統(tǒng)操作簡(jiǎn)單易于上手,經(jīng)過(guò)試用后效果明顯,能夠很好地滿足需求,減少了用戶計(jì)算的工作量。系統(tǒng)的應(yīng)用范圍較為廣泛,既適用于鐵路區(qū)段站、編組站等復(fù)雜車(chē)站,也適用于中間站等簡(jiǎn)單車(chē)站。但是,由于站場(chǎng)圖形的復(fù)雜性以及用戶操作水平的多層次性導(dǎo)致系統(tǒng)的自動(dòng)化繪制實(shí)現(xiàn)難度較大,后續(xù)的研究可以從設(shè)備之間的連接關(guān)系入手,豐富實(shí)體的屬性和關(guān)聯(lián)關(guān)系,為自動(dòng)化設(shè)計(jì)的實(shí)現(xiàn)提供可能;另外系統(tǒng)可以針對(duì)縱斷面的設(shè)計(jì)進(jìn)行深層次的開(kāi)發(fā)以滿足多樣化的需求。
[1] 張曉露,陳永生,郭玉臣.基于ObjectARX和ADO.NE的列車(chē)線路圖計(jì)算機(jī)輔助設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2009(29):149-151.
[2] 董玉德,趙韓.CAD二次開(kāi)發(fā)理論與技術(shù)[M].合肥:合肥工業(yè)大學(xué)出版社,2009.
[3] 何亮.基于ObjectARX的CAD系統(tǒng)開(kāi)發(fā)若干關(guān)鍵技術(shù)的研究[D].合肥:合肥工業(yè)大學(xué),2008.
[4] 王玉澤.新建鐵路線路計(jì)算機(jī)輔助設(shè)計(jì)研究與開(kāi)發(fā)[J].鐵道工程學(xué)報(bào),2008(7):14-16.
[5] 徐斐.基于VC++和ObjectARX的選線系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].蘭州交通大學(xué)學(xué)報(bào),2010,29(4):53-57.
[6] 黃偉敏,張金蒼.鐵路中間站平面輔助設(shè)計(jì)系統(tǒng)研究[J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2013(2):19-21.
[7] 劉小龍,程耀東.基于ObjectARX的鐵路縱斷面自動(dòng)出圖系統(tǒng)的研究[J].鐵路計(jì)算機(jī)應(yīng)用,2009,18(1):9-11.
[8] 王立強(qiáng).鐵路站場(chǎng)設(shè)計(jì)集成系統(tǒng)的開(kāi)發(fā)研究[J].鐵道運(yùn)輸與經(jīng)濟(jì),2004,27(4):60-62.
[9] 黃登.鐵路站場(chǎng)計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)CASD[J].科技創(chuàng)業(yè)月刊, 2006,19(8):180-181.
[10]李雪婷.鐵路站場(chǎng)計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)的研究[D].成都:西南交通大學(xué),2004.
[11]任南杰.鐵路站場(chǎng)平面圖計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)的研究與開(kāi)發(fā)[D].成都:西南交通大學(xué),2011.
[12]羅法水.鐵路站場(chǎng)平面一體化應(yīng)用的研究及開(kāi)發(fā)[J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2005(6):18-21.
Design and Development of Aided Plane Design System for Railway Station
WANG Huan-dong1,2,LI Hai-ying1,MIAO Jian-rui1,CONG Jing-shuai1,2
(1.State Key Laboratory of Rail Traffic Control and Safety,Beijing Jiaotong University,Beijing 100044,China; 2.School of Traffic and Transportation,Beijing Jiaotong University,Beijing 100044,China)
In view of such problems as the complexity of operation in the connection of switch with track, switch with switch designed by the current aided plane design system for railway station,and the need for relative calculation,statistics and outputting,a new aided plane system is developed for railway station with the combination of Visual Studio 2008(C++),Object ARX 2010 and Access 2010.The system makes full use of the existing commands and interactive modes of the existing AutoCAD and fulfills the functions of automatic connection of switches and tracks,automatic inserting of fouling post and signal, calculation,statistics and outputting of device coordinate and effective track length,automatic creation of the sheet and title bar,attribution changing of the main entities,and so on.This paper addresses the function module organization of the system,analyses railway station plane device pixel and entity abstraction and elaborates on the design of key system functions.The system has been put into use in the station design assigned in the teaching course of Railway Stations and Terminals.
Railway station;Plane design;Automatic connection;AutoCAD;ObjectARX
U291.1
A
10.13238/j.issn.1004-2954.2014.12.013
1004-2954(2014)12-0051-05
2014-08-27;
2014-09-04
軌道交通控制與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室自主課題(編號(hào): RCS2012ZZ002)
王煥棟(1990—),男,碩士研究生,E-mail:sandiago2008@ 163.com。