版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東江門市城建集團有限公司公路運營分公司招聘1人備考題庫附答案
- 2025年中船凌久航信科技(武漢)有限公司招聘(公共基礎(chǔ)知識)測試題附答案
- 2025年哈爾濱日報社新媒體中心招聘若干人備考題庫附答案
- 2026浙江臺州職業(yè)技術(shù)學(xué)院高層次人才招聘38人筆試模擬試題及答案解析
- 2025廣東茂名市高州市人民政府辦公室選調(diào)公務(wù)員5人備考題庫附答案
- 2025年聊城臨清市人才回引(17人)備考題庫附答案
- 2025廣東河源東源縣衛(wèi)生健康局招聘高層次和急需緊缺人才35人(公共基礎(chǔ)知識)綜合能力測試題附答案
- 2026甘肅酒泉市敦煌市國有資產(chǎn)事務(wù)中心遴選市屬國有企業(yè)外部董事人才庫人選筆試備考試題及答案解析
- 2026甘肅銀行校園招聘筆試備考試題及答案解析
- 2025秋人教版道德與法治八年級上冊3.1網(wǎng)絡(luò)改變世界課件
- 工程維保三方合同
- 地鐵車輛檢修安全培訓(xùn)
- 造血干細胞移植臨床應(yīng)用和新進展課件
- GB/T 10802-2023通用軟質(zhì)聚氨酯泡沫塑料
- 黑布林英語閱讀初一年級16《柳林風(fēng)聲》譯文和答案
- 杰青優(yōu)青學(xué)術(shù)項目申報答辯PPT模板
- 宿舍入住申請書
- 深圳中核海得威生物科技有限公司桐城分公司碳13-尿素原料藥項目環(huán)境影響報告書
- 2023年全國高考體育單招文化考試數(shù)學(xué)試卷真題及答案
- GB/T 28733-2012固體生物質(zhì)燃料全水分測定方法
- GB/T 14404-2011剪板機精度
評論
0/150
提交評論