


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、應(yīng)用 ActiveX 技術(shù)進行 AutoCAD 二次開發(fā)應(yīng)用 ActiveX 技術(shù)進行 AutoCAD 二次開發(fā) 于亞東 1Autodesk 公司的 AutoCAD 軟件廣泛地應(yīng)用于設(shè)計領(lǐng)域。 AutoCAD 作為強大而專業(yè)的工程繪圖軟件, 近幾年在工程地 質(zhì)制圖方面也得到了廣泛應(yīng)用,如鉆孔柱狀圖、剖面圖等。 但由于 CAD 本身的原因以及地質(zhì)圖件的特殊性 ,完全依賴 CAD 而不借助第三方軟件或?qū)?CAD 進行二次開發(fā),實現(xiàn)地 質(zhì)圖件的計算機化也是一件非常困難的事情。好在 CAD 是 一個靈活而又開放的系統(tǒng),它提供了許多開放式的接口,允 許用戶通過這些接口對 CAD 進行二次開發(fā),以滿足不同
2、用 戶的需要。在當前 AutoCAD 系統(tǒng)中,最常見的開發(fā)用具是 AutoLisp 、 VisualLisp 、ADS 和 ARX ,但 Lisp 處理數(shù)據(jù)庫能力差,編 制界面困難,而 ARX 和 ADS 是基于 C+ 語言的開發(fā)環(huán)境, 要求相對較高。 幸運的是,在 AutoCAD R14 以后的版本中, Autodesk 公司在 AutoCAD 中加入了 ActiveX 自動化服務(wù)功 能( ActiveX Automation server capabilities ),使得用戶可以 通過可視化編程工具,如 Visual Basic (以下簡稱 VB )對 AutoCAD 進行二次開發(fā), 不
3、但提高了工作效率, 也滿足了不 同專業(yè)的需要。本文簡略地說明 AutoCAD 中的 ActiveX 對 象模型結(jié)構(gòu)及對模型對象的編程引用。1 AutoCAD 中的 ActiveX 對象模型AutoCAD ActiveX 提供了一種機制, 或者說是一種方法, 可以供開發(fā)者通過編程手段來操縱AutoCAD。ActiveX是由一系列的對象,按一定的層次結(jié)構(gòu)組成的,每一個對象都代 表了 AutoCAD 中的一個明確的功能。每一個對象本身包含 著自己的屬性和方法,通過方法可以實現(xiàn)對象的一些操作, 如控制 CAD 的啟動,打開一個文檔,一條直線的生成。而 屬性則是對象自己本身所具有的一些性質(zhì),如一個文本對
4、象, 它的屬性有文本的高度,寬度、文本的顏色,所在層等。應(yīng) 用程序正是通過對 AutoCAD 暴露的各級對象的方法和屬性 的引用控制 AutoCAD 工作的。理解 AutoCAD 的對象模型是實現(xiàn)編程的基礎(chǔ)。 AutoCAD 以 層次結(jié)構(gòu)組織對象 ,在頂層是 Application 對象(即 AutoCAD 本身 ),其他對象均為 Application 對象的子對象。在 Application 對象下面是 Preferences (優(yōu)先設(shè)置)和 Document (文檔)對象,通過 Preferences 對象可以對 AutoCAD Tools > Preferences 菜單
5、項中的幾乎每一個 選項進行訪問和修改, 以獲取或改變 AutoCAD 的優(yōu)先設(shè)置。 Document 對象是控制 AutoCAD 圖形文件的直接對象,它 代表某一個裝入的 CAD 圖形文件(一般設(shè)為當前激活的文 件)。 Document 對象下面有 Model Space (模型空間)和Paper Space (圖紙空間)對象及 Blocks(塊)、Layers (層)、 views (視圖)、 utility (功能)等一系列對象(集合) ,其含 義與 AutoCAD 中相似。 Model Space 是當前圖形文件中 圖形實體,如直線、圓、多義線等的集合,每個實體即是 一個對象, 可通過屬
6、性和方法改變 1.中國兵器工業(yè)北方勘察 設(shè)計研究院 實體或生成新實體。 對非圖形實體, 如層( layer )、線形( line type )等的訪問則通過訪問 Document 對象下面的相應(yīng)的集 合類型的子對象,如 Layers 、 LineTypes 等來實現(xiàn)。集合 類型的對象可以使用 VB 中所有的集合操作方法。 Plot 對象 提供了訪問 Plot 對話框中各選項的橋梁, 使應(yīng)用程序具有用不同方式控制AutoCAD 出圖的能力。 Utility 對象使用戶在 AutoCAD 命令行與 CAD 交互 成為可能,通過它可以處理整型、浮點型、字符型等用戶輸 入,還可以接受點( Point
7、)或角( Angle )等 AutoCAD 的 特殊量。以上簡要地說明了 CAD 中的對象及其層次結(jié)構(gòu)關(guān) 系,有了這些理解對編程控制 CAD 就不難了。2 AutoCAD 對象的使用2.1 AutoCAD Application 對象如上所述, Application 對象位于 AutoCAD 層次對象結(jié) 構(gòu)的頂層,它代表 AutoCAD 自身,所有的應(yīng)用程序必須從 Application 對象的建立開始。打開 VisualBasic6.0 ,新建工程,雙擊窗體,鍵入以下代碼:Private Sub Form_Load()On Error Resume Next''如果目前系統(tǒng)
8、中已有執(zhí)行CAD程序,則取得已執(zhí)行CAD物件Set aCADapp = GetObject(, "AutoCAD.Application")If Err ThenErr.Clear''如果目前系統(tǒng)尚未有執(zhí)行 CAD 程序,則建立 CAD 物件Set aCADapp = CreateObject("AutoCAD.Application")End IfaCADapp.Visible = True ' '請務(wù)必將物件 Visible 屬性設(shè)為 trueEnd Sub完成對 Application 對象的建立后, 啟動程序的同時
9、, 便 激活 AutoCAD 繪圖環(huán)境。2.2 Document 對象圖形實體是指所有 CAD 的圖元物體,如點 (point) 、線 (Line )、圓 (Circle) 、弧 (Arc) 、文字 (Text) 等,它們包含于 ModelSpace 和 PaperSpace 集合對象中。對實體的操作總 要從這兩個集合開始,向下查找相應(yīng)實體所屬的方法或?qū)傩?。而圖形實體的操作包括實體的生成、編輯和查詢。ModelSpace 與 PaperSpace 是所有圖形實體的集合,因此 要取得圖中的某一實體,一般采用遍歷查找的方法,下面是 關(guān)于 CAD 圖形實體生成和編輯的實例代碼。( 1)生成矩形的代碼
10、(如圖 1)Private Sub Command1_Click()Dim p1(0 To 2) As Double ,p2(0 To 2) As Double ,p3(0 To2) As DoubleDim p4(0 To 2) As DoubleDim lineObj As Objectp1(0) = CDbl(Text1.Text):p1(1) = CDbl(Text2.Text):p1(2) = 0#p2(0) = CDbl(Text1.Text):p2(1) = CDbl(Text4.Text):p2(2) = 0#p3(0) = CDbl(Text3.Text):p3(1) = C
11、Dbl(Text4.Text):p3(2) = 0#p4(0) = CDbl(Text3.Text):p4(1) = CDbl(Text2.Text):p4(2) = 0#Set lineObj = aCADapp.ActiveDocument.ModelSpace.AddLine(p1, p2) ''劃第二點到第三點Set lineObj =aCADapp.ActiveDocument.ModelSpace.AddLine(p2, p3) ''劃第三點到第四點Set lineObj = aCADapp.ActiveDocument.ModelSpace.Add
12、Line(p3, p4) ''劃第四點到第一點Set lineObj = aCADapp.ActiveDocument.ModelSpace.AddLine(p4, p1) aCADapp.UpdateEnd Sub(2)模擬鏡像功能(以畫同心圓為例,如圖1)Private Sub Command2_Click()Dim circleObjDim centerPoint(0 To 2) As DoubleDim radius As DoubleDim a As Integer , b As DoublecenterPoint(0)=CDbl(Text6.Text):centerPoint(1)=CDbl(Tex t7.Text)cent
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆四川省綿陽市部分校中考生物對點突破模擬試卷含解析
- 農(nóng)戶鏟車出售合同范例
- 代理勞務(wù)派遣工合同范例
- 出租單價合同范例
- 第三單元 第1節(jié) 溫度 教學(xué)設(shè)計- 2024-2025學(xué)年人教版物理 八年級上冊
- 勞務(wù)總包合同范本
- 因材施教的個性化教育計劃
- 城建行業(yè)保安工作總結(jié)計劃
- 前臺文員的職業(yè)培訓(xùn)與發(fā)展路徑計劃
- 分析不同財務(wù)工具的適用場景計劃
- 貝利嬰幼兒發(fā)展量表
- 血液透常見并發(fā)癥及處理課件
- 全國中小學(xué)幼兒園教職工安全素養(yǎng)培訓(xùn)課程試題
- 長輸管道工程施工組織設(shè)計
- 說課比賽一等獎《醫(yī)用化學(xué)》說課課件
- 靜設(shè)備安裝課件(PPT 91頁)
- 英格索蘭空壓機知識
- 2022年度高等學(xué)校科學(xué)研究優(yōu)秀成果獎(科學(xué)技術(shù))提名工作手冊
- 完整版地下人防工程施工方案
- (完整word版)格拉布斯(Grubbs)臨界值表
- 汽車離合器的檢測與維修畢業(yè)論文
評論
0/150
提交評論