南方科技展覽模型  首頁(yè) > 資訊中心 > 新聞閱讀

結(jié)構(gòu)仿真中CAD模型自動(dòng)簡(jiǎn)化系統(tǒng)的實(shí)現(xiàn)_仿真模型


概述:結(jié)構(gòu)仿真中CAD模型自動(dòng)簡(jiǎn)化系統(tǒng)的實(shí)現(xiàn)_仿真模型,結(jié)構(gòu)仿真中CAD模型自動(dòng)簡(jiǎn)化系統(tǒng)的實(shí)現(xiàn)_仿真模型

結(jié)構(gòu)仿真中CAD模型自動(dòng)簡(jiǎn)化系統(tǒng)的實(shí)現(xiàn)

  隨著產(chǎn)品設(shè)計(jì)水平的提高,以及客戶(hù)對(duì)產(chǎn)品要求的增加,仿真分析已經(jīng)成為產(chǎn)品設(shè)計(jì)、性能分析和優(yōu)化不可或缺的部分,產(chǎn)品最終性能的改善和提高正從以經(jīng)驗(yàn)為主導(dǎo)的時(shí)代逐漸向以仿真分析為手段的階段過(guò)渡。在實(shí)際應(yīng)用中,無(wú)論是有限元仿真還是結(jié)構(gòu)運(yùn)動(dòng)和動(dòng)力學(xué)仿真,一般都需要將CAD軟件中設(shè)計(jì)的三維實(shí)體模型導(dǎo)入到仿真分析軟件中,模型的簡(jiǎn)化不可避免。對(duì)于單個(gè)零件或簡(jiǎn)單裝配體的簡(jiǎn)化,其工作量還較小,而要簡(jiǎn)化一個(gè)復(fù)雜的裝配體,其工作量是相當(dāng)繁重的,零件的取舍、小孔和小面的刪除等工作繁多,并且由于零件和零件之間存在裝配關(guān)系,有時(shí)還會(huì)導(dǎo)致不可預(yù)知的操作錯(cuò)誤。一個(gè)復(fù)雜裝配體的簡(jiǎn)化工作可能占到整個(gè)仿真工作量的40%左右。

  基于以上原因以及實(shí)際工作的需要,本文作者提出了模型自動(dòng)簡(jiǎn)化系統(tǒng)(MASS),并設(shè)計(jì)了一套模型簡(jiǎn)化軟件。該軟件基于OpenCASCADE開(kāi)源三維平臺(tái),以國(guó)際通用的STEP標(biāo)準(zhǔn)作為模型導(dǎo)入、導(dǎo)出的文件格式,實(shí)現(xiàn)了CAD模型解析、刪除零件、去除小面和內(nèi)孔等模型簡(jiǎn)化工作。為了提高自動(dòng)化水平,通過(guò)簡(jiǎn)單的參數(shù)設(shè)置,軟件可以實(shí)現(xiàn)自動(dòng)導(dǎo)入、簡(jiǎn)化和導(dǎo)出工作,實(shí)現(xiàn)無(wú)需人工干預(yù)自動(dòng)完成的功能,極大地提高了工作效率,降低了勞動(dòng)強(qiáng)度。

  一、OpenCASCADE平臺(tái)簡(jiǎn)介

  OpenCASCADE是基于面向?qū)ο蠹夹g(shù)開(kāi)發(fā)的、針對(duì)特定領(lǐng)域的C++類(lèi)庫(kù),提供了點(diǎn)、線、面、體和復(fù)雜形體的顯示和交互操作功能,可以處理二維和三維數(shù)據(jù),包括二維表面和實(shí)體建模、數(shù)據(jù)交換、仿真和分析等應(yīng)用。OpenCASCADE平臺(tái)提供了一個(gè)功能強(qiáng)大的三維建模工具庫(kù),經(jīng)過(guò)深度開(kāi)發(fā)后可實(shí)現(xiàn)紋理、光照、圖元填充和渲染等圖形操作,和放大、縮小、旋轉(zhuǎn)、漫游和模擬飛行等動(dòng)態(tài)操作,目前最新版本是6.5.0。

  OpenCASCADE軟件平臺(tái)具有以下主要功能,對(duì)象庫(kù)是基于CAS.CADE技術(shù)開(kāi)發(fā)的,具有模塊化、易于擴(kuò)展等特點(diǎn)。

  ◎二維和三維建模,包括基本實(shí)體建模、布爾操作、特征操作(倒角、拔模等)及復(fù)雜建模技術(shù)(偏移、殼、拔模和掃描等)。

  ◎幾何空間關(guān)系計(jì)算,包括法線、點(diǎn)積、叉積、投影和擬合等。

  ◎幾何體分析,計(jì)算模型的質(zhì)心、體積和曲率等屬性。

  ◎可視化,管理顯示對(duì)象和視圖操作,包括對(duì)象的顯示、隱藏,視圖的旋轉(zhuǎn)、縮放、平移和渲染等。

  ◎應(yīng)用程序框架,包括幾何體和非幾何體數(shù)據(jù)關(guān)聯(lián)、參數(shù)化建模,以及Java應(yīng)用平臺(tái)。

  ◎數(shù)據(jù)交換,提供模型的導(dǎo)入、導(dǎo)出功能,免費(fèi)的三維模型接口包括IGES和STEP(AP203、AP214和AP209)文件格式,網(wǎng)格模型接口包括STL、OBJ和VRML等。

  二、STEP文件解析

  STEP(The STandard for the Exchange of Product model data)標(biāo)準(zhǔn)是國(guó)際標(biāo)準(zhǔn)化組織制定的、用于描述整個(gè)產(chǎn)品生命周期內(nèi)產(chǎn)品信息的標(biāo)準(zhǔn),是一個(gè)正在完善中的“產(chǎn)品數(shù)據(jù)模型交換標(biāo)準(zhǔn)”,ISO正式代號(hào)為ISO-。它提供了一種不依賴(lài)具體系統(tǒng)的中性機(jī)制,旨在實(shí)現(xiàn)產(chǎn)品數(shù)據(jù)的交換和共享。發(fā)達(dá)國(guó)家已經(jīng)把STEP標(biāo)準(zhǔn)推向了工業(yè)應(yīng)用,它的應(yīng)用顯著降低了產(chǎn)品生命周期內(nèi)的信息交換成本,提高了產(chǎn)品研發(fā)效率,成為制造業(yè)進(jìn)行國(guó)際合作、參與國(guó)際競(jìng)爭(zhēng)的重要基礎(chǔ)標(biāo)準(zhǔn),是保持企業(yè)競(jìng)爭(zhēng)力的重要工具。

  整個(gè)STEP系統(tǒng)分為三個(gè)層次:由上至下依次為應(yīng)用層、邏輯層和物理層,其層次關(guān)系如圖1所示。

  STEP標(biāo)準(zhǔn)具有簡(jiǎn)便、可兼容性、壽命周期長(zhǎng)和可擴(kuò)展性的優(yōu)點(diǎn),能夠很好地解決信息集成問(wèn)題,實(shí)現(xiàn)資源的最優(yōu)組合,實(shí)現(xiàn)信息的無(wú)縫連接。

  由于STEP標(biāo)準(zhǔn)包含多種應(yīng)用協(xié)議,因此對(duì)STEP文件內(nèi)容的完全解析將是一項(xiàng)復(fù)雜而龐大的工作。因此,本文對(duì)STEP內(nèi)容的解析只涉及三維模型部分,可以解析的STEP應(yīng)用協(xié)議包括AP203、Ap214CD、AP214IS和AP214DIS等。要實(shí)現(xiàn)STEP文件到OpenCASCADE平臺(tái)的轉(zhuǎn)換過(guò)程,必須在兩者之間建立一個(gè)對(duì)象之間一一對(duì)應(yīng)的映射關(guān)系,表列出了部分對(duì)象的映射關(guān)系對(duì)照表。

  三、模型簡(jiǎn)化系統(tǒng)的實(shí)現(xiàn)

  模型簡(jiǎn)化系統(tǒng)以O(shè)penCASCADE作為三維模型簡(jiǎn)化的底層開(kāi)發(fā)平臺(tái),實(shí)體模型交換數(shù)據(jù)采用國(guó)際通用的STEP文件格式,采用C#作為界面開(kāi)發(fā)平臺(tái),結(jié)合VS2008編譯環(huán)境設(shè)計(jì)開(kāi)發(fā)了模型自動(dòng)簡(jiǎn)化系統(tǒng),軟件可以脫離任何CAD環(huán)境而獨(dú)立運(yùn)行。

  模型簡(jiǎn)化系統(tǒng)大體可分為模型的導(dǎo)入、模型的簡(jiǎn)化和模型的導(dǎo)出三個(gè)部分。模型的導(dǎo)入又包括STEP模型的解析和模型重建兩部分;模型的簡(jiǎn)化包括刪除、去除內(nèi)孔和刪除小面片等功能;模型的導(dǎo)出即將簡(jiǎn)化后的模型保存為STEP格式文件,可看作模型導(dǎo)入的逆操作。

  1.STEP模型導(dǎo)入

  STEP文件的導(dǎo)入工作主要用到OpenCASCADE庫(kù)的XDE(eXtendedDataExchange)模塊,此模塊包含了導(dǎo)入模型的裝配結(jié)構(gòu)、節(jié)點(diǎn)屬性、節(jié)點(diǎn)名稱(chēng)、零件顏色和層等信息,模塊以O(shè)CAF(OpenCASCADEApplicationFramework)為基礎(chǔ),可以讀寫(xiě)STEP和IGES文件。以下程序片段將加載STEP文件,并進(jìn)行必要的轉(zhuǎn)換工作。

  STEPCAFControl_Readerreader;

  reader.ReadFile(stepFileName);

  Handle(TDocStd_Document)doc=newTDocStd_Document(“XDEForSTEP”);

  reader.SetColorMode(true);

  reader.SetNameMode(true);

  booltrans=reader.Transfer(doc);

  文件轉(zhuǎn)換完成后就可以進(jìn)行解析,由于STEP文件保留了模型的裝配層次關(guān)系,轉(zhuǎn)換后的文件也將以此種結(jié)構(gòu)保存在內(nèi)存中。使用遞歸算法遍歷每一個(gè)裝配節(jié)點(diǎn),即可完成模型的導(dǎo)入工作。

  2.模型簡(jiǎn)化

  模型簡(jiǎn)化功能提供了三種簡(jiǎn)化方式:刪除零件、刪除內(nèi)孔和刪除小面。刪除零件又可細(xì)分為以零件體積作為參數(shù)和以零件厚度作為參數(shù)。

  刪除零件操作以設(shè)定的最小零件體積和最小零件厚度為參數(shù),掃描所有的零件,將體積或厚度小于設(shè)定值的零件從裝配體中刪除掉。此外,還可以從裝配樹(shù)入手,將子裝配一起刪除。模型簡(jiǎn)化中的去除內(nèi)孔和刪除小面片操作需要用到OpenCASCADE庫(kù)的ModelingAlgorithms-ShapeHealing模塊,此模塊提供了模型的分析、修補(bǔ)、特征操作和定制等功能,屬于OpenCASCADE庫(kù)的高級(jí)應(yīng)用部分。

  去除內(nèi)孔功能的基本原理是:根據(jù)零件拓?fù)浣Y(jié)構(gòu)遍歷

  模型所有的面單元,對(duì)于每一個(gè)面單元遍歷所有的內(nèi)環(huán)單元,計(jì)算由內(nèi)環(huán)所圍成的面的面積,當(dāng)面積小于給定值時(shí)刪除此內(nèi)環(huán)。刪除小面片的操作和去除內(nèi)孔功能流程相似,即循環(huán)所有的面單元并計(jì)算面積,當(dāng)面積小于設(shè)定值時(shí)刪除此面,刪除結(jié)束后進(jìn)行必要的模型修補(bǔ)工作。

  為了提高模型簡(jiǎn)化的自動(dòng)化水平,和在無(wú)人值守的情況下(如下班后)執(zhí)行簡(jiǎn)化工作,軟件提供了模型的自動(dòng)導(dǎo)入、簡(jiǎn)化和導(dǎo)出工作,圖5是自動(dòng)簡(jiǎn)化模型定制窗口,通過(guò)簡(jiǎn)單的參數(shù)設(shè)置就可以實(shí)現(xiàn)模型自動(dòng)導(dǎo)入、簡(jiǎn)化和導(dǎo)出工作,以及操作結(jié)束后自動(dòng)關(guān)機(jī)功能。

  3.模型導(dǎo)出

  簡(jiǎn)化后的模型導(dǎo)出為STEP文件格式時(shí),需保留裝配樹(shù)結(jié)構(gòu)以及零件信息,如名稱(chēng)qxcxs.com、顏色等,因此需對(duì)裝配樹(shù)節(jié)點(diǎn)進(jìn)行迭代處理。此過(guò)程為STEP模型導(dǎo)入的逆過(guò)程。

  四、總結(jié)

  本文通過(guò)引入STEP標(biāo)準(zhǔn)和軟件自動(dòng)執(zhí)行技術(shù),提出了三維模型自動(dòng)簡(jiǎn)化系統(tǒng)(MASS),為CAD模型向CAE模型的轉(zhuǎn)換提供了一條新的模型解決方案,并基于OpenCASCADE開(kāi)源三維庫(kù)建立了相應(yīng)的實(shí)現(xiàn)軟件。通過(guò)實(shí)際應(yīng)用,軟件的自動(dòng)簡(jiǎn)化模型功能穩(wěn)定,簡(jiǎn)化效果明顯,在降低勞動(dòng)強(qiáng)度的同時(shí)極大地提高了仿真工作的效率。