VB調(diào)用AutoCADppt課件_第1頁
VB調(diào)用AutoCADppt課件_第2頁
VB調(diào)用AutoCADppt課件_第3頁
VB調(diào)用AutoCADppt課件_第4頁
VB調(diào)用AutoCADppt課件_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、VB調(diào)用AutoCAD并畫圖,計算機輔助設(shè)計 (此部分內(nèi)容可參考AutoCAD中的幫助),VB調(diào)用AutoCAD,在 VB調(diào)用AutoCAD ,必須先引用 AutoCAD 類型庫。要在 VB 中完成此操作,請從“工程”菜單中選擇“引用”選項,啟動“引用”對話框。在“引用”對話框中,選擇 AutoCAD 類型庫,然后單擊“確定”。,允許您選擇另外的應(yīng)用程序的對象,通過設(shè)置對那個應(yīng)用程序?qū)ο髱斓囊媚梢栽谀拇a中使用它。,編寫代碼調(diào)用AutoCAD,Sub Ch2_ConnectToAcad() Dim acadApp As AcadApplication On Error Resume Ne

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

3、oCAD Application 對象。如果創(chuàng)建成功,會啟動 AutoCAD;如果失敗,則會顯示一個消息框,說明發(fā)生的錯誤。 Exit Sub End If End If MsgBox Now running + acadApp.Name + “ version + acadApp.Version End Sub,編寫代碼調(diào)用AutoCAD,VB調(diào)用AutoCAD,同時運行多個 AutoCAD 任務(wù)時,GetObject 函數(shù)會返回 Windows 運行對象表中的第一個 AutoCAD 實例。關(guān)于驗證 GetObject 返回任務(wù)的詳細信息,請參見 Microsoft Visual Basic

4、 文檔中關(guān)于對象運行表 (ROT) 和 GetObject 函數(shù)的部分。 要顯示 AutoCAD 圖形窗口,需要將 AutoCAD 應(yīng)用程序的 Visible 特性設(shè)置為 TRUE,將 VBA 代碼轉(zhuǎn)換為 VB,將文檔變量設(shè)置為 AutoCAD 應(yīng)用程序中的 Document 對象。Document 對象由 Application 對象的 ActiveDocument 特性返回。 例如: Dim acadDoc as AcadDocument Set acadDoc = acadApp.ActiveDocument 從現(xiàn)在開始,使用 acadDoc 變量引用當(dāng)前的 AutoCAD 圖形。,將

5、VBA 代碼轉(zhuǎn)換為 VB,如果 GetObject 創(chuàng)建了一個新的 AutoCAD 實例(即調(diào)用 GetObject 時 AutoCAD沒有運行),沒有將 Visible 設(shè)置為 TRUE 會導(dǎo)致 AutoCAD 應(yīng)用程序不可見,甚至AutoCAD 不顯示在 Windows 任務(wù)欄上。 注意 使用依賴于版本的 ProgID。如果 CreateObject 或 GetObject 函數(shù)使用的是獨立于版本的 ProgID,則將函數(shù)更改為使用依賴于版本的 ProgID。例如,如果使用的是 CreateObject,請將 CreateObject (AutoCAD.Application) 替換為 C

6、reateObject (AutoCAD.Application.16)。,注意 AutoCAD 2004 的 COM (components object model)應(yīng)用程序訪問的注冊表項為 AutoCAD.Application.16,注意事項,例題1,Private Sub Command2_Click() This example creates a circle in model space. Dim circleObj As AcadCircle Dim centerPoint(0 To 2) As Double Dim radius As Double Define the c

7、ircle centerPoint(0) = 100#: centerPoint(1) = 100#: centerPoint(2) = 0# radius = 100# Create the Circle object in model space Set circleObj = acadDoc.ModelSpace.AddCircle(centerPoint, radius) acadApp.Visible = True ZoomExtents End Sub,在AutoCAD上畫圓,將 VBA 代碼轉(zhuǎn)換為 VB,將代碼樣例中所有的 ThisDrawing 引用替換為引用活動文檔的用戶指定

8、的變量。要完成這項操作,請為 AutoCAD 應(yīng)用程序 (acadApp) 和當(dāng)前的文檔 (acadDoc) 定義變量。然后,將應(yīng)用程序變量設(shè)置為當(dāng)前的 AutoCAD 應(yīng)用程序。,VBA 與 VB 比較代碼樣例,使用 VBA 創(chuàng)建直線: Sub Ch2_AddLineVBA() 本例在模型空間中添加一條直線 定義直線的起點和端點 Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 1 :startPoint(1) = 1 startPoi

9、nt(2) = 0 endPoint(0) = 5: endPoint(1) = 5: endPoint(2) = 0 在模型空間中創(chuàng)建直線 Set lineObj = ThisDrawing. ModelSpace.AddLine (startPoint, endPoint) 放大新創(chuàng)建的直線 ZoomAll End Sub,VBA 與 VB 比較代碼樣例,VBA 與 VB 比較代碼樣例,VBA 與 VB 比較代碼樣例,使用 VB 創(chuàng)建直線: Sub Ch2_AddLineVB() 連接至 AutoCAD 應(yīng)用程序 (略) Dim acadDoc As AcadDocument Set acadDoc = acadApp.ActiveDocument 創(chuàng)建直線的端點 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) =

溫馨提示

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

最新文檔

評論

0/150

提交評論