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