結(jié)構(gòu)仿真中CAD模型自動簡化系統(tǒng)的實現(xiàn)
隨著產(chǎn)品設計水平的提高,以及客戶對產(chǎn)品要求的增加,仿真分析已經(jīng)成為產(chǎn)品設計、性能分析和優(yōu)化不可或缺的部分,產(chǎn)品最終性能的改善和提高正從以經(jīng)驗為主導的時代逐漸向以仿真分析為手段的階段過渡。在實際應用中,無論是有限元仿真還是結(jié)構(gòu)運動和動力學仿真,一般都需要將CAD軟件中設計的三維實體模型導入到仿真分析軟件中,模型的簡化不可避免。對于單個零件或簡單裝配體的簡化,其工作量還較小,而要簡化一個復雜的裝配體,其工作量是相當繁重的,零件的取舍、小孔和小面的刪除等工作繁多,并且由于零件和零件之間存在裝配關系,有時還會導致不可預知的操作錯誤。一個復雜裝配體的簡化工作可能占到整個仿真工作量的40%左右。
基于以上原因以及實際工作的需要,本文作者提出了模型自動簡化系統(tǒng)(MASS),并設計了一套模型簡化軟件。該軟件基于OpenCASCADE開源三維平臺,以國際通用的STEP標準作為模型導入、導出的文件格式,實現(xiàn)了CAD模型解析、刪除零件、去除小面和內(nèi)孔等模型簡化工作。為了提高自動化水平,通過簡單的參數(shù)設置,軟件可以實現(xiàn)自動導入、簡化和導出工作,實現(xiàn)無需人工干預自動完成的功能,極大地提高了工作效率,降低了勞動強度。
一、OpenCASCADE平臺簡介
OpenCASCADE是基于面向?qū)ο蠹夹g(shù)開發(fā)的、針對特定領域的C++類庫,提供了點、線、面、體和復雜形體的顯示和交互操作功能,可以處理二維和三維數(shù)據(jù),包括二維表面和實體建模、數(shù)據(jù)交換、仿真和分析等應用。OpenCASCADE平臺提供了一個功能強大的三維建模工具庫,經(jīng)過深度開發(fā)后可實現(xiàn)紋理、光照、圖元填充和渲染等圖形操作,和放大、縮小、旋轉(zhuǎn)、漫游和模擬飛行等動態(tài)操作,目前最新版本是6.5.0。
OpenCASCADE軟件平臺具有以下主要功能,對象庫是基于CAS.CADE技術(shù)開發(fā)的,具有模塊化、易于擴展等特點。
◎二維和三維建模,包括基本實體建模、布爾操作、特征操作(倒角、拔模等)及復雜建模技術(shù)(偏移、殼、拔模和掃描等)。
◎幾何空間關系計算,包括法線、點積、叉積、投影和擬合等。
◎幾何體分析,計算模型的質(zhì)心、體積和曲率等屬性。
◎可視化,管理顯示對象和視圖操作,包括對象的顯示、隱藏,視圖的旋轉(zhuǎn)、縮放、平移和渲染等。
◎應用程序框架,包括幾何體和非幾何體數(shù)據(jù)關聯(lián)、參數(shù)化建模,以及Java應用平臺。
◎數(shù)據(jù)交換,涂料廣告設計提供模型的導入、導出功能,免費的三維模型接口包括IGES和STEP(AP203、AP214和AP209)文件格式,網(wǎng)格模型接口包括STL、OBJ和VRML等。
二、STEP文件解析
STEP(TheSTandardfortheExchangeofProduct modeldata)標準是國際標準化組織制定的、用于描述整個產(chǎn)品生命周期內(nèi)產(chǎn)品信息的標準,是一個正在完善中的“產(chǎn)品數(shù)據(jù)模型交換標準”,ISO正式代號為ISO-。它提供了一種不依賴具體系統(tǒng)的中性機制,旨在實現(xiàn)產(chǎn)品數(shù)據(jù)的交換和共享。發(fā)達國家已經(jīng)把STEP標準推向了工業(yè)應用,它的應用顯著降低了產(chǎn)品生命周期內(nèi)的信息交換成本,提高了產(chǎn)品研發(fā)效率,成為制造業(yè)進行國際合作、參與國際競爭的重要基礎標準,是保持企業(yè)競爭力的重要工具。
整個STEP系統(tǒng)分為三個層次:由上至下依次為應用層、邏輯層和物理層,其層次關系如圖1所示。
STEP標準具有簡便、可兼容性、壽命周期長和可擴展性的優(yōu)點,能夠很好地解決信息集成問題,實現(xiàn)資源的最優(yōu)組合,實現(xiàn)信息的無縫連接。
由于STEP標準包含多種應用協(xié)議,因此對STEP文件內(nèi)容的完全解析將是一項復雜而龐大的工作。因此,本文對STEP內(nèi)容的解析只涉及三維模型部分,可以解析的STEP應用協(xié)議包括AP203、Ap214CD、AP214IS和AP214DIS等。要實現(xiàn)STEP文件到OpenCASCADE平臺的轉(zhuǎn)換過程,必須在兩者之間建立一個對象之間一一對應的映射關系,表列出了部分對象的映射關系對照表m.yknowyournumbers.com。
三、模型簡化系統(tǒng)的實現(xiàn)
模型簡化系統(tǒng)以OpenCASCADE作為三維模型簡化的底層開發(fā)平臺,實體模型交換數(shù)據(jù)采用國際通用的STEP文件格式,采用C#作為界面開發(fā)平臺,結(jié)合VS2008編譯環(huán)境設計開發(fā)了模型自動簡化系統(tǒng),軟件可以脫離任何CAD環(huán)境而獨立運行。
模型簡化系統(tǒng)大體可分為模型的導入、模型的簡化和模型的導出三個部分。模型的導入又包括STEP模型的解析和模型重建兩部分;模型的簡化包括刪除、去除內(nèi)孔和刪除小面片等功能;模型的導出即將簡化后的模型保存為STEP格式文件,可看作模型導入的逆操作。
1.STEP模型導入
STEP文件的導入工作主要用到OpenCASCADE庫的XDE(eXtendedDataExchange)模塊,此模塊包含了導入模型的裝配結(jié)構(gòu)、節(jié)點屬性、節(jié)點名稱、零件顏色和層等信息,模塊以OCAF(OpenCASCADEApplicationFramework)為基礎,可以讀寫STEP和IGES文件。以下程序片段將加載STEP文件,并進行必要的轉(zhuǎn)換工作。
文件轉(zhuǎn)換完成后就可以進行解析,由于STEP文件保留了模型的裝配層次關系,轉(zhuǎn)換后的文件也將以此種結(jié)構(gòu)保存在內(nèi)存中。使用遞歸算法遍歷每一個裝配節(jié)點,即可完成模型的導入工作。
2.模型簡化
模型簡化功能提供了三種簡化方式:刪除零件、刪除內(nèi)孔和刪除小面。刪除零件又可細分為以零件體積作為參數(shù)和以零件厚度作為參數(shù)。
刪除零件操作以設定的最小零件體積和最小零件厚度為參數(shù),掃描所有的零件,將體積或厚度小于設定值的零件從裝配體中刪除掉。此外,還可以從裝配樹入手,將子裝配一起刪除。模型簡化中的去除內(nèi)孔和刪除小面片操作需要用到OpenCASCADE庫的ModelingAlgorithms-ShapeHealing模塊,此模塊提供了模型的分析、修補、特征操作和定制等功能,屬于OpenCASCADE庫的高級應用部分。
去除內(nèi)孔功能的基本原理是:根據(jù)零件拓撲結(jié)構(gòu)遍歷
模型所有的面單元,對于每一個面單元遍歷所有的內(nèi)環(huán)單元,計算由內(nèi)環(huán)所圍成的面的面積,當面積小于給定值時刪除此內(nèi)環(huán)。刪除小面片的操作和去除內(nèi)孔功能流程相似,即循環(huán)所有的面單元并計算面積,當面積小于設定值時刪除此面,刪除結(jié)束后進行必要的模型修補工作。
為了提高模型簡化的自動化水平,和在無人值守的情況下(如下班后)執(zhí)行簡化工作,軟件提供了模型的自動導入、簡化和導出工作,自動簡化模型定制窗口,通過簡單的參數(shù)設置就可以實現(xiàn)模型自動導入、簡化和導出工作,以及操作結(jié)束后自動關機功能。
3.模型導出
簡化后的模型導出為STEP文件格式時,需保留裝配樹結(jié)構(gòu)以及零件信息,如名稱、顏色等,因此需對裝配樹節(jié)點進行迭代處理。此過程為STEP模型導入的逆過程。
四、總結(jié)
本文通過引入STEP標準和軟件自動執(zhí)行技術(shù),提出了三維模型自動簡化系統(tǒng)(MASS),為CAD模型向CAE模型的轉(zhuǎn)換提供了一條新的模型解決方案,并基于OpenCASCADE開源三維庫建立了相應的實現(xiàn)軟件。通過實際應用,軟件的自動簡化模型功能穩(wěn)定,簡化效果明顯,在降低勞動強度的同時極大地提高了仿真工作的效率。