




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VB調(diào)用AutoCAD并畫圖,計(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ì)象,通過設(shè)置對(duì)那個(gè)應(yīng)用程序?qū)ο髱?kù)的引用您可以在您的代碼中使用它。,編寫代碼調(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 沒有運(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è)消息框,說明發(fā)生的錯(cuò)誤。 Exit Sub End If End If MsgBox Now running + acadApp.Name + “ version + acadApp.Version End Sub,編寫代碼調(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)參見 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)在開始,使用 acadDoc 變量引用當(dāng)前的 AutoCAD 圖形。,將
5、VBA 代碼轉(zhuǎn)換為 VB,如果 GetObject 創(chuàng)建了一個(gè)新的 AutoCAD 實(shí)例(即調(diào)用 GetObject 時(shí) AutoCAD沒有運(yùn)行),沒有將 Visible 設(shè)置為 TRUE 會(huì)導(dǎo)致 AutoCAD 應(yīng)用程序不可見,甚至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)用程序訪問的注冊(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上畫圓,將 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ú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 英語(yǔ)教學(xué)法第二單元課件
- 古詩(shī)課教學(xué)課件
- 文庫(kù)發(fā)布:幼兒園課件
- 文庫(kù)發(fā)布:介紹課件
- 整體護(hù)理查房課件
- 教學(xué)論文寫作指導(dǎo)課件
- 在全市教師人才隊(duì)伍建設(shè)工作會(huì)議上的匯報(bào)發(fā)言
- 【課件】三角形的內(nèi)角+課時(shí)1+三角形的內(nèi)角和+課件+2025-2026學(xué)年人教版八年級(jí)數(shù)學(xué)上冊(cè)
- 醫(yī)學(xué)教育教學(xué)課件
- 刑 法 案 例 分 析課件
- 《高校教師師德修養(yǎng)》課件
- 精神科藏藥安全警示教育
- 風(fēng)險(xiǎn)評(píng)估報(bào)告模板
- 四年級(jí)上冊(cè)全部古詩(shī)
- 人教部編版七年級(jí)語(yǔ)文上冊(cè)《秋天的懷念》示范課教學(xué)課件
- 能源行業(yè)能源管理體系建設(shè)方案
- 中考英語(yǔ)高頻詞匯大綱表(人教版)
- 店鋪代運(yùn)營(yíng)合同范本
- 基本流行病統(tǒng)計(jì)分析方法及統(tǒng)計(jì)分析軟件的應(yīng)用(與“檢驗(yàn)”有關(guān)的文檔共102張)
- 2024屆安徽省合肥市一六八中學(xué)高一數(shù)學(xué)第二學(xué)期期末聯(lián)考模擬試題含解析
- 護(hù)理員管理工作方案及措施
評(píng)論
0/150
提交評(píng)論