




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VB調(diào)用AutoCAD并畫(huà)圖,計(jì)算機(jī)輔助設(shè)計(jì) (此部分內(nèi)容可參考AutoCAD中的幫助),VB調(diào)用AutoCAD,在 VB調(diào)用AutoCAD ,必須先引用 AutoCAD 類型庫(kù)。要在 VB 中完成此操作,請(qǐng)從“工程”菜單中選擇“引用”選項(xiàng),啟動(dòng)“引用”對(duì)話框。在“引用”對(duì)話框中,選擇 AutoCAD 類型庫(kù),然后單擊“確定”。,允許您選擇另外的應(yīng)用程序的對(duì)象,通過(guò)設(shè)置對(duì)那個(gè)應(yīng)用程序?qū)ο髱?kù)的引用您可以在您的代碼中使用它。,編寫(xiě)代碼調(diào)用AutoCAD,Sub Ch2_ConnectToAcad() Dim acadApp As AcadApplication On Error Resume Ne
2、xt Set acadApp = GetObject(, AutoCAD.Application.16) 如果 AutoCAD 正在運(yùn)行,指定 AutoCAD 版本號(hào)時(shí),VB GetObject 函數(shù)將檢索 AutoCAD Application 對(duì)象。 If Err Then Err.Clear 如果 AutoCAD 沒(méi)有運(yùn)行,發(fā)生的錯(cuò)誤(本例中)會(huì)被捕獲然后清除。 Set acadApp = CreateObject(AutoCAD.Application.16) If Err Then MsgBox Err.Description CreateObject 函數(shù)接著會(huì)試圖創(chuàng)建一個(gè) Aut
3、oCAD Application 對(duì)象。如果創(chuàng)建成功,會(huì)啟動(dòng) AutoCAD;如果失敗,則會(huì)顯示一個(gè)消息框,說(shuō)明發(fā)生的錯(cuò)誤。 Exit Sub End If End If MsgBox Now running + acadApp.Name + “ version + acadApp.Version End Sub,編寫(xiě)代碼調(diào)用AutoCAD,VB調(diào)用AutoCAD,同時(shí)運(yùn)行多個(gè) AutoCAD 任務(wù)時(shí),GetObject 函數(shù)會(huì)返回 Windows 運(yùn)行對(duì)象表中的第一個(gè) AutoCAD 實(shí)例。關(guān)于驗(yàn)證 GetObject 返回任務(wù)的詳細(xì)信息,請(qǐng)參見(jiàn) Microsoft Visual Basic
4、 文檔中關(guān)于對(duì)象運(yùn)行表 (ROT) 和 GetObject 函數(shù)的部分。 要顯示 AutoCAD 圖形窗口,需要將 AutoCAD 應(yīng)用程序的 Visible 特性設(shè)置為 TRUE,將 VBA 代碼轉(zhuǎn)換為 VB,將文檔變量設(shè)置為 AutoCAD 應(yīng)用程序中的 Document 對(duì)象。Document 對(duì)象由 Application 對(duì)象的 ActiveDocument 特性返回。 例如: Dim acadDoc as AcadDocument Set acadDoc = acadApp.ActiveDocument 從現(xiàn)在開(kāi)始,使用 acadDoc 變量引用當(dāng)前的 AutoCAD 圖形。,將
5、VBA 代碼轉(zhuǎn)換為 VB,如果 GetObject 創(chuàng)建了一個(gè)新的 AutoCAD 實(shí)例(即調(diào)用 GetObject 時(shí) AutoCAD沒(méi)有運(yùn)行),沒(méi)有將 Visible 設(shè)置為 TRUE 會(huì)導(dǎo)致 AutoCAD 應(yīng)用程序不可見(jiàn),甚至AutoCAD 不顯示在 Windows 任務(wù)欄上。 注意 使用依賴于版本的 ProgID。如果 CreateObject 或 GetObject 函數(shù)使用的是獨(dú)立于版本的 ProgID,則將函數(shù)更改為使用依賴于版本的 ProgID。例如,如果使用的是 CreateObject,請(qǐng)將 CreateObject (AutoCAD.Application) 替換為 C
6、reateObject (AutoCAD.Application.16)。,注意 AutoCAD 2004 的 COM (components object model)應(yīng)用程序訪問(wèn)的注冊(cè)表項(xiàng)為 AutoCAD.Application.16,注意事項(xiàng),例題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上畫(huà)圓,將 VBA 代碼轉(zhuǎn)換為 VB,將代碼樣例中所有的 ThisDrawing 引用替換為引用活動(dòng)文檔的用戶指定
8、的變量。要完成這項(xiàng)操作,請(qǐng)為 AutoCAD 應(yīng)用程序 (acadApp) 和當(dāng)前的文檔 (acadDoc) 定義變量。然后,將應(yīng)用程序變量設(shè)置為當(dāng)前的 AutoCAD 應(yīng)用程序。,VBA 與 VB 比較代碼樣例,使用 VBA 創(chuàng)建直線: Sub Ch2_AddLineVBA() 本例在模型空間中添加一條直線 定義直線的起點(diǎn)和端點(diǎn) 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)建直線的端點(diǎn) 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年硫代硫酸鹽合作協(xié)議書(shū)
- 機(jī)械制造技術(shù)基礎(chǔ) 第四章 機(jī)械加工工藝規(guī)程的制定學(xué)習(xí)課件
- 2025至2030年中國(guó)拉門(mén)器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)打蠟桶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 第二單元《閱讀材料 常見(jiàn)的開(kāi)源硬件》教學(xué)設(shè)計(jì) 2023-2024學(xué)年浙教版(2020)初中信息技術(shù)八年級(jí)下冊(cè)
- 個(gè)人手房買賣合同(含房屋抵押及解押流程)
- 2025年河南省安陽(yáng)市單招職業(yè)傾向性測(cè)試題庫(kù)完整版
- 二零二五年度婚宴現(xiàn)場(chǎng)執(zhí)行團(tuán)隊(duì)服務(wù)合同范本
- 二零二五年度二手房代理買賣合同(含稅費(fèi))
- 二零二五年度酒店客房租賃及增值服務(wù)協(xié)議
- 突發(fā)事件緊急醫(yī)學(xué)救援培訓(xùn)的情景模擬和現(xiàn)場(chǎng)演練
- 包裝盒的工藝
- 保密辦保密工作述職報(bào)告范本
- 新課標(biāo)理念下三現(xiàn)課堂教學(xué)模式的構(gòu)建與實(shí)施
- 旅拍運(yùn)營(yíng)推廣方案
- 你是獨(dú)一無(wú)二的自己主題班會(huì)課件
- 《空調(diào)工作原理》課件
- 早餐店員工管理制度
- 人民醫(yī)院泌尿外科臨床技術(shù)操作規(guī)范2023版
- 設(shè)計(jì)基礎(chǔ)全套教學(xué)課件
- 分條機(jī)作業(yè)指導(dǎo)書(shū)
評(píng)論
0/150
提交評(píng)論