基于AutoCAD的鐵路站場平面圖繪制系統(tǒng)的設(shè)計與實(shí)現(xiàn)
在鐵路線路設(shè)計及鐵路基礎(chǔ)設(shè)施建設(shè)與改造中,鐵路站場平面圖具有十分重要的作用。針對目前站場平面圖繪制效率低、格式不規(guī)范等特點(diǎn),利用Visual C#編程語言對AutoCAD 進(jìn)行二次開發(fā),設(shè)計并開發(fā)了鐵路站場平面圖繪制系統(tǒng),實(shí)現(xiàn)了自動制圖與人機(jī)交互制圖。制圖系統(tǒng)界面簡潔、操作簡便,為用戶提供了一種快速繪制站場平面圖的途徑。
引言
線路站場設(shè)計是鐵路線路設(shè)計的基本任務(wù)。線路站場設(shè)計中,主要設(shè)計圖有站場平面圖、線路縱斷面圖、線路橫斷面圖等,主要是站場平面圖。與一般地圖相比,鐵路站場平面圖具有精細(xì)、突出表示地物設(shè)施等特點(diǎn)。目前的繪圖軟件不能高效地進(jìn)行鐵路站場平面圖的繪制,因此設(shè)計一款高效、簡潔的站場平面圖制圖軟件十分必要。
傳統(tǒng)的AutoCAD 二次開發(fā)技術(shù)通常是設(shè)計AutoCAD 腳本文件,并將腳本文件以插件的形式加載至AutoCAD 工具欄,從而使AutoCAD 具備適用于特定項(xiàng)目的制圖功能,但該技術(shù)通常無法實(shí)現(xiàn)自動制圖,因此不能從根本上提高鐵路站場平面圖的制圖效率。Visual C#語言對AutoCAD 進(jìn)行二次開發(fā),具有獨(dú)特的優(yōu)勢,可實(shí)現(xiàn)大量數(shù)據(jù)的自動制圖,并提供標(biāo)準(zhǔn)、統(tǒng)一的地物符號,相對于手動制圖而言,極大地縮短了制圖時間。
1、系統(tǒng)設(shè)計思路
C#是一種安全、穩(wěn)定、簡單的面向?qū)ο蟮木幊陶Z言,綜合了VB 簡單的可視化操作和C + + 的高運(yùn)行效率。正是由于這些優(yōu)勢,本文采用C#編程語言對AutoCAD 進(jìn)行二次開發(fā),開發(fā)設(shè)計了鐵路站場平面圖繪制系統(tǒng)。
要實(shí)現(xiàn)C#對AutoCAD 的二次開發(fā),需要在C#項(xiàng)目中添加AutoCAD 的引用: AutoCAD 2007 Type Library 和AutoCAD/ObjectDBX Common 17. 0 Type Library。人機(jī)交互操作時,Microsoft. VisualBasic.Interaction. AppActivate ( AcadApp. Caption ) ; 是使AutoCAD 對象置于最前的函數(shù),要調(diào)用該函數(shù)還需添加引用Microsoft. VisualBasic. NET。制圖程序界面與AutoCAD 界面相互獨(dú)立,兩者之間通過ActiveX 技術(shù)進(jìn)行通信,實(shí)現(xiàn)制圖程序?qū)utoCAD 的控制與調(diào)用。兩者間的通信技術(shù)是C#對AutoCAD 二次開發(fā)的基礎(chǔ),用戶在制圖程序界面上進(jìn)行操作,即可控制AutoCAD 進(jìn)行制圖,而制圖程序也可獲取AutoCAD 中的圖形信息。系統(tǒng)功能主要包括兩大類,自動制圖和人機(jī)交互制圖。自動制圖功能是制圖程序至AutoCAD 的單向通信,制圖程序只向AutoCAD 發(fā)送命令。人機(jī)交互則為雙向通信,制圖程序不僅向AutoCAD 發(fā)送命令,并且還要獲取AutoCAD 中圖形的屬性信息。系統(tǒng)功能模塊見圖1。
圖1 系統(tǒng)功能模塊
4、結(jié)語
鐵路站場平面圖在鐵路線路設(shè)計中具有十分重要的作用。C#編程語言對AutoCAD 進(jìn)行二次開發(fā)的技術(shù)提供了一個制圖系統(tǒng)開發(fā)的綜合平臺。本文開發(fā)的系統(tǒng)為用戶提供了一種高效、簡潔、方便的鐵路站場平面圖制圖方式,極大地提高了內(nèi)業(yè)工作效率。該系統(tǒng)結(jié)構(gòu)層次清晰、功能齊全、操作方便,便于維護(hù)和管理,可更好地滿足高速發(fā)展的鐵路事業(yè)的要求。