VB調用AutoCAD實用教案_第1頁
VB調用AutoCAD實用教案_第2頁
VB調用AutoCAD實用教案_第3頁
VB調用AutoCAD實用教案_第4頁
VB調用AutoCAD實用教案_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 在 VB調用AutoCAD ,必須先引用 AutoCAD 類型庫。要在 VB 中完成此操作,請從“工程”菜單中選擇“引用”選項,啟動“引用”對話框。在“引用”對話框中,選擇 AutoCAD 類型庫,然后(rnhu)單擊“確定”。允許您選擇另外的應用程序的對象,通過設置對那個(n ge)應用程序對象庫的引用您可以在您的代碼中使用它。第1頁/共20頁第一頁,共21頁。編寫代碼(di m)調用AutoCADSub Ch2_ConnectToAcad() Dim acadApp As AcadApplication On Error Resume Next Set acadApp = GetObje

2、ct(, AutoCAD.Application.16) 如果 AutoCAD 正在運行,指定 AutoCAD 版本號時,VB GetObject 函數(shù)將檢索 AutoCAD Application 對象。 If Err Then Err.Clear 如果 AutoCAD 沒有(mi yu)運行,發(fā)生的錯誤(本例中)會被捕獲然后清除。Set acadApp = CreateObject(AutoCAD.Application.16) If Err Then MsgBox Err.Description CreateObject 函數(shù)接著會試圖創(chuàng)建一個 AutoCAD Application 對

3、象。如果創(chuàng)建成功,會啟動 AutoCAD;如果失敗,則會顯示一個消息框,說明發(fā)生的錯誤。Exit Sub End If End If MsgBox Now running + acadApp.Name + “ version + acadApp.VersionEnd Sub第2頁/共20頁第二頁,共21頁。編寫(binxi)代碼調用AutoCAD第3頁/共20頁第三頁,共21頁。 同時運行(ynxng)多個 AutoCAD 任務時,GetObject 函數(shù)會返回 Windows 運行(ynxng)對象表中的第一個 AutoCAD 實例。關于驗證 GetObject 返回任務的詳細信息,請參見

4、Microsoft Visual Basic 文檔中關于對象運行(ynxng)表 (ROT) 和 GetObject 函數(shù)的部分。 要顯示 AutoCAD 圖形窗口,需要將 AutoCAD 應用程序的 Visible 特性設置為 TRUE 第4頁/共20頁第四頁,共21頁。 將文檔變量設置為 AutoCAD 應用程序中的 Document 對象。Document 對象由 Application 對象的 ActiveDocument 特性返回。 例如: Dim acadDoc as AcadDocument Set acadDoc = acadApp.ActiveDocument 從現(xiàn)在開始(k

5、ish),使用 acadDoc 變量引用當前的 AutoCAD 圖形。第5頁/共20頁第五頁,共21頁。 如果 GetObject 創(chuàng)建了一個新的 AutoCAD 實例(即調用 GetObject 時 AutoCAD沒有運行),沒有將 Visible 設置為 TRUE 會導致 AutoCAD 應用程序不可見,甚至(shnzh)AutoCAD 不顯示在 Windows 任務欄上。 注意 使用依賴于版本的 ProgID。如果 CreateObject 或 GetObject 函數(shù)使用的是獨立于版本的 ProgID,則將函數(shù)更改為使用依賴于版本的 ProgID。例如,如果使用的是 CreateObj

6、ect,請將 CreateObject (AutoCAD.Application) 替換為 CreateObject (AutoCAD.Application.16)。第6頁/共20頁第六頁,共21頁。 注意(zh y) AutoCAD 2004 的 COM (components object model)應用程序訪問的注冊表項為 AutoCAD.Application.16注意事項第7頁/共20頁第七頁,共21頁。第8頁/共20頁第八頁,共21頁。 例題(lt)1第9頁/共20頁第九頁,共21頁。 Private Sub Command2_Click() This example crea

7、tes a circle in model space. Dim circleObj As AcadCircle Dim centerPoint(0 To 2) As Double Dim radius As Double Define the circle centerPoint(0) = 100#: centerPoint(1) = 100#: centerPoint(2) = 0# radius = 100# Create the Circle object in model space Set circleObj = acadDoc.ModelSpace.AddCircle(cente

8、rPoint, radius) acadApp.Visible = True ZoomExtents End Sub第10頁/共20頁第十頁,共21頁。在AutoCAD上畫圓第11頁/共20頁第十一頁,共21頁。第12頁/共20頁第十二頁,共21頁。 將代碼樣例中所有的 ThisDrawing 引用替換為引用活動文檔的用戶指定的變量。要完成這項操作,請為 AutoCAD 應用程序 (acadApp) 和當前的文檔 (acadDoc) 定義(dngy)變量。然后,將應用程序變量設置為當前的 AutoCAD 應用程序。 第13頁/共20頁第十三頁,共21頁。VBA 與 VB 比較(bjio)代碼樣

9、例 使用 VBA 創(chuàng)建直線: Sub Ch2_AddLineVBA() 本例在模型空間中添加一條直線 定義直線的起點和端點(dun din) Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 1 :startPoint(1) = 1 startPoint(2) = 0 endPoint(0) = 5: endPoint(1) = 5: endPoint(2) = 0 在模型空間中創(chuàng)建直線 Set lineObj = ThisDrawing

10、. ModelSpace.AddLine (startPoint, endPoint) 放大新創(chuàng)建的直線 ZoomAll End Sub第14頁/共20頁第十四頁,共21頁。VBA 與 VB 比較(bjio)代碼樣例第15頁/共20頁第十五頁,共21頁。VBA 與 VB 比較(bjio)代碼樣例第16頁/共20頁第十六頁,共21頁。VBA 與 VB 比較(bjio)代碼樣例 使用 VB 創(chuàng)建直線(zhxin): Sub Ch2_AddLineVB() 連接至 AutoCAD 應用程序 (略) Dim acadDoc As AcadDocument Set acadDoc = acadApp.A

11、ctiveDocument 創(chuàng)建直線(zhxin)的端點 Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 1 :startPoint(1) = 1 :startPoint(2) = 0 endPoint(0) = 5: endPoint(1) = 5: endPoint(2) = 0 在模型空間中創(chuàng)建 Line 對象 Set lineObj = acadDoc.ModelSpace.AddLine (startPoint, endPoint) ZoomAll acadApp.visible = True End Sub第17頁/共20頁第十七頁,共21頁。VBA 與 VB 比較(bjio)代碼樣例第18頁/共20頁第十八頁,共21頁。VBA 與 VB 比較(bjio)代碼樣例第19頁/共20頁第十九頁,共21頁。謝謝您的觀看(gunkn)!第20頁/共20頁第二十頁,共21頁。NoImage內容(nirng)總結VB調用AutoCAD。要在 VB 中完成此操作,請從“工程”菜單中選擇

溫馨提示

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

評論

0/150

提交評論