網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 實用範文 > 論文

解析AutoCAD軟件道路斷面圖繪製技術論文

欄目: 論文 / 發佈於: / 人氣:8.88K

1 CAD常見的二次開發手段

解析AutoCAD軟件道路斷面圖繪製技術論文

CAD 軟件二次開發是指在現有的軟件基礎上,各用户為提高軟件的使用效率,讓軟件更加貼合用户的實際需求,而進行功能定製化的開發工作。其主要目的是為讓CAD 軟件的功能最大化利用起來,實現用户的個性化需求。CAD 軟件為用户提供的常見二次開發手段有以下幾種:

1) 函數庫形式,主要是利用CAD 提供的編程環境和基於函數庫的API 接口,用户通過編寫程序來實現對AutoCAD 開發的方法,可實現在無CAD 環境下運行,但該法具有一定的侷限性,無法充分發揮CAD 的系統性能。另外,可以實現界面定製,擴充CAD功能,但只能在CAD 系統內運行。

2) ActiveX Automation 形式,它是建立在COM 基礎之上,由OLE Automation 發展而來的,其核心技術是允許一個應用程序操作另一個應用程序,是一種比較成熟方便且實用的技術,在實際開發中得到了廣泛的運用。

2 CAD 開發模式

AutoCAD 公司為了滿足廣大用户對軟件功能的定製功能要求,針對各類客户的需求提供了多種形式的二次開發工具,如AutoLISP,VBA,Object ARX 等開發工具。用户可根據自己的實際情況選擇合適的開發工具進行二次開發,以滿足設計生產的需要,實現圖形繪製的快速化提高工作效率。針對道路勘測階段對設計的重要性,確保斷面圖繪製的快速和高效十分必要。下面介紹幾種常用的二次開發模式,並結合測繪行業的需求特點進行總結。

1) VBA( Visual Basic for Applications) 開發模式,它被集成到AutoCAD 2000 中,打通了用户訪問CAD 中豐富技術框架的全新通道。VBA 可用通過ActiveX 接口實現與CAD 的通信,並能夠訪問和控制CAD 所有圖形對象和非圖形對象,包括這些對象的方法和屬性等。由於VBA 是由VB 發展而來,都是面向對象編程,與其他程序語言相比,具有更簡單,更易學等特點。因此,在測繪行業內運用較為廣泛,二次開發的測繪案例較多。但VBA 開發具有交互性差,不能直接編譯等缺點。

2) Object ARX 開發模式,Object ARX 是Autodesk 公司針對AutoCAD 平台上的二次開發而推出的一個開發軟件包,它提供了以C + + 為基礎的面向對象的開發環境及應用程序接口,能真正快速的訪問AutoCAD 圖形數據庫。與以往的AutoCAD 二次開發工具Auto LISP 和ADS 不同,Object ARX 應用程序是一個DLL( 動態鏈接庫) ,共享AutoCAD 的地址空間,對AutoCAD 進行直接函數調用。所以使用ARX 編程的函數的執行速度得以大大提高。

ARX 類庫採用了標準的C + + 類庫的封裝形式,這也大大提高了程序員編程的可靠度和效率。通過ARX 定義的外部命令,可以像CAD 內部命令一樣執行,LISP 所調用,具有可封裝性、可繼承性、多態性等特點。因此,廣泛被專業軟件開發公司用於模塊定製與升級等商業開發。但只有具備了相關專業軟件開發知識和系統的學習才能掌握這一開發技術,對於普通測繪工作者來講具有相當大的難度。

3) Auto LISP 開發模式,LISP 語言是一種針對擴充及自訂AutoCAD函數機能而產生的,它擅於處理串行文字,於20 世紀50 年代末期出現。隨着Autodesk 公司不斷改進,推出了新的版本VisualLISP( VLISP) ,它是Auto LISP 的換代版本,與老式LISP 語言相比,具有更加快速便捷的優點。本身提供了一個完整的開發環境,擁有一個交互式的編譯平台,使用户在編寫程序時更加便捷高效。作為通用LISP 語言小子集,它為用户提供了眾多的功能函數,用户只需直接調用函數即可實現大部分的CAD 圖形繪製功能,編寫時按照其語法慣例和規則,即可實現靈活的程序開發。另外,VLISP 還提供了用於發佈獨立應用程序的工具,保障了程序的安全性和密封性。基於VLISP 開發出的應用程序具有相對獨立性的特點,與Object ARX 應用程序共享CAD 地址空間不同,當程序運行一旦出現錯誤或失敗等問題,不會對CAD 自身進程造成影響。加之具有開發週期短,語言簡單易學,十分受廣大測繪工作者的歡迎,尤其是程序開發的初學者。

