張彥濤
(河北天元地理信息科技工程有限公司,河北廊坊065201)
AutoCAD是目前世界上在圖形應用方面使用廣泛的計算機輔助設計軟件,但其在特定領域的功能不足或很薄弱。利用VB.NET開發出針對“地下管線”特定的AutoCAD應用軟件,實現僅依靠Auto-CAD自身不能或不易做到的功能,解決實際工程中的問題。
利用VB.NET進行AutoCAD的二次開發具有很大的優勢,它是一種面向對象的可視化編程工具,具有快速的開發環境,其語法簡單、功能強大、界面清晰,可充分利用.NET的各種優勢,大大提高開發速度。
.NET框架是NET最為重要的組件,如圖1所示。.NET框架平臺代表了一種嶄新的軟件開發模式,它與Win32 API或COM一樣,是把系統服務以接口形式提供給開發人員的軟件開發平臺。與以往不同的是,.NET框架能夠更好地完成代碼重用、資源配置、多語言集成開發和安全管理等任務,在安全性、易用性及開發效率等方面遠遠超過了以前的開發模式。
使用.NET開發程序具有許多好處,概括起來有以下幾點:
1)統一的面向對開發平臺。
2)內存自動管理-垃圾收集。
3)一致的異常處理。
4)支持多種開發語言。

圖1 .NET框架
從AutoCAD 2006開始,AutoCAD增加了.NET API,它提供了一系列托管的外包類(managed wrapper class),使開發人員可在.NET框架下,使用VB.NET對AutoCAD進行二次開發。隨著版本的更新,從AutoCAD 2008開始.NET API已經擁有與C++相匹配的強大功能。由于開發接口是完全面向對象的,又具有方便易用的特點,因此NET API是目前較理想的AutoCAD開發工具,也是今后的發展方向。
AutoCAD的托管程序集為兩個文件:acdbmgd.dll和acmgd.dll,它們存在于AutoCAD的安裝目錄下,如C:Program FilesAutoCAD 2010,其中acdbmgd.dll包含Obj ectDBX托管類,主要包含用于處理AutoCAD數據庫和DWG文件的相關操作的命名空間和類,如實體操作等,而acmgd.dll包含 Auto-CAD托管類,用戶處理AutoCAD程序級別的對象,如程序對象、文檔對象等。命名空間相關功能見表1。

表1 命名空間相關功能
(1)技術框架
技術框架如圖2所示。

圖2 技術框架
(2)數據采集
地下管線數據采集主要分為:
1)管線探查。采用管線探測儀或探地雷達對隱蔽點進行探查,采用量測工具對明顯點進行調查。查清各種管線的位置、走向、埋深、材質等相關屬性。
2)管點測量。利用全站儀、RTK等相關儀器測定各種管線隱蔽點和明顯點的坐標和高程。
(3)數據入庫
1)手工錄入,手工錄入如圖3所示。

圖3 手工錄入圖
2)PDA數據導入,將PDA與計算機連接,直接將探查數據導入對應的數據庫。
(4)管線圖形繪制
1)啟動 Microsoft Visual Studio.NET 2008,如圖4所示。

圖4
2)在【文件】菜單中,選擇用 VB語言創建工程,【新建】一個類庫(class library)項目,指定工程名稱和存放位置如圖5所示。

圖5
3)導入命名空間,主要代碼如下:

4)繪制管線段,主要代碼如下:


成圖效果如圖6所示。

圖6
本文通過實例證明了基于 VB.NET的Auto-CAD二次開發在管線成圖方面的優越性和易用性,并在實際工程施工中得到了很好的應用,極大地提高了工作效率。
略)