摘 要:為解決異構CAD平臺間的三維模型轉換和共享問題,提出一種新的基于特征模型的集成轉換和共享方法。該方法通過集成轉換工具實現異構CAD平臺的專用模型文件與共享中間文件的轉換。首先建立特征模型,分析其信息構成及表達方法;研究了模型文件轉換中的關鍵技術,提出基于CAD平臺應用層的幾何元素標志方法及標志轉換方法;最后設計了集成轉換工具的結構模型,并根據該模型編程驗證了上述方法的可行性。
關鍵詞:異構; 模型轉換; 特征; 幾何元素; 標志
中圖分類號:TP391 文獻標志碼:A 文章編號:1001-3695(2008)08-2342-03
Research on integration exchanging and sharing of 3D model among
heterogeneous CAD systems
SUN Wei1, MA Tie-qiang1, GAO Tian-yi2, HUANG Yu-jun1, LI Tao1
(1.Key Laboratory for Precision Non-traditional Machining Technology of Ministry of Education, Dalian University of Technology, Dalian
Liaoning 116023, China; 2. School of Mechanical Engineering, Dalian Fisheries University, Dalian Liaoning 116023, China)
Abstract:Aimed at exchanging and sharing the 3D model among heterogeneous CAD systems, this paper proposed a new integration-exchange-and-share method based on feature model, in which the integration-exchange tool was used to exchange data between the special model files from heterogeneous CAD systems and shared unified model files. Firstly, built a feature model, and analyzed the information constitutes and expression of the feature model. Secondly, studied the key technologies in the exchange process of model files, and put forward an identification solution of geometric elements based on application layer of CAD systems. Furthermore, presentedthe exchange approach of geometric-elements identification. Finally, dosigned and rea-lized the architecture model of integration-exchange tool to verify the method above.
Key words:heterogeneous; model exchange; feature; geometric element; identification
一直以來,異構CAD平臺間的三維模型轉換和共享是產品設計領域的瓶頸問題,許多學者和國際組織對此作了大量研究,其研究方法總體分為三類:a)以特征及操作為轉換對象[1~5],通過CAD平臺的API開發模型轉換程序,實現異構CAD平臺間的特征層模型轉換。該方法是學術界熱點,具有轉換數據量少、工程語義完備、編程簡單等優點,能正確轉換設計意圖。但CAD平臺封裝了幾何核心,通過API函數難以獲取其底層拓撲信息,因此以此類方法轉換三維模型將造成特征約束關系損失,目標模型不能變型或變型歧義。b)研究異構CAD平臺的內存模型邊界表示模式[6,7],實現異構CAD平臺間的一一邊界模型轉換。該方法應用較廣,如UG提供的CATIA模型(*.model)導出接口即屬此類。其優點在于能有效轉換模型的幾何、拓撲信息,缺點是易丟失設計歷史信息,目標模型不能反映設計者意圖,編輯及變型困難。c)通過制定數據交換標準,開發基于標準的中性文件輸入/輸出接口,實現異構CAD平臺間的模型轉換[8~10]。目前,包括ISO在內的國際組織正致力于此方面的研究。長遠來看,該方法是解決異構系統數據轉換問題的最終途徑,但現有研究成果尚不能完全滿足實際工程需要。以STEP為例,由Pro/E輸出的基于STEP的中性模型文件(*.stp)導入到CATIA、UG等系統后,會出現設計歷史丟失、模型不能編輯等問題。通過分析上述三類方法的優缺點,本文在第一類方法基礎上,提出了一種新的異構三維CAD模型轉換及共享方法,該方法能有效解決異構三維CAD模型轉換過程中的幾何元素標志方法及標志轉換方法,進而實現約束轉換,使轉換后的目標模型可變型、可編輯,能正確反映設計者意圖。
1 集成轉換和共享方法
異構CAD平臺間的模型轉換方法主要有點對點轉換、利用中性文件轉換以及通過第三方工具軟件轉換等三種方法,它們各有利弊[11]。本文在繼承其各自優點的基礎上,提出了一種新的模型轉換和共享方法,原理如圖1所示。該方法的主體采用集中式轉換方式,利用集成轉換工具實現異構CAD平臺輸出的專用模型文件(special model file,SMF)與統一模型文件(unified model file,UMF)之間的相互轉換。作為標準格式的共享中間模型文件,UMF在異構CAD平臺輸出的SMF之間起到轉換橋梁作用。該方法的難點在于CAD平臺自帶的數據接口輸出的SMF(如UG的*.prt文件、CATIA的*.model)文件格式及數據組織結構對普通CAD二次開發人員不透明,通過簡單編程難以解析和生成該類SMF。為此,本文采用繞行策略,利用CAD平臺提供的API開發異構CAD平臺的專用數據接口,輸出顯式格式的SMF。同時,為減少工程語義損失、降低數據傳輸量,本文采用高層特征模型對SMF、UMF的模型數據進行表達與組織。
2 特征模型信息構成、表達
首先根據完備性及最小化等原則[12],確定面向三維模型轉換和共享的特征模型信息組成、結構,建立信息模型。一般來說,要保持目標模型與源模型間的幾何和拓撲一致,需要對特征模型中表示幾何和拓撲信息的參數、約束、及布爾關系等信息進行轉換。同時,為保持轉換前后模型的材料、密度、單位等基本屬性一致,特征模型也包含此類屬性信息。綜合上述信息建立特征模型,其構成情況如圖2所示。
該特征模型由屬性信息和特征序列組成。屬性信息包括名稱、材料、密度、單位等宏觀屬性,它們只對模型本身有效,不能遞歸傳遞到裝配引用的零部件模型。特征序列泛指包括參考特征、草圖特征、設計特征、細節特征、操作特征以及裝配特征等在內的特征及操作,它們按設計歷史進行有序排列。同時,特征序列有別于設計歷史,它僅包含模型最終組成特征及操作。表1是特征的信息構成即特征信息的BNF表中只是各類型特征的總體信息構成及一般表達方法,但由于各類型特征的幾何、拓撲結構不同,必須針對具體平臺下的具體特征建立相應的信息組織模式。另外,文中提到的SMF和UMF均按上述特征模型組織信息,區別在于特征類型覆蓋范圍不同。若有n種CAD平臺,其SMF的特征類型集合分別是Ci(1≤i≤n),則UMF的特征類型集合C=C1∩Ck∩…∩Cn∪ΔC。其中ΔCC1∪C2∪…∪Cn,C必須完備。
3 模型文件轉換及其關鍵技術
模型文件SMF、UMF均按圖2所示模型組織信息,其主體框架相同,兩者間的轉換實質是按照特征序列進行特征轉換。特征層面上,特征轉換分為1∶1、1∶N、N∶1等類型。其中絕大多數是1∶1轉換;少數類似非對稱雙向拉伸→簡單拉伸、沉孔→簡單孔等[2]由復雜特征向簡單特征分解的轉換為1∶N轉換;而N∶1轉換則是由多個簡單特征合并為復雜特征,該類轉換出現幾率較少。數據層面上,模型文件轉換表現為特征的屬性、參數、約束及布爾關系轉換,難點是約束關系轉換。約束轉換直接關系到目標模型的拓撲結構及可變形能力。如表1所示,約束建立在幾何元素基礎上,因此需正確標志幾何元素,并對其標志進行轉換。
表1 特征信息構成及表達類別子類BNF表達屬性特征標志〈特征標志〉::= \"ID\" 〈標志值〉特征類型〈特征類型〉::= \"type\" 〈類型名值〉順序號〈順序號〉::= \"No\"〈順序號值〉參數幾何參數〈參數〉:: = “參數名”〈參數值〉一般參數約束幾何約束〈幾何約束〉::=〈約束類型〉〈邊界幾何元素1〉〈邊界幾何元素2〉 [〈約束值〉],〈約束類型〉::=〈平行〉|〈垂直〉|…|〈距離〉|〈角度〉,位置約束〈定位約束〉::=〈定位約束〉|〈絕對坐標〉|〈方向向量〉,〈定位約束〉::=〈約束類型〉〈定位幾何元素〉〈定位參考幾何元素〉 [〈約束值〉],〈約束類型〉::=〈同軸〉|〈對齊〉|〈匹配〉|…〈絕對坐標〉::= \"X\"〈X坐標值〉\"Y\"〈Y坐標值〉\"Z\"〈Z坐標值〉,〈方向向量〉::= \"X\"〈X分量〉\"Y\"〈Y分量〉\"Z\"〈Z分量〉拓撲約束〈拓撲約束〉::=〈父特征標志〉〈依賴幾何元素〉算術約束〈算術約束〉::=〈表達式1〉〈操作符〉〈表達式2〉,〈操作符〉::= \"<\"|\">\"|\"≤\"|\"≥\"|\"≤\"|
\"=\"布爾〈布爾關系〉::=〈特征對象標志〉〈布爾值〉關系〈布爾值〉::= 交|并|差|異或|空3.1 基于CAD平臺應用層的幾何元素標志方法
CAD平臺分為內外兩層,內層為幾何核心層,外層為應用層。因應用層封裝了幾何核心層,難以通過應用層的API穩定標志底層幾何元素。本文提出一種基于CAD平臺應用層的幾何元素標志方法,用戶無須了解幾何核心層的拓撲結構,即可通過該方法穩定標志幾何元素。為方便闡述和理解,首先給出以下幾個相關定義。
定義1 特征幾何元素(feature geometric element, FGE)是構成特征體邊界的邊界元素(邊界面、邊和點),是特征模型中的基本及原生幾何元素。
定義2 派生幾何元素(derived geometric element, DGE)是通過特征間的交、并、差等正則運算產生的幾何元素,如分裂面、線等。
已知特征F、F中某種類型(組成點、組成線、組成面)幾何元素構成集合{ei|1≤i≤n},通過CAD平臺的API可獲得ei(1≤i≤n)的標志列表List。List中的標志由CAD平臺的編碼體系動態生成,具有不穩定性。但實驗表明,標志列表List中的指針位置卻與幾何元素ei(1≤i≤n)存在1∶1映射關系,以下是兩個相關實驗。
a)以圖3中的模型A和B為例,A是具有單一block特征的模型,B是由block和extrude特征通過布爾減運算得到的模型。對B中extrude特征實施抑制,使其block特征的組成面和A中block特征的組成面相同,均為FGE。在UG平臺下,分別對A、B中block特征進行組成面標志提取及高亮順序實驗。實驗結果如下:A、B中block特征的組成面高亮順序分別為f0f1f2f3f4f5和S0S1S2S3S4S5,高亮順序相同。
b)以模型B為例,在其extrude特征前后,對block特征作高亮實驗,實驗結果如圖4所示。增加extrude特征前,block特征的組成面高亮順序為S0S1S2S3S4S5;增加extrude特征后,block特征的組成面高亮順序為S6S0S1S2S3S4S5。其中,S6是由extrude特征與block特征進行布爾減產生的分裂面,是DGE,其余組成面是FGE。大量實驗表明,DGE是在FGE基礎上按一定規律產生的,其標志在標志列表中的指針位置具有規律性和相對穩定性。
通過上述實驗得出結論:原始特征的拓撲結構穩定、持久;標志列表的指針位置與特征組成幾何元素(包括FGE、DGE)間存在穩定且有規律的對應關系,通過實驗可獲得該對應關系。因此,若已知特征F、幾何元素類型,幾何元素標志在標志列表中指針位置p,則可用三元組(F,Te,p)標志該幾何元素。
3.2 幾何元素標志轉換
由于幾何元素標志轉換與約束轉換、特征轉換等因素相關,其轉換過程相對復雜,必須考慮幾何元素所屬特征及后繼特征中的約束。
假設Fs為源模型文件中的特征;Ft為目標模型文件中由Fs轉換而來的特征;es表示Fs中的幾何元素,可用三元組(Fs,Te,ps)標志,簡記為TIs;et表示Ft中由Fs的幾何元素es轉換而來的幾何元素,可用三元組(Ft,Te,pt)標志,簡記為TIt;es和et標志間的對應關系用有序對
a)若已知源模型文件中任意特征Fs,i(1≤i≤n),Fs,i轉換時,先根據特征序列遍歷Fs,i的所有后繼特征{Fs,j|i≤j≤n}。如果Fs,j特征中存在約束引用Fs,i中的幾何元素es,i,k(k≤mi),那么建立ee,i,k與其轉換目標幾何元素et,i,k之間的標志對應關系,即有序對〈TIs,i,k,TIt,i,k〉。特征Fs,i及其所有前驅特征中的幾何元素標志對應關系有序對組成集合TS={〈TIs,i,k,TIt,i,k〉|1≤i≤n,0≤k≤mi}。其中:n為源模型文件中的特征總數;mi為源模型文件中第i特征中被約束引用的幾何元素總數。
b)源模型文件中的特征Fs,i轉換時,要對其約束所引用的幾何元素標志進行轉換。先遍歷Fs,i中的約束,求得需轉換的約束所引用的幾何元素es,j,k(1≤j≤i,k≤mj)。以es,j,k的標志TIs,j,k為檢索條件,從標志對應關系有序對集合TS中檢索TIs,j,k所對應的有序對〈TIs,j,k,TIt,j,k〉,從中得到由es,jk轉換而來的目標幾何元素et,j,k的標志TIt,j,k。
上面是幾何元素標志轉換的一般過程,通過該轉換過程可以間接實現約束。
4 集成轉換工具結構模型
本文將集成轉換工具設計成一種通用的業務邏輯,布置于協同設計、設計資源管理等平臺的服務容器;同時,集成轉換工具與上述平臺發生關聯,通過訪問上述平臺的文檔管理、結構管理模塊可調用集成轉換工具,實現異構三維CAD模型的轉換和共享。集成轉換工具的結構模型如圖5所示,該結構模型劃分上傳接口、下載接口、模型轉換引擎、文件解析器、文件生成器、特征轉換器以及拓撲轉換器等七個主要模塊。下面以SMF到UMF的轉換過程為例,闡述其運行機制:
a)通過上傳接口將SMF上傳到服務器端,并由上傳接口啟動模型轉換引擎。
b)模型轉換引擎是集成轉換工具的主線程,由它調用文件解析器將SMF解析為內存模型。
c)模型轉換引擎依據SMF的特征序列,多次調用特征轉換器將SMF所有組成特征轉換為UMF的組成特征,最終得到UMF內存模型。
d)模型轉換引擎調用文件生成器,將通過步驟c)得到的UMF內存模型寫入到模型文件,生成UMF。
e)模型轉換引擎結束運行,執行句柄重新交給上述平臺的文檔管理及結構管理模塊,將新生成的UMF存入共享模型庫。進行產品結構關聯,便于日后查詢、共享、轉換、重用。
若以UMF到SMF轉換過程為例闡述該結構模型運行機制,其過程與以上過程類似,在此不再贅述。
另外,上面提到的特征轉換器實際是包或類庫,內含多種特征轉換類。特征轉換類封裝了特征轉換方法及雙方特征的數據結構,每次特征轉換時,模型轉換引擎只是調用了特征轉換器的一個特征轉換類。同時,各種類型特征的幾何元素標志轉換過程相同,可將其功能提取出來建立拓撲轉換器,供特征轉換器中的特征轉換類調用。
5 應用實例
根據本文所述異構三維CAD模型集成轉換和共享方法開發了實驗程序。具體方法為:利用EJB開發運行于WebLogic服務容器下的集成轉換工具,實現模型文件的集成轉換。同時在VC編程環境下,分別利用UG和Pro/E的API——UG Open API和Pro/Toolkit,開發輸出SMF的專用數據接口。最后,利用上述程序對管殼式換熱器的管接頭模型進行轉換實驗,其結果如圖6所示。
實驗表明,轉換前后模型幾何外形相同,目標模型較好地保留了源模型的約束及設計歷史等信息。在Pro/E環境下可對轉換后的目標模型進行編輯、修改等操作。
6 結束語
本文提出了一種基于特征模型的異構三維CAD模型集成轉換及共享方法,分析了特征模型的信息構成,研究了基于該特征模型的模型文件轉換及其關鍵技術,并給出集成轉換工具結構模型。與其他轉換方法相比,本文所述方法具有約束、特征依賴關系轉換完全等特點,轉換而來的目標模型可編輯、可變形。另外,集成轉換工具被設計為通用業務邏輯,可移植性好,可應用于基于Web的協同設計、設計資源管理等平臺系統。
參考文獻:
[1]劉云華,陳立平,鐘毅芳. 利用設計歷史實現異構CAD平臺特征信息交換[J]. 中國機械工程, 2003, 14(21): 1845-1847.
[2]CHEN Chun, ZHANG Shen-sheng, LI Lei. Real-time collaborative design based on operation semantics in distributed CAD environment[J]. Journal of Southeast University, 2004, 20(24): 442-447.
[3]劉巍巍,周來水,莊海軍.基于Web的同步協同CAD/CAM系統的數據交換機制[J]. 機械科學與技術,2004, 23(12):1484-1487.
[4]CHEN Xiang, LI Min,GAO Shu-ming. A Web services based Platform for exchange of procedural CAD models[C]// Proc of the 9th International Conference on Computer Supported Cooperative Work in Design. 2005:605-610.
[5]SPITZ S, RAPPOPORT A. Integrated feature-based and geometric CAD data exchange[C]// Proc of the 9th ACM Symposium on Solid Modeling and Applications. Aire-Lu-Ville, Switzerland: Eurographics Association, 2004:183-190.
[6]王啟富,高東,黃運,等. 國產三維CAD平臺數據轉換接口技術研究[J].機械科學與技術, 2005, 24(12):1478-1481.
[7]趙建軍, 王啟付. 基于邊界表達的ParaSolid與ACIS直接雙向接口[J].計算機工程, 2004, 30(8):40-41,141.
[8]陳小安,譚宏.三維幾何模型的中性文件格式的數據交換方法研究[J].機械工程學報,2001,37(10):93-95,99.
[9]PRATT M J, ANDERSON B D. A shape modeling applications programming interface for the STEP standard [J]. Computer-Aided Design, 2001, 33(7):531-543.
[10]PRATT M J, ANDERSON B D, RANGER T. Towards the standardized exchange of parameterized feature-based CAD models[J]. Computer-Aided Design, 2005, 37(12): 1251-1265.
[11]童秉樞. 現代CAD技術[M].北京:清華大學出版社, 2000:132, 135, 150-155.
[12]CARLO B, MAURIZIO L, SHAMKANT B N. A comparative analysis of methodologies for database schema integration [J]. ACM Computing Surveys, 1986, 18(4): 323-364.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文