3 道路斷面繪製程序開發

測繪行業與設計行業的聯繫十分緊密,基於CAD 在設計行業的廣泛應用,CAD 對於測繪行業人員來説十分重要。尤其是在勘測單位,地形圖與道路斷面數據是設計的基礎性數據。道路的縱橫斷面圖主要是由外業採集的地面線組成,各斷面按照樁號的大小一一對應,斷面形態直接反映現場道路走向的地形變化情況。為了能夠準確反映出現場的'地形狀況,在斷面採集時,除了對整數樁號( 一般整20 m) 的斷面進行採集外,還需要對地形起伏較大的地段進行一定加樁,這樣造成經過不同地形的斷面數量差距往往很大。由於每個斷面的數據都不一樣,要完成一個道路勘測項目的斷面繪製內業任務將十分繁重。

3. 1 開發工具的選擇

針對斷面圖繪製開發自動化繪製程序十分必要,根據上述CAD 提供的幾種開發模式優缺點,結合道路斷面圖繪製的特點,本文認為採用VLISP 和VBA 的開發工具進行二次開發具有優勢。主要原因有兩個:

1) 根據測繪行業自身屬於基礎服務性的特點,尤其是在勘測領域,主要任務是提供基礎數據,功能相對單一,這就決定了不需要大型的專業程序,在道路斷面繪製程序上更是如此,要求程序具備按照規範要求能夠自動化完成斷面圖繪製即可。

2) 測繪從業者大多沒有接受過專業的軟件開發培訓,尤其是在一線的測量人員,Object ARX 的開發模式往往需要更系統的軟件開發知識儲備,VBA 和VLISP 的開發工具更為簡單,語言基礎要求較低,通過自學即可掌握相關的開發技術。

3. 2 技術要點分析

雖然根據工程性質的不同,對斷面圖繪製要求會有所不同,但在基本框架和整體要求上基本一致,原理性的東西並沒有變,通常一個完整的斷面圖包括: 座標軸、斷面線、基本座標格網、輔助座標格網、比例尺、工程信息等內容。按照規範規定,線路縱斷面採用直角座標法繪製,以里程為橫座標,以高程為縱座標。里程比例尺常採用1∶ 2 000 和1∶ 1 000,為突出地形起伏,高程比例尺通常為里程比例尺的10 倍~ 20 倍。橫斷面一般選在里程樁和線路橫向地形變化明顯處,在大中小橋頭、隧道洞口等地適當加密,線路的縱橫比例尺一般採用1∶ 100 或1∶ 200。在CAD 平台下繪製時首先是要建立相應的圖層,分別用不同顏色和線型加以區分,以便於用户對斷面線、格網線、圖框線等信息判斷。然後是建立相應的圖框和格網,格網的作用是為了方便用户能夠在圖紙上直接量取斷面的距離和高程信息。接着就是要將項目的基本信息進行錄入,主要是項目的人員信息和單位信息。最後,要完成斷面線的繪製,將地面特徵點逐一展現在圖上並連線,即繪出斷面圖。

斷面圖繪製程序設計主要技術難點在於如何根據地面特徵點高程的變化來確保合理容納適量的斷面線。因為,通常一張斷面圖只能容納有限的斷面線,要確保斷面線既不超出圖框範圍又不造成空間浪費,需要採取合理的算法來進行約束。根據本文的研究和實驗,可採用計算每個斷面最大高差的形式來確定每條斷面的佔用空間,這樣就可準確計算出各斷面圖容納的斷面梳理。

4 結語

道路斷面圖繪製是道路勘測的基本任務,目前對斷面圖繪製程序的開發案例也比較多,但多數只侷限於單位的內部利用,各單位開發的繪圖程序只針對本單位所涉及的業務種類,並不具有通用性,如何開發出具通用性的繪圖程序將是日後的一個方向。作者也在積極做這方面的嘗試,嘗試用C# 語言和腳本技術結合的方法進行程序開發,使得程序功能更加完善,能夠脱離CAD 環境運行,已有初步成果,將在日後的論文中發表。