利用ObjectARX開發(fā)工程圖系統(tǒng)_第1頁
利用ObjectARX開發(fā)工程圖系統(tǒng)_第2頁
利用ObjectARX開發(fā)工程圖系統(tǒng)_第3頁
利用ObjectARX開發(fā)工程圖系統(tǒng)_第4頁
利用ObjectARX開發(fā)工程圖系統(tǒng)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 利用ObjectARX開發(fā)工程圖系統(tǒng)晁彩霞,魏永樂遼寧工程技術(shù)大學(xué)機(jī)械工程學(xué)院,遼寧阜新 (123000摘要:介紹了在AutoCAD 系統(tǒng)中由三維實(shí)體模型向二維工程圖轉(zhuǎn)化的方法,并詳細(xì)敘述了采用MView命令創(chuàng)建實(shí)體模型的三視圖的步驟。針對AutoCAD系統(tǒng)在工程圖轉(zhuǎn)化功能方面的不足,利用ObjectARX二次開發(fā)工具,在AutoCAD系統(tǒng)現(xiàn)有的創(chuàng)建三視圖功能的基礎(chǔ)上開發(fā)了工程圖系統(tǒng),實(shí)現(xiàn)了由三維實(shí)體模型向二維工程圖的快速轉(zhuǎn)化。該系統(tǒng)具有界面友好、操作簡單、使用方便等特點(diǎn),減少了用戶的重復(fù)操作,提高了設(shè)計(jì)效率,而且工程圖直接生成模型空間,使用戶操作起來更加方便。該工程圖系統(tǒng)的實(shí)現(xiàn)證明采用Ob

2、jectARX 工具開發(fā)應(yīng)用程序,是增強(qiáng)AutoCAD系統(tǒng)功能、提高用戶設(shè)計(jì)效率、降低用戶勞動強(qiáng)度的有效途徑。關(guān)鍵詞:工程圖;AutoCAD;ObjectARX中圖分類號:TP391.721.引言隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design,簡稱CAD已經(jīng)在機(jī)械、建筑、電子等行業(yè)得到了廣泛的應(yīng)用。CAD技術(shù)的應(yīng)用,可以加快產(chǎn)品開發(fā)進(jìn)程、提高生產(chǎn)效率和產(chǎn)品質(zhì)量、降低生產(chǎn)成本。而且當(dāng)前許多產(chǎn)品的設(shè)計(jì)都是從三維實(shí)體建模開始的,這符合工程實(shí)際和人的思維習(xí)慣,形象直觀、真實(shí)感強(qiáng),并且可以在實(shí)體模型上進(jìn)行有限元分析等各種計(jì)算,有利于產(chǎn)品的優(yōu)化設(shè)計(jì),而二維工程圖在當(dāng)前

3、產(chǎn)品的設(shè)計(jì)和加工過程中,作為重要的技術(shù)文檔仍是不可缺少的1。Autodesk公司的主導(dǎo)產(chǎn)品AutoCAD作為通用的CAD軟件以其功能強(qiáng)大、使用靈活、二次開發(fā)方便等優(yōu)點(diǎn)在機(jī)械、電子、建筑、航空、船舶、室內(nèi)、模具、服裝等領(lǐng)域得到了極為廣泛的應(yīng)用。在AutoCAD系統(tǒng)中,即可以進(jìn)行三維實(shí)體造型,也可以由實(shí)體模型生成二維三視圖,但三視圖的生成步驟繁瑣,設(shè)計(jì)效率低。為了能在充分發(fā)揮三維建模的基礎(chǔ)上,方便、快捷地創(chuàng)建二維工程圖,進(jìn)一步提高用戶的設(shè)計(jì)效率,減輕勞動負(fù)擔(dān),本文在AutoCAD系統(tǒng)現(xiàn)有的創(chuàng)建三視圖功能的基礎(chǔ)上,利用功能強(qiáng)大的ObjectARX二次開發(fā)工具開發(fā)了工程圖系統(tǒng),實(shí)現(xiàn)了由三維實(shí)體模型向二

4、維工程圖的快速轉(zhuǎn)化。2.AutoCAD中創(chuàng)建三視圖在AutoCAD系統(tǒng)中,可以由三維實(shí)體模型創(chuàng)建實(shí)體模型的三視圖,主要方法有三種:一是用MView命令生成;二是用正交法則生成;三是用AutoLISP程序生成。這三種方法中有些步驟是類似的,尤其是第一種和第二種有很多步驟都是一樣的。由于篇幅原因,僅介紹采用MView命令生成三視圖的主要步驟2,3:(另外兩種方法詳見文獻(xiàn)3第一步:采用實(shí)體造型方法建立三維實(shí)體模型;第二步:切換到圖紙空間(Layout1或Layout2,并設(shè)置圖紙和打印機(jī)選項(xiàng);第三步:刪除已有的視圖(系統(tǒng)自動生成的一個視圖;第四步:輸入MView命令,輸入4,即生成4個視圖,然后用鼠

5、標(biāo)指定各個視圖的大小和位置;第五步:激活左上角的視圖,從菜單View/3D View中選擇Front選項(xiàng),將其設(shè)置為前視圖; 第六步:輸入Zoom命令,選擇Scale項(xiàng),輸入比例系數(shù)1XP,按1:1顯示模型;第七步:輸入Solprof命令,選擇實(shí)體模型,其它的提示直接回車即可,提取前視圖的輪廓線;重復(fù)步驟第五七步,獲得實(shí)體模型的其它視圖的輪廓線;第八步:打開圖層管理對話框,會發(fā)現(xiàn)系統(tǒng)自動創(chuàng)建了幾個圖層,其中以PH為前綴的圖層記錄不可見輪廓線,以PV為前綴的圖層記錄可見輪廓線,將以PH為前綴的圖層的線型設(shè)置為Hidden類型;第九步:將0層關(guān)閉,由于三維實(shí)體模型及生成的幾個視圖原稿都在0層,所以

6、能看到的只有新生成的可見和不可見輪廓線。至此,實(shí)體模型的三視圖在圖紙空間創(chuàng)建完成。由以上步驟可以看出,采用AutoCAD 系統(tǒng)的命令來創(chuàng)建工程圖的三視圖步驟繁瑣、重復(fù)操作多、效率低,因此有必要對AutoCAD 系統(tǒng)進(jìn)行二次開發(fā),開發(fā)一個操作簡單、使用方便、界面友好的工程圖系統(tǒng),以便能夠快速由實(shí)體模型得到二維工程圖。3.工程圖系統(tǒng)的開發(fā)本文將討論如何在AutoCAD 2004系統(tǒng)現(xiàn)有的創(chuàng)建實(shí)體模型三視圖功能的基礎(chǔ)上,利用ObjectARX二次開發(fā)工具開發(fā)工程圖系統(tǒng)。根據(jù)工程圖所表達(dá)的內(nèi)容,該工程圖系統(tǒng)主要包括了設(shè)置圖紙幅面,填寫標(biāo)題欄和創(chuàng)建三視圖等模塊。與AutoCAD系統(tǒng)中采用命令方式創(chuàng)建的三

7、視圖最主要的不同點(diǎn)在于:采用AutoCAD系統(tǒng)的命令創(chuàng)建的三視圖是在圖紙空間,而該工程圖系統(tǒng)創(chuàng)建的三視圖在模型空間。這樣用戶操作都是在模型空間進(jìn)行的,如同直接在AutoCAD系統(tǒng)中繪制二維工程圖一樣,操作起來更加熟悉、更加方便。AutoCAD系統(tǒng)允許用戶方便地定制系統(tǒng)菜單和工具欄,并且ObjectARX二次開發(fā)工具為用戶提供了基于MFC類庫的對話框設(shè)計(jì)功能4。因此,該工程圖系統(tǒng)定制了用于創(chuàng)建工程圖的菜單和工具欄,而且用戶操作界面均采用了流行的Windows風(fēng)格對話框的形式,界面友好,操作方便。3.1 工程圖系統(tǒng)結(jié)構(gòu)設(shè)計(jì)該工程圖系統(tǒng)主要包括:設(shè)置圖紙幅面模塊、填寫標(biāo)題欄模塊和創(chuàng)建三視圖模塊。由于

8、設(shè)置圖紙幅面模塊和填寫標(biāo)題欄模塊的實(shí)現(xiàn)相對比較簡單,故此,僅介紹這兩個模塊的功能及其用戶界面。 圖1 設(shè)置圖紙幅面Fig.1 Setting drawing size 設(shè)置圖紙幅面模塊主要功能是設(shè)置圖紙幅面大小和方向,如圖1所示,提供了國家標(biāo)準(zhǔn)的零件圖紙幅面,如A0、A1、A2、A3、A4等,也可以自定義圖紙幅面大小。在設(shè)置圖紙幅面的同時,還插入了圖紙邊框及標(biāo)題欄,并在圖形文件中添加了名稱分別為DrawLayer 、SolidLayer 、HiddenLayer 的三個圖層,其中DrawLayer 用于放置圖紙邊框和標(biāo)題欄信息、SolidLayer 用于放置模型的可見輪廓線、HiddenLay

9、er 用于放置模型的不可見輪廓線。填寫標(biāo)題欄模塊主要功能是填寫圖紙標(biāo)題欄的內(nèi)容,主要包括單位名稱、圖紙名稱和編號、設(shè)計(jì)者、設(shè)計(jì)日期、工件材料、繪圖比例等信息,如圖2所示。 創(chuàng)建三視圖模塊是該工程圖系統(tǒng)的核心部分,主要功能是實(shí)現(xiàn)由三維實(shí)體模型創(chuàng)建三視圖,并設(shè)置在圖紙中的布局,如圖3所示。其開發(fā)思路是:首先,應(yīng)用AutoCAD 系統(tǒng)現(xiàn)有的創(chuàng)建實(shí)體模型三視圖的命令,如Layout ,-View ,Solprof 等命令,設(shè)置三維實(shí)體模型各個視圖,并提取出各個視圖的輪廓線;然后,調(diào)用ObjectARX 中提供的坐標(biāo)變換函數(shù)和實(shí)體操作函數(shù),將提取出的輪廓線在模型空間進(jìn)行坐標(biāo)變換,轉(zhuǎn)換到XOY 面內(nèi),并將

10、模型的可見輪廓線添加到SolidLayer 層,將模型的不可見輪廓線添加到HiddenLayer 層,從而實(shí)現(xiàn)由三維實(shí)體模型向二維三視圖的快速轉(zhuǎn)化。根據(jù)該模塊的開發(fā)思路確定其實(shí)現(xiàn)流程,如圖4所示。圖3 創(chuàng)建三視圖Fig.3 Creating three-view圖2 填寫標(biāo)題欄Fig.2 Inputing title block圖4 創(chuàng)建三視圖模塊流程 Fig.4 Flow of creating three-view module 3.2 工程圖系統(tǒng)程序?qū)崿F(xiàn)創(chuàng)建三視圖模塊是該工程圖系統(tǒng)實(shí)現(xiàn)由三維實(shí)體模型向二維三視圖轉(zhuǎn)化的核心部分,其實(shí)現(xiàn)的關(guān)鍵代碼如下5,6:acedCommand(RTSTR

11、,"layout",RTSTR,"_n",RTSTR,"View",0;/創(chuàng)建View布局acedCommand(RTSTR,"layout",RTSTR,"",RTSTR,"View",0;/進(jìn)入View布局acedCommand(RTSTR,"mspace",0;/激活已有的視圖acedSSGet(NULL,NULL,NULL,NULL,ss;/構(gòu)造選擇集,選中三維實(shí)體模型acedSSName(ss,0,m_SolName;/獲得實(shí)體名for(int

12、i=0;i<3;i+ acedCommand(RTSTR,"-view",RTSTR,si,0;/設(shè)置front、top或left視圖acedCommand(RTSTR,"solprof",RTENAME,m_SolName,RTSTR,"",RTSTR,"Y",RTS TR,"Y",RTSTR,"Y",0;/提取視圖的輪廓線acedCommand(RTSTR, "Model",RTSTR, "",0;/進(jìn)入模型空間for(int

13、 i=0;i<6;i+ /構(gòu)造選擇集,選中該可見或不可見輪廓線acedSSGet("X",NULL,NULL,&eb,ss;ident_init(mat;/初始化坐標(biāo)變換矩陣mat03=m_LviewX;/X軸平移量acedXfromSS(ss,mat;/進(jìn)行坐標(biāo)變換if(strcmp(LayerPrefixi, "PV" /若為可見輪廓線 /將選擇集中的實(shí)體放入SolidLayer層pEnt->setLayer(SolidLayerId;if(strcmp(LayerPrefixi, "PH" /若為不可見輪廓線

14、 /將選擇集中的實(shí)體放入HiddenLayer層pEnt->setLayer(HiddenLayerId;acedCommand(RTSTR,"layout",RTSTR,"_d",RTSTR,"View",0;/刪除View布局 4.工程圖系統(tǒng)應(yīng)用本文以支架零件為例來驗(yàn)證工程圖系統(tǒng)的正確性和實(shí)用性。首先,利用AutoCAD 系統(tǒng)的三維實(shí)體造型功能建立支架零件的三維模型,然后利用該工程圖系統(tǒng)設(shè)置圖紙幅、填寫標(biāo)題欄、創(chuàng)建三視圖,形成支架零件的二維工程圖,如圖5所示。 5. 結(jié)論該工程圖系統(tǒng)是針對AutoCAD 系統(tǒng)由三維模型向二維

15、工程圖轉(zhuǎn)化方面的不足,在其現(xiàn)有的創(chuàng)建三視圖功能的基礎(chǔ)上,采用ObjectARX 工具進(jìn)行二次開發(fā)而實(shí)現(xiàn)的,該系統(tǒng)具有界面友好,操作方便等特點(diǎn),可以大大減少用戶反復(fù)輸入命令的操作,降低用戶的勞動強(qiáng)度,而且將實(shí)體模型的三視圖創(chuàng)建在模型空間,使熟悉二維繪圖的用戶操作起來更加得心應(yīng)手。該工程圖系統(tǒng)的實(shí)現(xiàn)同時也證明利用AutoCAD 系統(tǒng)良好的開放性,借助ObjectARX 工具進(jìn)行專項(xiàng)二次開發(fā),可以大大提高設(shè)計(jì)效率。參考文獻(xiàn)1 劉樹春,申屠留芳.AutoCAD 中三維造型與二維投影圖的創(chuàng)建J.機(jī)械設(shè)計(jì)與研究,2002,(4:31-32. 2 吳長德.AutoCAD 中由三維圖形生成工程圖的三種方法J.機(jī)床與液壓,2002,(4:149-

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論