協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn)_第1頁
協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn)_第2頁
協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn)_第3頁
協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn)_第4頁
協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第6卷 第1期 中 國 水 運(yùn) Vol.6 No.12008年 1月 China Water Transport January 2008 收稿日期:2007-11-20作者簡介:黃鵬程 男(1983- 杭州電子科技大學(xué)圖形圖像研究所 研究生 (310018 研究方向:虛擬現(xiàn)實(shí)、計(jì)算機(jī)圖形學(xué)基金項(xiàng)目:玉環(huán)縣重大科技攻關(guān)項(xiàng)目(KYH073106002協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn)黃鵬程 王 明 鄭 浩摘 要:本文主要探討了利用開源CAD 內(nèi)核Open CASCADE,建立協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)的過程。詳細(xì)闡述了基于OCAF(Open CASCADE Application Fr

2、amework平臺(tái)單文檔框架的建立,并在此基礎(chǔ)上介紹了平臺(tái)各種標(biāo)準(zhǔn)CAD 格式的支持,最終實(shí)現(xiàn)了系統(tǒng)平臺(tái)。 關(guān)鍵詞:Open CASCADE OCAF 協(xié)同設(shè)計(jì) 模型瀏覽中圖分類號(hào):TP311.51 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-7973(200801-0180-02協(xié)同設(shè)計(jì)是現(xiàn)代集成制造系統(tǒng)技術(shù)研究的一個(gè)重要領(lǐng)域,也是實(shí)施敏捷制造、智能制造、虛擬制造、網(wǎng)絡(luò)化制造等各種先進(jìn)制造模式的一項(xiàng)重要支撐技術(shù)。然而在實(shí)現(xiàn)協(xié)同過程之前,我們需要有模型瀏覽的平臺(tái),提供模型的顯示與更新以及模型文件的導(dǎo)入及導(dǎo)出。針對(duì)這一需求,本文通過分析通用的開發(fā)方法,然后提出了可行的開發(fā)方案,提出了建立基于OCAF 1

3、(Open CASCADE Application Framework的系統(tǒng)模型瀏覽平臺(tái)的開發(fā)方案,最終我們成功實(shí)現(xiàn)了基于OCAF 的單文檔應(yīng)用程序,為協(xié)同設(shè)計(jì)提供了良好的模型瀏覽平臺(tái)。一、協(xié)同設(shè)計(jì)系統(tǒng)開發(fā)方法分析現(xiàn)今的CAD 系統(tǒng)大多通常都基于CAD 系統(tǒng)提供的二次開發(fā)包,用戶根據(jù)要求定制符合自己要求的功能。AutoCAD 就提供了AutoLISP、ADS 2等都是比較通用的開發(fā)工具包。UG 也提供了多種二次開發(fā)工具:UG/Open MenuScript、UG/Open API 等。然而此類開發(fā)有著自身的缺點(diǎn):1.各個(gè)CAD 系統(tǒng)提供的二次開發(fā)工作各不相同,他們只能提供對(duì)特定CAD 系統(tǒng)的支

4、持,甚至不支持相同CAD 系統(tǒng)的不同版本。2.二次開發(fā)構(gòu)建的協(xié)同設(shè)計(jì)平臺(tái),開放性能不夠理想,很難充分利用企業(yè)現(xiàn)有的軟、硬件條件,也很難利用將來增加的各類設(shè)施。因?yàn)樵陂_發(fā)期間,很多功能已和具體的CAD 系統(tǒng)靜態(tài)綁定了。3.一般CAD 系統(tǒng)功能強(qiáng)大,操作復(fù)雜,二次開發(fā)只能開發(fā)其中的一部分功能。如果要開發(fā)一個(gè)功能強(qiáng)大的平臺(tái),其工作量非常大,從而成本相當(dāng)高。一般情況,協(xié)同平臺(tái)有兩種實(shí)現(xiàn)方法:遠(yuǎn)程桌面共享和控制;基于操作命令的同步更新。前者是在服務(wù)器和客戶端間傳送圖像,網(wǎng)絡(luò)流量比較大,具有較大的網(wǎng)絡(luò)延時(shí);后者網(wǎng)絡(luò)流量相對(duì)較小,它只是傳送各客戶端的操作命令,然而由于CAD 系統(tǒng)命令復(fù)雜,正確解析命令將是一

5、項(xiàng)困難的任務(wù)。Open CASCADE,一個(gè)開放源碼CAD 內(nèi)核,可以定制和擴(kuò)展(添加新的功能組件,類的進(jìn)一步繼承,面向CAD/CAM ,對(duì)主流CAD 數(shù)據(jù)格式提供支持(STEP/STL/IGES 等,可自行開發(fā)轉(zhuǎn)換程序提供特定數(shù)據(jù)格式的支持,提供高級(jí)建模函數(shù)(擬合,有理樣條曲線,拉伸、旋轉(zhuǎn)、掃出、層疊拉伸、圓角、倒角、薄殼、修剪、偏移等,參數(shù)化模型,提供幾何模型的特征提取,對(duì)Visual C+/MFC 有很好的支持。經(jīng)上分析,本系統(tǒng)采用基于Open CASCADE 開發(fā)。 二、基于OCAF 單文檔框架的建立Open CASCADE 不僅為用戶提供了三維建模、幾何體復(fù)雜運(yùn)算、可視化模塊等相關(guān)類

6、庫,還為用戶提供了OCAF,它是一種基于Open CASCADE 的RAD (Rapid Application Development,快速開發(fā)工具框架,為用戶(即開發(fā)人員提供了一個(gè)快速開發(fā)的手段。OCAF 對(duì)于Open CASCADE 是一個(gè)的輔助工具,在算法、拓?fù)浠驇缀谓5倪^程中,OCAF 能處理這些類庫中的任何數(shù)據(jù)和算法,這個(gè)框架還可以用于組織、保存應(yīng)用數(shù)據(jù)。通過使用OCAF,應(yīng)用程序設(shè)計(jì)者可以專注于功能以及某些特別的算法,值得一提的是實(shí)現(xiàn)“撤銷/重做(Undo-Redo”命令以及“保存應(yīng)用程序數(shù)據(jù)”命令,避免了很多底層建模的問題。基于MFC 單文檔應(yīng)用程序,我們完成了基于OCAF

7、單文檔應(yīng)用程序框架。具體方法是在MFC 框架的相應(yīng)函數(shù)中添加相應(yīng)的代碼來完成OCAF 應(yīng)用原型的初始化。建立過程如下:圖1基于OCAF單文檔應(yīng)用程序建立過程第1期黃鵬程等:協(xié)同設(shè)計(jì)系統(tǒng)模型瀏覽平臺(tái)的研究與實(shí)現(xiàn) 1811.由TDocStd_Application派生的應(yīng)用程序類來初始化應(yīng)用程序,然后在應(yīng)用程序類的構(gòu)造函數(shù)中利用Graphic3d_WNTGraphicDevice類初始化虛擬三維環(huán)境的顯示設(shè)備;2.由顯示設(shè)備初始化三維視圖器,再由三維視圖器初始化交互環(huán)境,在這個(gè)過程中,可以選擇設(shè)置三維環(huán)境的初始值;3.由應(yīng)用程序創(chuàng)建OCAF文檔,文檔用來保存模型數(shù)據(jù);4.初始化OCAF視圖(1由三

8、維視圖器初始化OCAF視圖,并把OCAF視圖和顯示窗口關(guān)聯(lián);(2初始化窗口;(3把三維視圖器加入OCAF文檔中。5.在MFC框架的View類的OnSize和OnDraw函數(shù)中,完成OCAF重繪的初始化。三、數(shù)據(jù)交換方法利用國際標(biāo)準(zhǔn),把CAD系統(tǒng)中的模型通過各自的數(shù)據(jù)轉(zhuǎn)換接口將其內(nèi)部的模型數(shù)據(jù)信息轉(zhuǎn)換為符合所選標(biāo)準(zhǔn)的中性文檔描述文件,然后通過系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換接口把這些中性文檔的數(shù)據(jù)讀入系統(tǒng)。因此只要異構(gòu)的CAD系統(tǒng)支持同一種數(shù)據(jù)交換標(biāo)準(zhǔn),就可以實(shí)現(xiàn)異構(gòu)CAD系統(tǒng)之間通過本平臺(tái)進(jìn)行協(xié)同。參見圖2。 圖2 數(shù)據(jù)交換模型Open CASCADE數(shù)據(jù)交換模塊提供了大多數(shù)標(biāo)準(zhǔn)三維CAD模型格式的讀寫工具類,

9、包括STEP、IGES、BREP 等 4。舉例STEP格式文件讀寫實(shí)現(xiàn)如下。STEP格式文件導(dǎo)入STEPControl_Reader aReader; / 創(chuàng)建STEP 格式文件讀取器實(shí)例IFSelect_ReturnStatus status = aReader. ReadFile(aFileName; / 讀取文件,返回狀態(tài)變量/ 讀取實(shí)體,存入Open CASCADE一個(gè)形體序列類TopTools_HSequenceOfShape的一個(gè)實(shí)例aHSequenceOfShape中Standard_Integer nbs = aReader.NbShapes(;for (Standard_In

10、teger i=1; iAppend(aReader.Shape(i; STEP格式文件保存/ 創(chuàng)建STEP格式文件寫入器實(shí)例,從形體序列類實(shí)例aHSequenceOfShape中讀取形體信息到寫入器,最后把信息寫入文件STEPControl_Writer aWriter;IFSelect_ReturnStatus status;for (Standard_Integer i=1;iLength(;i+status = aWriter.Transfer(aHSequenceOfShape-Value(i, aValue;if ( status != IFSelect_RetDone retur

11、n status;status = aWriter.Write(aFileName;四、結(jié)束語目前的本平臺(tái)功能還遠(yuǎn)遠(yuǎn)不完善,但是這個(gè)系統(tǒng)作為三維CAD模型協(xié)同設(shè)計(jì)的模型瀏覽的平臺(tái),在系統(tǒng)框架設(shè)計(jì)上是很具有擴(kuò)展性的,值得肯定的是作為進(jìn)一步研究的起點(diǎn)。隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,更快更好的協(xié)同將成為可能,三維CAD模型協(xié)同造型系統(tǒng)顯然還處于早期的發(fā)展階段,相信不久的將來在整個(gè)三維CAD開發(fā)過程中,它們將起到更為重要的作用。參考文獻(xiàn)Libraries Application Framework Users Guide. 2 AutoCAD二次開發(fā)語言及工具介紹./thread-366503-1-1.html.cadstudio/ug1/ug_grip.htm.Guide.Abstract:This paper discusses how to use the open source CAD kernel, called Open CASCADE, building our collaborative design systems model browse platform, proposes the building of single document

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論