基于AutoCAD的鐵路站場平面圖繪制系統(tǒng)的設計與實現(xiàn)

2014-11-30 劉龍 西南交通大學地球科學與環(huán)境工程

  在鐵路線路設計及鐵路基礎設施建設與改造中,鐵路站場平面圖具有十分重要的作用。針對目前站場平面圖繪制效率低、格式不規(guī)范等特點,利用Visual C#編程語言對AutoCAD 進行二次開發(fā),設計并開發(fā)了鐵路站場平面圖繪制系統(tǒng),實現(xiàn)了自動制圖與人機交互制圖。制圖系統(tǒng)界面簡潔、操作簡便,為用戶提供了一種快速繪制站場平面圖的途徑。

  引言

  線路站場設計是鐵路線路設計的基本任務。線路站場設計中,主要設計圖有站場平面圖、線路縱斷面圖、線路橫斷面圖等,主要是站場平面圖。與一般地圖相比,鐵路站場平面圖具有精細、突出表示地物設施等特點。目前的繪圖軟件不能高效地進行鐵路站場平面圖的繪制,因此設計一款高效、簡潔的站場平面圖制圖軟件十分必要。

  傳統(tǒng)的AutoCAD 二次開發(fā)技術通常是設計AutoCAD 腳本文件,并將腳本文件以插件的形式加載至AutoCAD 工具欄,從而使AutoCAD 具備適用于特定項目的制圖功能,但該技術通常無法實現(xiàn)自動制圖,因此不能從根本上提高鐵路站場平面圖的制圖效率。Visual C#語言對AutoCAD 進行二次開發(fā),具有獨特的優(yōu)勢,可實現(xiàn)大量數據的自動制圖,并提供標準、統(tǒng)一的地物符號,相對于手動制圖而言,極大地縮短了制圖時間。

1、系統(tǒng)設計思路

  C#是一種安全、穩(wěn)定、簡單的面向對象的編程語言,綜合了VB 簡單的可視化操作和C + + 的高運行效率。正是由于這些優(yōu)勢,本文采用C#編程語言對AutoCAD 進行二次開發(fā),開發(fā)設計了鐵路站場平面圖繪制系統(tǒng)。

  要實現(xiàn)C#對AutoCAD 的二次開發(fā),需要在C#項目中添加AutoCAD 的引用: AutoCAD 2007 Type Library 和AutoCAD/ObjectDBX Common 17. 0 Type Library。人機交互操作時,Microsoft. VisualBasic.Interaction. AppActivate ( AcadApp. Caption ) ; 是使AutoCAD 對象置于最前的函數,要調用該函數還需添加引用Microsoft. VisualBasic. NET。制圖程序界面與AutoCAD 界面相互獨立,兩者之間通過ActiveX 技術進行通信,實現(xiàn)制圖程序對AutoCAD 的控制與調用。兩者間的通信技術是C#對AutoCAD 二次開發(fā)的基礎,用戶在制圖程序界面上進行操作,即可控制AutoCAD 進行制圖,而制圖程序也可獲取AutoCAD 中的圖形信息。系統(tǒng)功能主要包括兩大類,自動制圖和人機交互制圖。自動制圖功能是制圖程序至AutoCAD 的單向通信,制圖程序只向AutoCAD 發(fā)送命令。人機交互則為雙向通信,制圖程序不僅向AutoCAD 發(fā)送命令,并且還要獲取AutoCAD 中圖形的屬性信息。系統(tǒng)功能模塊見圖1。

系統(tǒng)功能模塊

圖1 系統(tǒng)功能模塊

4、結語

  鐵路站場平面圖在鐵路線路設計中具有十分重要的作用。C#編程語言對AutoCAD 進行二次開發(fā)的技術提供了一個制圖系統(tǒng)開發(fā)的綜合平臺。本文開發(fā)的系統(tǒng)為用戶提供了一種高效、簡潔、方便的鐵路站場平面圖制圖方式,極大地提高了內業(yè)工作效率。該系統(tǒng)結構層次清晰、功能齊全、操作方便,便于維護和管理,可更好地滿足高速發(fā)展的鐵路事業(yè)的要求。