唐 峰,許第洪
(湖南師范大學工學院,中國 長沙 410081)
SolidWorks與Pro/E作為兩款主流的三維CAD軟件,因其友好的用戶界面及大眾化的運行環(huán)境而深得設(shè)計人員的喜愛,在我國應(yīng)用較為廣泛.但不同的企業(yè)或個人因不同的需求環(huán)境使用的CAD軟件會有所不同,比如,有的企業(yè)是用Pro/Engineer軟件創(chuàng)建三維實體,而另外有的企業(yè)習慣于使用SolidWorks軟件創(chuàng)建三維實體,如果兩企業(yè)采用協(xié)同設(shè)計方式或借用另一家企業(yè)的設(shè)計成果時,產(chǎn)品數(shù)據(jù)就需要交換,這樣就會存在不同的CAD軟件圖形數(shù)據(jù)交換問題.而不同的CAD軟件內(nèi)部數(shù)據(jù)記錄方式和處理方式不相同,開發(fā)軟件的語言環(huán)境也完全不一致,CAD圖形數(shù)據(jù)在交換時就會出現(xiàn)高層設(shè)計數(shù)據(jù)容易丟失,模型的有效性、完整性無法得到保障等情況[1].因此,如何保證不同的CAD軟件所繪制的圖形在進行數(shù)據(jù)交換時不會出現(xiàn)數(shù)據(jù)丟失等現(xiàn)象,就成為開發(fā)商與軟件使用者共同關(guān)注的問題.對此,本文以在設(shè)計單缸柴油機時的一些操作實踐為例,探討了SolidWorks圖形與Pro/E圖形之間雙向轉(zhuǎn)換的可行性,以及如何有效保證在這兩種軟件之間進行圖形數(shù)據(jù)轉(zhuǎn)換的途徑與方法.
不同的CAD圖形數(shù)據(jù)在不同的應(yīng)用系統(tǒng)間進行交換,必須有數(shù)據(jù)接口作為交換的橋梁,所謂數(shù)據(jù)交換接口,實際上是一種能夠?qū)崿F(xiàn)兩個以上系統(tǒng)間信息交換的程序或方法[2].如圖1所示.
圖1 SolidWorks與Pro/Engineer交換流程
常用數(shù)據(jù)交換形式有:
(1)利用軟件本身自帶的二次開發(fā)工具,并通過一些高級語言(如Java、C語言、C++)等,設(shè)計一種數(shù)據(jù)交換接口程序,完成系統(tǒng)間的信息交換與共享.例如通過Pro/E軟件中自帶的二次開發(fā)Pro/TOOLKIT程序,結(jié)合C++語言及Pro/E的接口函數(shù),設(shè)計一種模型接口程序,可以將在Pro/E中所建立的部分復(fù)雜實體模型通過文件形式輸入到數(shù)據(jù)庫中,從而實現(xiàn)Pro/E軟件與數(shù)據(jù)庫之間數(shù)據(jù)的傳送,同時這種方法也解決了通過PRT格式的文件輸入到CAD軟件中容易造成圖元丟失或者模型不適用網(wǎng)絡(luò)劃分等問題,當然,這種接口有其局限性,而且設(shè)計難度大[3-4].
(2)標準文件,即通過標準格式文件進行數(shù)據(jù)交換如IGES 、STEP 、STL 、Parasolid等.根據(jù)功能的不同又可以分為實體(包括線框與表面)格式和有限元(FEM) 格式.
對比Pro/E與SolidWorks這兩款軟件,它們都提供了目前最流行的STEP與IGES數(shù)據(jù)交換標準,從使用效果來看,都能比較好地擔當起數(shù)據(jù)交換的橋梁.
1)國際圖形交換標準(IGES)
IGES是由美國國家標準局與企業(yè)共同制定,IGES為了解決數(shù)據(jù)在不同的CAD/CAM間進行傳遞的問題,定義了一套表示CAD/CAM系統(tǒng)中常用的幾何和非幾何數(shù)據(jù)格式,以及相應(yīng)的文件結(jié)構(gòu),其內(nèi)部圖樣數(shù)據(jù)貯存即使各不相同,但只要遵循IGES標準的規(guī)定,數(shù)據(jù)就可以通過多種物理介質(zhì)進行交換.IGES主要是為了解決二維圖紙的信息共享的再處理,盡管新版本增加了CGS、B-REP以及兩者之間轉(zhuǎn)換的數(shù)據(jù)類型,但IGES不能增加諸如工藝等非幾何信息,且轉(zhuǎn)換數(shù)據(jù)量大[6].
2)STEP標準
STEP是國際標準化組織(ISO)所屬技術(shù)委員會統(tǒng)一制定的數(shù)據(jù)標準,其目的是在產(chǎn)品生存期內(nèi)能夠為產(chǎn)品數(shù)據(jù)的描述與通信提供一種中性數(shù)據(jù)標準.這種數(shù)據(jù)標準能完整地表達產(chǎn)品信息,并能獨立于應(yīng)用軟件.STEP標準主要由應(yīng)用層(Application Layer)、邏輯層(Logical Layer)和物理層(Physical Layer)三層結(jié)構(gòu)組成,它能描述產(chǎn)品數(shù)據(jù)模型的各個方面,如幾何形狀、拓撲信息、形位公差、表面粗糙度、材料特性、工藝特性、設(shè)計特性、功能特性等,滿足協(xié)同設(shè)計中的產(chǎn)品數(shù)據(jù)交換并滿足各領(lǐng)域并行設(shè)計的需要,成為工程上常用的交換標準[7].
3)Parasolid格式
Parasolid格式是一個可開發(fā)的公開的數(shù)據(jù)格式,其本質(zhì)是一個函數(shù)庫,它的文件擴展名有“.x_b”,“x_t”,“.xmt_txt”.Parasolid格式不僅提供了精確的幾何邊表達功能,而且通過其容錯造型技術(shù),可以實現(xiàn)多種軟件數(shù)據(jù)的無縫交換,只要軟件是以Parasolid為核心的CAD/CAE系統(tǒng),圖形就能夠在這些軟件之間可靠地傳遞幾何和拓樸信息,避免了IGES格式交換復(fù)雜數(shù)據(jù)容易丟失和可靠性差等問題[8].但由于Pro/ENGINEER軟件不屬于以Parasolid為核心的三維軟件范疇,因而數(shù)據(jù)還不能直接通過Parasolid格式進行交換,必須通過專用的轉(zhuǎn)換軟件才能實現(xiàn).
把Pro/E模型導入SolidWorks系統(tǒng)中,其數(shù)據(jù)的轉(zhuǎn)換方式可以采用兩種途徑:一種是直接對三維實體模型進行轉(zhuǎn)換方式;另一種是通過三維實體特征的轉(zhuǎn)換方式,這種轉(zhuǎn)換方式是SolidWorks軟件本身特有的.二者的區(qū)別在于前者在三維界面下不能對其特征進行編輯,而后者可以對其特征進行修改,這樣就能充分利用原有的設(shè)計數(shù)據(jù),加快數(shù)據(jù)向SolidWorks系統(tǒng)過渡,且數(shù)據(jù)的完整性能得到有效的保障.如果選擇實體特征轉(zhuǎn)換方式進行交換,就必需要在SolidWorks界面上顯示屬性管理器中的特征樹,同時在SolidWorks“工具”菜單中的“插件”下選中FeatureWorks特征識別管理器,這樣就可以對導入的三維實體模型進行數(shù)據(jù)再處理.在SolidWorks軟件中特征識別類型有三種[5]:
(1)交互特征識別
選擇特征類型和構(gòu)成所要識別特征的實體.這種方法的好處是可以控制所識別的特征.例如,可以決定要將圓柱切除識別為拉伸、旋轉(zhuǎn)或孔.此外,可以借助所選的面及邊線來決定特征草圖的位置及復(fù)雜程度.
(2)逐步識別
可以識別零件的某些輸入實體特征,保存該零件,稍后再識別同一輸入實體的其它特征.也可以識別部分識別零件(包含輸入實體和識別特征)的特征.可以保存部分識別的文檔,以便保留各個識別階段.
(3)選擇交互特征識別
選擇交互識別模式時,F(xiàn)eatureWorks 在實體選擇過程中會激活 SolidWorks的“選擇過濾器”.當指針移動到圖形區(qū)域中時會變成過慮器圖標,可根據(jù)選擇的特征類型選擇實體.
首先以圖2零件為例,在Pro/E中完成零件的三維建模,然后以IGES和STEP格式輸出這些零件.再通過SolidWorks軟件自帶的轉(zhuǎn)換器進行轉(zhuǎn)換,如圖3所示.選擇“確定”,特征轉(zhuǎn)換完成,如圖4所示.如果想在SolidWorks軟件中的屬性管理器中顯示特征樹,就單擊”特征”,就可以實現(xiàn)三維實體特征的顯示,否則只顯示三維實體的界面,如圖5所示.同時打開一個轉(zhuǎn)化報告對話框,提示特征識別狀態(tài),在轉(zhuǎn)化報告中,我們可以看出有的特征能夠識別,有的特征不能識別,也就是CAD實體模型的數(shù)據(jù)交換時還存在幾何缺陷和拓撲缺陷,如圖6所示,曲面旋轉(zhuǎn)特征沒有識別,而且?guī)缀稳毕莶荒茉赟olidWorks軟件中重構(gòu).
圖2 Pro/E三維實體零件圖
圖3 轉(zhuǎn)換器 圖4 轉(zhuǎn)換結(jié)果
圖5 轉(zhuǎn)換后三維實體模型 圖6 轉(zhuǎn)換報告
通過Pro/E完成此零件設(shè)計過程中,零件具有曲面造型特征,而且還應(yīng)用到了Pro/E內(nèi)部獨有的對齊、相切等約束算法和曲面相交自動生成曲線方法,這樣在數(shù)據(jù)交換過程中會導致部分曲線在EXPRESS不能找到相應(yīng)的實體描述,中性文件中無法映射和表達,所以在數(shù)據(jù)交換過程中,可以明顯地看到有部分曲線的丟失和退化,于是出現(xiàn)如圖5中三維實體模型特征的丟失現(xiàn)象[9].
要解決這個問題,就必須采用實體特征識別方式進行交換,這樣即使數(shù)據(jù)有丟失和退化,也可以在SolidWorks軟件中通過特征重構(gòu)得到完整的幾何造型.只不過這些功能應(yīng)首先在SolidWorks軟件中啟動插件FeatureWorks“特征識別管理器”,使SolidWorks軟件具有實體特征識別功能.FeatureWorks可以識別SolidWorks文件中輸入實體的特征.識別的特征與使用SolidWorks軟件生成的特征相同,因而可以編輯所識別特征,也可以在草圖狀態(tài),通過重新定義其參數(shù),修改參數(shù)、新建編輯草圖來改變特征的幾何形狀.FeatureWorks對靜態(tài)的轉(zhuǎn)換文件能進行智能化處理,獲得有用的信息,減少了重建模型所花費的時間.
1) 首先把Pro/E畫好的文件另存為IGES或者STEP的格式.
圖7 輸入診斷提示框
2) 然后在SolidWorks軟件中通過相同的圖形標準打開這個文件,文件打開后,就會出現(xiàn)如圖7所示的對話框,提示是否對零件需要輸入診斷.
點擊“是”,打開如圖8(a)所示對話框,就會得到診斷結(jié)果,通過診斷該零件,在對話框里會顯示該零件“面”需要修復(fù),單擊右鍵“項目”,然后選擇“修復(fù)”操作,如果對話框中沒有錯誤內(nèi)容,表明修復(fù)成功,如果對話框中還顯示錯誤內(nèi)容,表明修復(fù)沒成功,表明“面”的這些數(shù)據(jù)通過中性文件中無法映射,這樣只能通過繪圖命令,重新完成的幾何造型,如圖8(b)所示.
參數(shù)化設(shè)計軟件還需要對模型特征進行識別,如圖8(c)所示,啟動插件FeatureWorks,會對零件所選取的特征進行識別,單擊“是”,就開始對零件進行識別,如圖9所示.
單擊識別后,出現(xiàn)如圖10所示的對話框,并且在FeatureManager特征管理器中預(yù)覽顯示圖形的特征樹.單擊“映射特征”直接進入顯示特征樹的三維實體特征模型的界面.如果想繼續(xù)顯示其它特征,單擊“繼續(xù)”,再根據(jù)相應(yīng)的提示進行相應(yīng)的操作.如果特征設(shè)有錯誤,零件轉(zhuǎn)換就完成,如圖11所示.如果零件有錯誤,則可以通過特征樹進行修改.
本設(shè)計也探討了由SolidWorks圖形轉(zhuǎn)換成Pro/E圖形的方法,轉(zhuǎn)換方式也同樣采用中性文件,實踐操作證明數(shù)據(jù)交換能夠基本實現(xiàn),但數(shù)據(jù)交換過程沒有由Pro/E向SolidWorks轉(zhuǎn)換那樣流暢,而且轉(zhuǎn)換過程中還存在以下一些問題.
(a)輸入診斷信息 (b)輸入診斷結(jié)果 (c)特征識別信息圖8 輸入診斷操作提示對話框
圖9 特征識別提示框
圖10 映射特征提示
圖11 特征轉(zhuǎn)換結(jié)果
(1) 在轉(zhuǎn)換過程中只能以三維實體的模型進行轉(zhuǎn)換,不能對其特征進行修改.
(2) 轉(zhuǎn)換后的文件存在尺寸不準的問題,存在數(shù)據(jù)易丟失的現(xiàn)象,如尺寸偏大或偏?。?/p>
(3) Solidworks圖形下的基準平面、基準軸不能轉(zhuǎn)換.
特征識別(FeatureWorks)為數(shù)據(jù)交換提供了一種嶄新的圖形特征識別、圖形重構(gòu)功能,充分保證數(shù)據(jù)交換的完整性,使操作更具有靈活性,創(chuàng)新性.但數(shù)據(jù)在交換過程中還需要注意以下幾點:
(1) 幾乎所有三維軟件都配有STEP標準,因此,基于STEP標準格式實現(xiàn)數(shù)據(jù)交換更具擴充性、數(shù)據(jù)交換時間更短,越來越成為設(shè)計人員歡迎的標準之一[10].
(2) 把Pro/E繪制的圖形轉(zhuǎn)換到Solidworks軟件中進行處理,需要通過 SolidWorks軟件菜單中的插件FeatureWorks“特征識別管理器”進行識別,兩者交換的數(shù)據(jù)較完整,而且還可在Solidworks軟件中對圖形進行修改.
(3) 把SolidWorks圖形轉(zhuǎn)換成Pro/E圖形則存在一些尺寸失真問題,轉(zhuǎn)換后存在數(shù)據(jù)丟失的現(xiàn)象.
(4) 盡可能減少復(fù)雜曲面特征,在轉(zhuǎn)換過程中圖形的轉(zhuǎn)換標準應(yīng)保持一致.
參考文獻:
[1] 郁飛鵬,賈鴻社.ADAMS與UG、SolidWorks的數(shù)據(jù)交換實踐[J].現(xiàn)代制造工程,2005(10):37-38.
[2] 仲梁維,張國全.計算機輔助設(shè)計與制造[M].北京:中國林業(yè)出版社,2007.
[3] 王富強,朱世范,張家泰,等.Pro/E中三維零件庫幾何編程接口的研究[J].應(yīng)用科技,2005(6):44-48.
[4] 楊洪君,寧汝新.Pro/E和UG之間三維模型數(shù)據(jù)交換方式[J].計算機輔助設(shè)計與圖形學報,2005(12):2756-2759.
[5] 王 霄,尹必峰.Pro/Engineer Wildfire 3.0 高級設(shè)計實例教程[M].北京:化學工業(yè)出版社,2007.
[6] 董曉嵐,黃筱調(diào).關(guān)于STEP中性文件的數(shù)據(jù)結(jié)構(gòu)的研究及實現(xiàn)[J].機械設(shè)計與制造,2005(10):49-50.
[7] 沈 璽,方 鵬,宋小青.淺談ANSYS 與SolidWorks 的數(shù)據(jù)交換[J].Equip Manuf Technol,2006(5):50-51.
[8] 李 宏.三維模型數(shù)據(jù)格式轉(zhuǎn)化的技巧[J].金華職業(yè)技術(shù)學院報,2008(6):15-16.
[9] 王 玲,樊可清.Pro/E三維造型向AutoCAD二維圖形的轉(zhuǎn)換技術(shù)[J].煤礦機械,2004(1):70-72.
[10] 李春友.基于飛機設(shè)計的IGES圖形數(shù)據(jù)交換[J].電子科學,2008(10):31-33.
[11] 邢啟恩.SolidWorks2007裝配體設(shè)計與案例精粹[M].北京:機械工業(yè)出版社,2006.