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