VBA數(shù)據(jù)庫在AutoCAD的應用3000字_第1頁
VBA數(shù)據(jù)庫在AutoCAD的應用3000字_第2頁
VBA數(shù)據(jù)庫在AutoCAD的應用3000字_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、VBA數(shù)據(jù)庫在AutoCAD的應用3000字 摘要:Visual Basic for Applications(VBA)是一種Visual Basic的宏語言,主要能用來擴展Windows的應用程式功能,可以用于AutoCAD軟件。也可說是一種應用程式視覺化的Basic Script。 關(guān)鍵詞:AutoCAD VBA 數(shù)據(jù)庫 應用1 概述AutoCAD(Auto Computer Aided Design)是美國Autodesk公司在1982年開發(fā)的用于矢量二維繪圖、詳細繪制、設計文檔和基本三維設計自動計算機輔助設計軟件,經(jīng)過30年發(fā)展,成為設計人員必備的繪圖工具。軟件自身存檔dwg格式是二維

2、繪圖標準格式。每隔幾年,軟件升級格式改進。直到90年代早期,應用程序自動化還是充滿挑戰(zhàn)性的領域,對每個需要自動化的應用程序,人們不得不學習一種不同的自動化語言。例如:可以用EXCEL的宏語言來使EXCEL自動化,使用WORD BASIC使WORD自動化,等等。微軟決定讓它開發(fā)出來的應用程序共享一種通用的自動化語言Visual Basic For Application(VBA),可以認為VBA是非常流行的應用程序開發(fā)語言VISUAL BASIC 的子集。實際上VBA是寄生于VB應用程序的版本。AutoCAD自身帶autolisp可以進行開發(fā)程序,autolisp語言在開發(fā)固定圖形,各種重復性操

3、作這方面比較強,但是語言習慣編寫,與我們面向?qū)ο笳Z言有差別,學習有一定難度。ArcObject可以進行開發(fā)CAD程序,ArcObject的學習不是一天兩天可以搞定,對于業(yè)余程序員,要使用VBA來擴展ArcGIS,幾乎沒有可能。Visual Basic for Applications(簡稱VBA)是新一代標準宏語言,是基于Visual Basic for Windows發(fā)展而來的。它與傳統(tǒng)的宏語言不同,傳統(tǒng)的宏語言不具有高級語言的特征,沒有面向?qū)ο蟮某绦蛟O計概念和方法。而VBA 提供了面向?qū)ο蟮某绦蛟O計方法,提供了相當完整的程序設計語言。VBA 易于學習掌握。VBA教程比較多,在網(wǎng)絡也容易找到

4、教程。值得一提的是數(shù)據(jù)庫操作方法,不僅可以用于autocad,還可以用于基它軟件,VBA方法和技巧是通用的。Autocad軟件從2010后,沒有自帶安裝VBA,需要從官網(wǎng)上下載安裝,但是采用CAD常常需要多個CAD軟件,比如:AutoCAD Electrical,AutoCAD Mechanical,Autodesk Inventor Professional等軟件,當軟件版本是同一時期的,需要注意的是VBA只認一個軟件,安裝時請選擇好軟件平臺。2 數(shù)據(jù)庫選擇和方案數(shù)據(jù)庫的類型許多,比如SQL,access,MySQL sql,server 2008等,選擇最簡單的access作為數(shù)據(jù)庫支持,

5、Microsoft Office Access(前名Microsoft Access)是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了Microsoft Jet Database Engine 和圖形用戶界面兩項特點,是 Microsoft Office的成員之一。設計人員做工程后,得到許多經(jīng)驗,有些文字記錄,利用這些經(jīng)驗在設計完圖紙后,進行經(jīng)驗式檢查,防止工作中出現(xiàn)錯誤。如果這些經(jīng)驗輸入數(shù)據(jù)庫,在CAD軟件中進行查詢,圖紙檢查更方便。業(yè)余程序設計人員和專業(yè)工程設計人員技能結(jié)合在一起,選用access作為數(shù)據(jù)庫支持是最佳選擇。3 數(shù)據(jù)庫連接AutoCAD安裝好VBA后,調(diào)用出VBA操作窗口,如圖1

6、,通過工具箱放入窗體和列表框。需要建立數(shù)據(jù)庫與后臺聯(lián)接方式,寫下代碼:Set adoCon = New ADODB.ConnectionadoCon.Provider = Microsoft.Jet.OLEDB.4.0adoCon.Open D:ab.mdbSet adoRs = New ADODB.RecordsetadoRs.Open TableName, adoCon,adOpenDynamic, adLockOptimisticSet adoQ = New ADODB.RecordsetstrQ=select distinct 類型 from&TableName & 當運行代碼時,程序

7、沒有任何反應,原因是需要向外部引用數(shù)據(jù)庫支持插件。通過工具的引用,選擇好對應數(shù)據(jù)連接類型后,就可以運行程序,如圖2。4 窗體和代碼在autocad運行VBA過程中,發(fā)現(xiàn)圖1的窗體出現(xiàn)獨占軟件,無法進行操作修改CAD圖,這帶來許多不方便。需要修改窗體l屬性的showModal,改為False。就可以一邊看圖,一邊修改,達到我們的要求。在代碼中,采用TableName = InputBox(“輸入表名:”)建立輸入表名查詢,原來想用列表框建立查詢方式,但是InputBox代碼簡單,列表框找到相應查詢簡碼,圖3是程序運行結(jié)果。在實際操作過程中,希望條目,可以隨意下上翻轉(zhuǎn)。作了如下設置,鼠標左鍵點擊,

8、向下查詢;鼠標右鍵點擊,向上查詢。代碼如下:If Button = 2 Then 點右On Error Resume NextIf adoRs.EOF ThenadoRs.MoveFirstElseadoRs.MovePreviousExchangeDataEnd If5 程序改進在實際操作過一段時間后,你會發(fā)現(xiàn)自己校對圖紙花了多長時間,需要另外方法記錄,比如開始時需要看表,記錄時間,看完后需要看一下,想把記錄時間工作交給程序完成。寫下如下一段代碼:Gdata2 = Timer()MsgBox 時間: & CInt(Gdata2 - Gdata1) / 60) & 分鐘隨著時間推移,做圖的經(jīng)驗越來越多,數(shù)據(jù)資料也越來越來多,圖紙上有許多地方相同特點,需要反反復復校對,數(shù)據(jù)庫就需要同類合并,也不可用鼠標點前點后無數(shù)次,所以加列表框進行選擇查詢。6 總結(jié)程序設計完成后,經(jīng)過一年試用后,發(fā)現(xiàn)該程序,在校圖方面,減少圖紙出錯,帶來方便;同時,增加相應操作,隨著自己數(shù)據(jù)庫擴展,花費時間越來越長。過分依賴該程序后,會降低自己效率。在做完最重要那幾張圖紙,才啟動這個程序,完成校對工作。參考文獻:1美Guy Hart-Davis.VBA從入門到精通(第二版)M.電子工業(yè)出版社.2李波,胡俊.AUTOCAD 2012中文版完全學習手冊M.電子工業(yè)出版社.3美Cary N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論