基于InterOp拓展SolidWorks數據接口
3D模型數據的轉換是具有不同數據格式的應用程序在實(shí)際應用中不可避免的問(wèn)題。一個(gè)項目可能是由多種CAD造型軟件構造;專(zhuān)業(yè)的CAM、CAE軟件需要讀入不同的模型數據;PDM/PLM等軟件需要直接瀏覽、管理不同的CAD產(chǎn)生的數據等,構成了數據轉換的強烈需求。
Solidworks自1995年問(wèn)世以來(lái),其優(yōu)異的性能、易用性和創(chuàng )新性,極大地提高了機械設計工程師的設計效率,在與同類(lèi)軟件的激烈競爭中已經(jīng)確立了它的市場(chǎng)地位,成為三維機械設計軟件市場(chǎng)的公認標準,在航空、航天、鐵道、兵器、電子、機械等領(lǐng)域擁有廣泛的用戶(hù)。其原因之一就是該軟件的插件之多是其余CAD軟件無(wú)法相比的,如:COSMOSWorks,FeatureWorks,PhotoWorks等,滿(mǎn)足了不同用戶(hù)多樣性的需求。
Solidworks對CATIA V5數據的支持在國際上已有多種解決方案,如:Formatworks、CAT5Works等,但此類(lèi)插件在市場(chǎng)上定位的價(jià)格較高,從某種程度上制約了國內大部分中小型企業(yè)的使用。筆者從應用需求出發(fā),利用Spatial公司的數據接口組件——InterOp開(kāi)發(fā)了V5Works這一插件,可以為Solidworks提供比較完善的CATIA V5數據接口,同時(shí)可以節約接口軟件購買(mǎi)的費用,為SolidWorks與CATIA V5之間的數據轉換建立良好的接口通道,實(shí)踐證明這是一種行之有效的解決方法。
2.開(kāi)發(fā)環(huán)境的選擇
美國Spatial公司開(kāi)發(fā)的數據接口組件InterOp能夠對市場(chǎng)上流行的3D格式如:CATIA V5、CATIA V4、IGES、STEP、VDA-FS、Pro/E、Parasolid、UG、Solidworks、Inventor和ACIS等進(jìn)行準確和透明的轉換,不僅支持包括實(shí)體、曲面和線(xiàn)框等幾何和拓撲信息的轉換,而且包括層、坐標系、工作平面、顏色屬性、名稱(chēng)以及裝配關(guān)系等系統環(huán)境或屬性信息,可以滿(mǎn)足用戶(hù)的多種需要。
Solidworks中提供了一系列的API函數,從界面到零件、裝配件和工程圖三種工作平臺下信息的提取都提供了很好的接口,支持多種編程語(yǔ)言。Solidworks中集成的宏程序功能,使得利用VBA或者VB進(jìn)行二次開(kāi)發(fā)時(shí)尤為方便。所開(kāi)發(fā)出來(lái)的插件可以與Solidworks很好的集成使用,滿(mǎn)足用戶(hù)各種不同的專(zhuān)業(yè)需求,減少了設計時(shí)間,提供了工作效率。
組件InterOp是基于VC環(huán)境下進(jìn)行編程,因此開(kāi)發(fā)的插件選擇在VC++6.0的環(huán)境下編譯調試。使用C++進(jìn)行SolidWorks的二次開(kāi)發(fā)相對VB來(lái)說(shuō)比較復雜,但開(kāi)發(fā)插件的穩定性以及擴展方面有比較大的優(yōu)勢。
V5Works插件是基于InterOp R16在Solidworks 2006的平臺上使用Visual C++ 6.0開(kāi)發(fā)完成的。經(jīng)過(guò)筆者的測試,可以與Solidworks 2006的無(wú)縫集成,并實(shí)現數據轉換的工作要求。
3.零件模型數據的轉換
實(shí)現SolidWorks中讀取CATIA V5的數據,可以將CATIA V5格式直接轉換成Solidworks的格式,但InterOp這個(gè)組件中沒(méi)有直接在這兩種數據間的轉換接口,因此需要一種中間格式來(lái)實(shí)現此類(lèi)轉換。
SAT數據格式可以是這個(gè)理想的中間格式。首先利用InterOp的數據接口將CATIA V5的數據轉換為SAT數據,這個(gè)轉換可以保證轉換的成功率和精度,滿(mǎn)足任何級別用戶(hù)的需要。SolidWorks內部的轉換接口支持SAT文件的讀入,最后一步是將讀入的SAT文件轉換為SolidWorks的數據格式,如圖1所示,從而實(shí)現CATIA V5文件的讀取。
評論