


摘 要:CAD軟件現已成為大部分專業的必修課,并且工作時在設計等領域也有廣泛的應用,但根據初調查研究發現現如今的CAD體系雖較為完善,但不夠方便及快捷,且無針對性,因此利用自身所學習的知識對CAD軟件的附屬功能進行深層次的開放,力求更方便更快捷。文章對CAD軟件功能進行拓展,加入了對地籍圖進行自動分割的功能,并展示如何運用和產生的結果。
關鍵詞:拓展軟件;CAD;測量;便捷工具
1 CAD功能拓展軟件簡介
目前Auto CAD 等國內外計算機輔助設計軟件主要提供正交、對象捕捉、極軸追蹤、捕捉追蹤等繪圖輔助工具,缺乏一些方便快捷的設計。在利用Auto CAD繪圖的時候需要大量的操作,繪圖過程中浪費了很多時間在復雜的操作上;而對于一些Auto CAD的外掛程序雖然簡化了Auto CAD的部分操作但是需要在Auto CAD的基礎上安裝其他的軟件,在使用過程會出現兼容的問題。
此次主要是在Auto CAD的基礎上開發其拓展功能,使其能在精確制圖的過程中簡化操作。
軟件開發環境是面向軟件整個生存周期,為支持各個階段的需要,在基本硬件和宿主軟件的基礎上使用的一組軟件系統,也稱作軟件工程環境(Software Engineering Environment,SEE)。SEE是實現軟件生產工程化的重要基礎。它建立在先進軟件開發方法的基礎上,正影響和改變著軟件生產方式,反過來又進一步促進了軟件方法的推廣與流行。SEE 包括生產一個軟件系統所需要的過程、方法和自動化的集合。建立一個開發環境首先要確定一種開發過程模型,提出成套的、有效的開發方法,然后在這一基礎上利用各種軟件工具實現開發活動的自動化。SEE 有一套包括數據集成、控制集成和界面集成的集成機制,讓各個工具使用統一的規范存取環境信息庫,采用統一的用戶界面,同時為各個工具或開發活動之間的通信、切換、調度和協同工作提供支持。SEE 用于輔助軟件開發、運行、維護和管理等各種活動的軟件(程序),是一個軟件工具集(或工具包)。這不僅意味著SEE支持開發功能的擴大,也反映了工具集成化程度的提高。軟件工具是指能支持軟件生存周期中某一階段(如需求分析、系統定義、設計、編碼、測試或維護等)的需要而使用的軟件系統。軟件設計的理論、模型、方法論、表示法上的研究成果,構成軟件工具的重要基礎,因此,軟件工具的研制應該與整個軟件工程的理論方法緊密結合起來。軟件工具的另一個基礎是計算機的許多先進技術,包括:編譯技術、數據庫技術、人工智能技術、交互圖形技術和 VLSI 技術等等。
軟件工具應具有較強的通用性,不依賴于某一實現環境、某一高級語言和某種設計方法。一般說,越是基礎的、成熟的,往往通用性較好;而一些和軟件開發方法有關的軟件工具,則往往專用程度較高。軟件工具通用性的要求應該根據工具的特點和用戶的情況全面考慮。
2 CAD拓展軟件的應用對比
提供一種機制,使環境中的所有工具可以共享軟件工程信息。
每一個信息項的改變,可以追蹤到其他相關信息項。
對所有軟件工程信息提供版本控制和配置管理。
對環境中任何工具,可進行直接的、非順序的訪問。
在標準的分解結構中提供工具和數據的自動支持。
使每個工具的用戶,共享人機界面所有的功能。
收集能夠改善過程和產品的各項度量指標。
支持軟件工程師們之間的通信。
3 軟件詳解
經過整合,在Cad軟件菜單欄中加入了\"地籍管理\"選項,如下圖所示
點擊“地籍管理”,在下拉菜單中選擇地籍圖分幅,在彈出的界面中打開所要分幅的地籍圖,如下圖。
點擊計算
地籍圖
分幅后的地籍圖1
分幅后的地籍圖2
另附程序代碼
Public acadApp, acadPref, acaddoc, mospace As Object
Private Sub Command1_Click()
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = acadApp.MenuGroups.Item(0)
' Create the new menu
Dim newMenu As AcadPopupMenu
Set newMenu = currMenuGroup.Menus.Add(\"TestMenu\")
' Add a menu item to the new menu
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
' Assign the macro string the VB equivalent of \"ESC ESC _open \"
'openMacro = Chr(3) Chr(3) Chr(95) \"open\" Chr(32)
openMacro = \"(startapp \" Chr(34) \"NotePad.exe\" Chr(34) \")\" vbCr ' Chr(3) Chr(3) Chr(95) \"shell notepad.exe\" vbCrLf Chr(32)
Set newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, \"Open\", openMacro)
' Display the menu on the menu bar
newMenu.InsertInMenuBar (acadApp.MenuBar.Count + 1)
End Sub
Private Sub Command2_Click()
openMacro = \"(startapp \" Chr(34) \"NotePad.exe\" Chr(34) \")\" vbCrLf
End Sub
Private Sub Form_Load()
On Error Resume Next
Set acadApp = GetObject(, \"autocad.application\")
If Err Then
Err.Clear
Set acadApp = CreateObject(\"autocad.application\")
End If
If IsEmpty(acadApp) = True Then
MsgBox \"致命錯誤請從新安裝CAD!系統將退出!\"
End
Else
acadApp.Visible = True
Set acaddoc = acadApp.ActiveDocument
End If
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim flag As String
Dim name As String
Dim pth As String
Dim newMenu As AcadPopupMenu
Dim fl As New FileSystemObject
Dim strm, strmdxf As TextStream
Set strm = fl.OpenTextFile(App.Path \"\配置文件.txt\", ForReading, True)
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
Dim ms As Integer
ms = 1
flag = strm.ReadLine
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = acadApp.MenuGroups.Item(0)
Set newMenu = currMenuGroup.Menus.Add(flag)
' Create the new menu
While Not strm.AtEndOfStream
flag = strm.ReadLine
If flag = \"命令\" Then
name = strm.ReadLine
pth = App.Path strm.ReadLine
pth = Replace(pth, \"\\", \"/\")
openMacro = \"(startapp \" Chr(34) pth Chr(34) \")\" vbCr ' Chr(3) Chr(3) Chr(95) \"shell notepad.exe\" vbCrLf Chr(32)
Set newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, name, openMacro)
' Display the menu on the menu bar
ms = ms + 1
End If
Wend
strm.Close
newMenu.InsertInMenuBar (acadApp.MenuBar.Count + 1)
' Add a menu item to the new menu
' Assign the macro string the VB equivalent of \"ESC ESC _open \"
'openMacro = Chr(3) Chr(3) Chr(95) \"open\" Chr(32)
AppActivate acadApp.Caption
Timer1.Enabled = False
End
End Sub
4 結束語
古人云“工欲善其事,必先利其器”。先進的設計工具能夠提高產品的制造水平。對三維CAD系統進行功能拓展,大大提高了設計的效率,從而不僅縮短了產品的設計周期,提高了設計質量,而且降低了生產成本。這項技術必將提高產品的競爭力,使企業在激烈的市場競爭中獲得生存與發展。為了使我國的CAD輔助設計技術在不久的將來能趕上發達國家的水平,并能同步增長。為了提高數字化產品在國際市場的競爭能力,我們必須深入研究數字基礎理論,加強CAD輔助設計的研發研究。
參考文獻
[1]方堅.CAD技術在道路工程測量中的應用[Z].
作者簡介:董塵(1991-),男,黑龍江省大興安嶺人,東北林業大學土木建筑工程本科生。
通訊作者:周國君(1965-),男,黑龍江哈爾濱人,碩士,副教授,碩士生導師,東北林業大學土木工程學院教師,主要從事數字測圖與計算機地圖制圖等研究和應用。