摘要:模型是虛擬設(shè)計系統(tǒng)的基礎(chǔ),對于機械產(chǎn)品,通常使用CAD軟件創(chuàng)建零部件模型,并進行預(yù)裝配,再進行模型的轉(zhuǎn)換或特征信息的提取。本文介紹了虛擬設(shè)計技術(shù)在機械產(chǎn)品開發(fā)中的重要意義,并對CAD軟件和虛擬設(shè)計系統(tǒng)的模型數(shù)據(jù)交換的進行了探討。
關(guān)鍵詞: 模型;虛擬設(shè)計;機械產(chǎn)品;CAD
0引言
虛擬設(shè)計技術(shù)是利用計算機輔助技術(shù),在計算機環(huán)境中實現(xiàn)產(chǎn)品的開發(fā)過程,是計算機圖形學(xué)、人工智能、計算機網(wǎng)絡(luò)、信息處理和機械設(shè)計與制造等技術(shù)綜合發(fā)展的產(chǎn)物。通過對產(chǎn)品從設(shè)計到裝配整個過程的模擬,達到提高產(chǎn)品設(shè)計質(zhì)量、降低產(chǎn)品開發(fā)周期和成本的目的。
1 虛擬設(shè)計技術(shù)在機械產(chǎn)品開發(fā)中的重要意義
目前,CAD軟件的應(yīng)用提高了設(shè)計效率,在產(chǎn)品設(shè)計同時進行零部件的受力分析、加工仿真、預(yù)裝配、運動仿真及動力學(xué)分析。但由于CAD軟件開發(fā)是基于傳統(tǒng)的產(chǎn)品開發(fā)模式,不支持多用戶并行工作模式,不能實現(xiàn)產(chǎn)品開發(fā)過程的并行化,產(chǎn)品的設(shè)計質(zhì)量取決與某個工程師的經(jīng)驗。虛擬現(xiàn)實技術(shù)在機械產(chǎn)品設(shè)計中的應(yīng)用,為產(chǎn)品開發(fā)提供了新的設(shè)計和驗證手段。虛擬設(shè)計系統(tǒng)支持多用戶并行操作,不同領(lǐng)域的工程師可以在同一個設(shè)計環(huán)境中對產(chǎn)品的虛擬原型從不同方面進行分析,避免了在傳統(tǒng)產(chǎn)品開發(fā)模式下各部門對設(shè)計的孤立修改和交流困難。由于虛擬現(xiàn)實技術(shù)自身的特點,在虛擬設(shè)計環(huán)境中操作者可以進入產(chǎn)品模型的內(nèi)部,分析產(chǎn)品在工作狀態(tài)下的性能,同時虛擬現(xiàn)實技術(shù)具有適時交互功能,對產(chǎn)品開發(fā)的全過程計算機模擬,實現(xiàn)產(chǎn)品開發(fā)一次性成功的目的,避免傳統(tǒng)開發(fā)方法中采用物理樣機驗證設(shè)計所帶來的人力和財物的損耗,達到縮短產(chǎn)品開發(fā)周期、降低開發(fā)成本和提高用戶滿意度的目的。
產(chǎn)品模型的數(shù)據(jù)分析是虛擬設(shè)計系統(tǒng)重要組成部分,是進行各種仿真的基礎(chǔ),需要用 CAD 軟件創(chuàng)建產(chǎn)品模型并通過模型數(shù)據(jù)處理程序?qū)崿F(xiàn)模型幾何拓撲信息的提取和保存。下文就對虛擬設(shè)計環(huán)境中的模型數(shù)據(jù)結(jié)構(gòu)以及CAD軟件和虛擬設(shè)計系統(tǒng)的模型數(shù)據(jù)交換進行探討。
2 虛擬環(huán)境中模型的數(shù)據(jù)結(jié)構(gòu)
虛擬現(xiàn)實系統(tǒng)中采用三角面片模型進行產(chǎn)品信息的表達,該數(shù)據(jù)格式在模型顯示和碰撞檢查方面具有處理簡單、計算量小的優(yōu)點,它是對產(chǎn)品的外形描述,沒有與設(shè)計和制造相關(guān)的信息,模型精度通過三角面片劃分密度來控制。且現(xiàn)有的圖形硬件大部分支持三角形繪制的加速,所以三角面片模型可以很好地滿足虛擬現(xiàn)實系統(tǒng)的實時性要求。常用的有兩種方法實現(xiàn)虛擬現(xiàn)實應(yīng)用系統(tǒng)的模型創(chuàng)建,一是用專業(yè)的建模軟件如 3DS Max、Multigen 等創(chuàng)建模型,這些軟件都能生成虛擬現(xiàn)實系統(tǒng)支持的三角面片文件,可以直接載入虛擬現(xiàn)實應(yīng)用系統(tǒng)中,但是建模環(huán)境復(fù)雜,不易于掌握,只是模型的形狀描述,對于機械零部件復(fù)雜和精確模型的描述和表示比較困難。三角面片模型不含有特征和幾何信息,只能用于一般的展示和運動仿真,不可以進行更深入的設(shè)計分析。另一種是用 CAD 系統(tǒng)進行產(chǎn)品的建模,再利用模型轉(zhuǎn)換功能將模型轉(zhuǎn)化為三角面片格式文件,在虛擬設(shè)計系統(tǒng)中編寫文件讀取功能模塊實現(xiàn)模型的載入和拓撲重構(gòu)。
3 CAD系統(tǒng)與虛擬現(xiàn)實系統(tǒng)的模型數(shù)據(jù)交換分析
CAD系統(tǒng)和虛擬現(xiàn)實系統(tǒng)模型的不同特點決定了CAD系統(tǒng)創(chuàng)建的模型不能直接運用于虛擬現(xiàn)實系統(tǒng)中。CAD系統(tǒng)中的模型具有精確的幾何描述,側(cè)重于模型幾何形狀的表達。虛擬現(xiàn)實系統(tǒng)的模型側(cè)重于模型在虛擬場景中的渲染速度和模型在虛擬場景中的碰撞檢測需要,雖然有一些專業(yè)的建模軟件可以生成虛擬現(xiàn)實系統(tǒng)直接支持的模型,但是對于復(fù)雜的模型還是在機械CAD系統(tǒng)中比較方便,所以對于機械產(chǎn)品虛擬設(shè)計系統(tǒng)的開發(fā),模型的創(chuàng)建工具一般是選擇CAD 軟件。在虛擬設(shè)計系統(tǒng)的開發(fā)中,CAD系統(tǒng)向虛擬現(xiàn)實系統(tǒng)的模型轉(zhuǎn)換是系統(tǒng)設(shè)計的一個重要部分。下面對兩種常用的數(shù)據(jù)轉(zhuǎn)換方式進行分析。
3.1 利用 CAD 系統(tǒng)的模型導(dǎo)出
在CAD系統(tǒng)中通過vrml和STL兩種文件將模型轉(zhuǎn)化為虛擬現(xiàn)實系統(tǒng)支持的模型。STL是用于快速成型的數(shù)據(jù)文件,有固定的格式,每個CAD系統(tǒng)都支持這種形式模型的輸出。vrml文件是虛擬現(xiàn)實文件,現(xiàn)在的版本是 vrml97 即 vrml2.0,該模型的語法復(fù)雜,且不同系統(tǒng)生成的模型數(shù)據(jù)格不一致。通過對這兩種模型的比較,選擇 STL 模型作為 CAD 和虛擬設(shè)計系統(tǒng)的交換文件。下面將詳細分析 STL文件的語法和虛擬設(shè)計系統(tǒng)中STL文件的載入。STL模型是一種離散的實體表面三角面片模型,該模型記錄了將實體表面離散處理后得到的所有三角面片信息,包含了每一個三角面片的頂點坐標及其法矢。STL 文件格式規(guī)定了三角面的方向、頂點法則和量綱,其描述如下:
面的方向。由于這些三角面片定義的是三維實體的表面,所以每個三角面片同時也可看作是三維物體內(nèi)部與表面的分界面,它的法矢始終朝外,它與三頂點連成的矢量方向構(gòu)成右手法則。
頂點法則。每一個三角面片中必須有兩個頂點與其相鄰的三角面片共用,即一個三角面片中的頂點不能落在另一個三角面片的邊上。
量綱。三角面片數(shù)據(jù)是無量綱的,各頂點坐標值均必須是正數(shù)。模型中包含的三角形面片的個數(shù)則按 STL 文件的類型,有的直接給出,有的不給出。文件中還包括其它一些信息,如文件名,文件描述等等。STL 文件有兩種類型:ASCII 格式和二進制格式。
3.2 通過 API 函數(shù)對 CAD 系統(tǒng)二次開發(fā)
利用 CAD 系統(tǒng)提供的二次開發(fā)接口對 CAD 創(chuàng)建的模型進行三角面片離散化。這種方法可以直接使用 CAD 的建模環(huán)境,進行模型信息的提取。
SolidWorks 二次開發(fā)方法。SolidWorks是基于Windows平臺的三維機械設(shè)計軟件,它通過COM技術(shù)為用戶提供強大的二次開發(fā)接口,凡支持 OLE 和 COM 編程的開發(fā)工具。其二次開發(fā)分兩種,一種是基于自動化技術(shù)的,另一種開發(fā)方式是基于 COM 的。COM 技術(shù)可以使用最多的 SolidWorks API 函數(shù),并可控制 SolidWorks 的運行方式,生成 dll文件,即以 SolidWorks 插件的形式生成用戶的自定義功能模塊。由于 SolidWorks 是以 Visual C++作為主要開發(fā)工具,SolidWorks2006 采用了ATL COM Appwizard 向?qū)В⑶?EDS 公司推薦使用 ATL 方法進行程序的開發(fā)。在此采用 Visual C++6.0 和 ATL 向?qū)нM行程序開發(fā)??梢宰疃嗟厥褂?SolidWorks 提供的 API 函數(shù)和 Visual C++6.0 的 MFC 類庫,方便程序的開發(fā)。特征提取是在SolidWorks2006 軟件平臺上通過二次開發(fā)實現(xiàn)的。
模型信息的提取和存儲。信息提取的基本思路是:遍歷零件的拓撲樹,對特征進行判斷是否是幾何特征,若是則提取其拓撲信息與幾何參數(shù)信息,對特征中的幾何面逐個進行三角化離散,記錄每個面片的頂點信息與法線信息,將零件的面片信息以自定義文件.v rd保存。在對模型進行三角化離散后,為模型的近似描述。在虛擬設(shè)計系統(tǒng)中不能通過對三角面片的計算獲取精確的模型幾何信息,同時需要進行大量計算,但是在虛擬設(shè)計系統(tǒng)中需要獲取模型的精確幾何信息進行分析,這就需要在 CAD 軟件中進行特征提取時提取所有的屬性信息。對于模型信息的存儲采用了先遍歷模型中的所有特征,形成特征鏈表,再遍歷特征中的幾何面形成幾何面表,最后對每個面進行三角面片離散化后用頂點鏈表保存頂點數(shù)據(jù),形成模型的數(shù)據(jù)存儲結(jié)構(gòu)。
小結(jié)
虛擬設(shè)計技術(shù)是虛擬現(xiàn)實技術(shù)在機械產(chǎn)品設(shè)計中的應(yīng)用,通過對開發(fā)過程的模擬,減少了產(chǎn)品的開發(fā)周期,是 CAD 技術(shù)的發(fā)展趨勢。一些應(yīng)用已經(jīng)表現(xiàn)了其巨大的優(yōu)勢,將是產(chǎn)品設(shè)計方法的一個重要的研究方向。
參考文獻
[1]陳琪,產(chǎn)品開發(fā)與虛擬設(shè)計制造技術(shù),機電產(chǎn)品開發(fā)與創(chuàng)新,2002
[2]黃成洋機械產(chǎn)品虛擬設(shè)計建模方法的研究,機電產(chǎn)品開發(fā)與創(chuàng)新,2004
[3]陳健,基于Solidworks 二次開發(fā)的模型特征提取研究,機電產(chǎn)品設(shè)計與創(chuàng)新,2006