我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁(yè) > UG教程下載

基于特征抑制的UG CAD模型自動(dòng)簡(jiǎn)化技術(shù)

時(shí)間:2010-11-15 09:53:59 來(lái)源:

1 前言

目前CAD技術(shù)占主導(dǎo)地位的是參數(shù)化建模技術(shù)和變量化建模技術(shù)。變量化技術(shù)既保持了參數(shù)化技術(shù)的原有優(yōu)點(diǎn),同時(shí)又克服了它的許多不足之處。采用參數(shù)化技術(shù)和變量化技術(shù)的代表性軟件分別是Pro/E和UG。UG軟件起源于美國(guó)麥道飛機(jī)公司,1991年并入EDS公司,2000年左右成功收購(gòu)I-Deas軟件,并綜合了上述兩款優(yōu)秀的CAD軟件的優(yōu)勢(shì)之后推出全新UGII軟件,UGII在實(shí)體模型構(gòu)造上采用復(fù)合建模技術(shù),能夠無(wú)縫地集成CSG建模、基于約束的特征建模和基于曲面拼合的建模等多種建模方法到同一個(gè)建模框架內(nèi)。

特征造型是參數(shù)化造型理論的深化與拓展。特征不僅包含參數(shù)信息,還包含各種物理信息及加工信息。特征是設(shè)計(jì)者對(duì)設(shè)計(jì)對(duì)象的功能、形狀、結(jié)構(gòu)、制造、裝配、檢驗(yàn)、管理與使用信息及其關(guān)系等具有確切工程含義的高層次抽象描述[1]。特征包含豐富的工程語(yǔ)義,它是在更高層次上對(duì)幾何形體的集成描述。特征建模是指通過(guò)特征及其集合來(lái)定義、描述零件模型的過(guò)程[2]。特征模型用邏輯上相互關(guān)聯(lián)、互相影響的語(yǔ)義網(wǎng)絡(luò)對(duì)特征事例及其關(guān)系進(jìn)行描述和表達(dá),它與底層的幾何元素點(diǎn)、邊、面來(lái)表示幾何實(shí)體的方法的區(qū)別是:特征模型采用高層次的具有功能意義的實(shí)體,如孔、槽等,其操作對(duì)象不是原始的幾何元素,而是產(chǎn)品的功能要素、技術(shù)信息和管理信息。

相比較CAE、VR系統(tǒng)而言,CAD系統(tǒng)具有最強(qiáng)的幾何建模能力,目前獲取CAE、VR系統(tǒng)下的產(chǎn)品模型的主要手段是把在三維建模CAD軟件(如UG、Pro/E、Catia等)中建立的CAD模型進(jìn)行相應(yīng)的模型轉(zhuǎn)換[3]。出于計(jì)算速度和顯示速度等多方面的考慮,CAE系統(tǒng)需要對(duì)進(jìn)行計(jì)算的模型進(jìn)行簡(jiǎn)化而VR系統(tǒng)則需要建立復(fù)雜樣機(jī)模型的LOD(Level-of-Detail)模型,目前采用的模型簡(jiǎn)化的方法大都采用手工進(jìn)行的方式,效率低下,LOD模型的獲取則主要是通過(guò)多邊形面片模型簡(jiǎn)化算法來(lái)獲取,然而由于模型小面片化以后就失去了與原有參數(shù)曲面之間的拓?fù)潢P(guān)系,同時(shí)多邊形面片簡(jiǎn)化算法實(shí)現(xiàn)方式各不相同,都有各自的特點(diǎn)及適用范圍,簡(jiǎn)化的準(zhǔn)確性在很大程度上依賴(lài)于初始多邊形網(wǎng)格的幾何結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),以及最終想要得到的結(jié)果,因此具有較大的先天缺陷和局限性。

本文提出的基于特征抑制的CAD模型自動(dòng)簡(jiǎn)化技術(shù)把模型簡(jiǎn)化工作提前到CAD建模階段,用于在CAD領(lǐng)域內(nèi)批量自動(dòng)完成CAD模型的簡(jiǎn)化工作,從而減少模型中細(xì)小參數(shù)曲面的數(shù)量。CAD模型自動(dòng)簡(jiǎn)化后可再通過(guò)專(zhuān)用或中性文件格式轉(zhuǎn)換輸出得到需要的模型格式。

2 算法思想及實(shí)現(xiàn)

UGII采用了特征建模的模型構(gòu)建方法,在模型建模樹(shù)中保存了產(chǎn)品建模過(guò)程中的每一步特征生成步驟,圖1是某個(gè)產(chǎn)品在UG NX中的建模樹(shù),這為基于特征抑止的CAD模型簡(jiǎn)化方法提供了可能。該方法的核心思想是:首先定義模型簡(jiǎn)化規(guī)則并獲取產(chǎn)品建模過(guò)程和建模數(shù)據(jù),通過(guò)規(guī)則匹配、誤差控制等操作提取出模型中可簡(jiǎn)化建模特征,通過(guò)模型的邊界表示結(jié)構(gòu)判斷建模特征可否抑制,最后抑制所有可簡(jiǎn)化特征并更新模型。

具體步驟包括:通過(guò)CAD二次開(kāi)發(fā)技術(shù)(本文采用UG OPEN API)獲取UG CAD模型的建模過(guò)程及相關(guān)參數(shù);構(gòu)建UG CAD模型簡(jiǎn)化規(guī)則并加以實(shí)現(xiàn)而形成簡(jiǎn)化規(guī)則函數(shù)庫(kù);通過(guò)規(guī)則匹配和簡(jiǎn)化誤差計(jì)算來(lái)提取模型中所有可簡(jiǎn)化特征;通過(guò)模型的邊界表示結(jié)構(gòu)判斷建模特征是否可以被抑制,如果可以則執(zhí)行相應(yīng)簡(jiǎn)化函數(shù),最后更新模型并完成模型簡(jiǎn)化。


圖1 UG產(chǎn)品模型建模樹(shù)

2.1 UG的建模形狀特征

UGII軟件采用中采用基于特征的層次建模方式,從而提供了產(chǎn)品定義的高層描述,這樣用戶(hù)在產(chǎn)品設(shè)計(jì)的時(shí)候就可以在更高的抽象層次上進(jìn)行,設(shè)計(jì)人員可以直接對(duì)產(chǎn)品的形狀特征(如孔、螺紋等)進(jìn)行操作,而可以不采用底層的基于點(diǎn)、線、面、體、布爾運(yùn)算等復(fù)雜操作來(lái)完成產(chǎn)品的設(shè)計(jì)開(kāi)發(fā)過(guò)程。UGII的建模形狀特征(不考慮自由曲面建模)如圖2所示。




圖2 UGII的建模特征

2.2 簡(jiǎn)化誤差控制

CAD模型的簡(jiǎn)化應(yīng)該根據(jù)CAD模型建模尺寸和簡(jiǎn)化誤差控制范圍來(lái)確定。基于特征抑止的CAD模型簡(jiǎn)化方法不是對(duì)某類(lèi)建模特征不加控制的一律刪除,而是根據(jù)具體情況計(jì)算每類(lèi)特征的控制參數(shù)閥值,從而抑止參數(shù)小于該閥值的對(duì)應(yīng)特征,而保留那些參數(shù)大于該閥值的相應(yīng)特征。


圖3 倒圓角特征刪除后的表面距離偏差

本文采用表面距離誤差作為簡(jiǎn)化誤差控制的全局參數(shù),所謂表面距離誤差,就是模型簡(jiǎn)化以后簡(jiǎn)化區(qū)域形成的新參數(shù)曲面到簡(jiǎn)化前對(duì)應(yīng)的參數(shù)曲面之間的最大距離。例如對(duì)于兩個(gè)垂直平面的交線進(jìn)行倒圓角特征如圖3所示,倒角半徑為R,把該倒圓角特征刪除以后的表面距離誤差 。對(duì)于任意表面距離容差x(x>0)當(dāng)被倒角的兩條邊的夾角為任意θ時(shí),半徑值滿(mǎn)足式2-1的倒圓角特征可以被刪除。


對(duì)于每一類(lèi)建模特征,都有多個(gè)控制參數(shù)用于控制該類(lèi)特征,例如,對(duì)于倒角特征來(lái)說(shuō),有圖4所示的多種建模方法和多個(gè)控制參數(shù)[5]。簡(jiǎn)化誤差控制參數(shù)閥值對(duì)每類(lèi)可簡(jiǎn)化特征的各種具體的建模方法計(jì)算相應(yīng)的控制參數(shù)閥值。


圖4 倒角特征的三種建模方法及其控制參數(shù)

2.3 簡(jiǎn)化規(guī)則構(gòu)造及實(shí)現(xiàn)

通過(guò)對(duì)機(jī)械類(lèi)產(chǎn)品UG模型的理解和分析并結(jié)合UGII中建模特征,總結(jié)出以下模型簡(jiǎn)化規(guī)則,可以看到,這些可簡(jiǎn)化特征基本都屬于UG主建模特征中的細(xì)節(jié)特征。

 抑制倒角(對(duì)應(yīng)于Chamfer建模特征)
 抑制倒圓角(對(duì)應(yīng)于Blend建模特征)
 抑制螺紋(對(duì)應(yīng)于Thread建模特征)
 抑制退刀槽(對(duì)應(yīng)于Groove建模特征)
 抑制小孔(對(duì)應(yīng)于Hole建模特征)
 抑制凸臺(tái)(對(duì)應(yīng)于Pad、Boss建模特征)
 抑制凹槽(對(duì)應(yīng)于Pocket、Slot建模特征)

簡(jiǎn)化規(guī)則的實(shí)現(xiàn)采用函數(shù)對(duì)應(yīng)的方式,一條簡(jiǎn)化規(guī)則對(duì)應(yīng)于一個(gè)簡(jiǎn)化函數(shù)。這樣的構(gòu)造方法有利于簡(jiǎn)化規(guī)則庫(kù)的擴(kuò)展和更改,一旦重新加入另一條簡(jiǎn)化規(guī)則,就可以很容易的對(duì)現(xiàn)有模塊進(jìn)行擴(kuò)充而加以實(shí)現(xiàn)。

簡(jiǎn)化函數(shù)采用UG OPEN API函數(shù)以及C語(yǔ)言構(gòu)造,簡(jiǎn)化函數(shù)的實(shí)現(xiàn)中的最重要的問(wèn)題是UG模型中對(duì)象的提取與匹配,UG模型中包含的對(duì)象包括幾何實(shí)體對(duì)象和非實(shí)體對(duì)象。幾何實(shí)體對(duì)象包括實(shí)體、面、線、點(diǎn)等。非幾何對(duì)象包含坐標(biāo)系對(duì)象、對(duì)象尺寸、顏色、線型、屬性對(duì)象等等。每個(gè)UG對(duì)象都可以通過(guò)唯一的對(duì)象標(biāo)識(shí)(tag)來(lái)引用。如下的代碼段用于獲取一個(gè)UG CAD文件中所有的建模特征標(biāo)識(shí)以及特征名稱(chēng):

tag_t part1;//打開(kāi)零件模型的標(biāo)識(shí)
UF_PART_load_status_t error_status;
int type=UF_feature_type;//需要遍歷的對(duì)象類(lèi)型
tag_t feature=NULL_TAG;//定義特征標(biāo)識(shí)
tag_t * fea_tags=0;//定義特征標(biāo)識(shí)指針
int I_count=0,feature_count;//用于獲取模型中的特征數(shù)量
UF_PART_open(partname,&part1,&error_status);//打開(kāi)模型文件
UF_OBJ_cycle_objs_in_part(part1,type,&feature);
while(feature!=NULL_TAG)
{ I _count++;
UF_OBJ_cycle_objs_in_part(part1,type,&feature); }
feature_count=I_count;//得到模型中的所有建模特征的數(shù)量
fea_tags =new tag_t[feature_count]; //為指針?lè)峙淇臻g
char* fea_names[500];//定義指針,假定文件中特征數(shù)量不大于500個(gè)
{for(int i=0;i< feature_count;i++)
fea_names[i]=new char[133]; //為指針?lè)峙淇臻g }
{ feature=NULL_TAG;
for (int i=0;i< feature_count;i++)
{
UF_OBJ_cycle_objs_in_part(part1,type,&feature); //獲取文件中每一個(gè)特征的標(biāo)識(shí)
fea_tags[i]=feature; //把特征標(biāo)識(shí)存入數(shù)組
UF_MODL_ask_feat_name(feature,&feature_name);//獲取文件中每一個(gè)特征的名稱(chēng)
strcpy(fea_names[i],feature_name);//把特征名稱(chēng)存入數(shù)組
}
}

圖5的程序框圖用于刪除UG CAD模型中的倒角半徑小于誤差控制閥值的所有倒圓角特征。
 
圖5 抑制倒圓角特征算法程序框圖

2.4 特征間的父子關(guān)系

UG模型中的幾何對(duì)象是有序的,它們一一對(duì)應(yīng)于涉及零件形體改變的每一步操作,系統(tǒng)根據(jù)對(duì)象間的依賴(lài)關(guān)系給出對(duì)象間的父子關(guān)系,所有特征節(jié)點(diǎn)都是依賴(lài)于其父特征節(jié)點(diǎn)作為其定位或其它操作的依據(jù),一定刪除某個(gè)父節(jié)點(diǎn)特征,那么該特征所屬的所有子節(jié)點(diǎn)特征就會(huì)失去參考依據(jù),從而引起模型更新的錯(cuò)誤或該節(jié)點(diǎn)所有子特征信息的丟失,圖6是一個(gè)倒圓角特征在某個(gè)模型中的父子依賴(lài)關(guān)系示例,該特征依賴(lài)于一個(gè)立方體特征,一旦刪除該立方體特征,該倒圓角特征就會(huì)丟失。

在進(jìn)行特征抑止的時(shí)候應(yīng)充分考慮特征間的父子關(guān)系,如果某個(gè)可被抑止的特征是作為其它不可抑止特征的父特征存在的時(shí)候,那么該特征應(yīng)該從可抑止特征列表中移除,如下函數(shù)用于獲取某個(gè)建模特征的父子依存關(guān)系:

extern int UF_MODL_ask_feat_relatives (
tag_t feature_tag,
int * num_parents,
tag_t ** parent_array,
int * num_children,
tag_t ** children_array );

3 結(jié)論

在實(shí)際應(yīng)用中,經(jīng)常需要把CAD模型轉(zhuǎn)換輸出作為VR模型的輸入來(lái)源,我們采用VC6和UG OPEN API開(kāi)發(fā)了一個(gè)CAD模型簡(jiǎn)化模塊,該模塊采用MFC對(duì)話框進(jìn)行界面設(shè)計(jì),圖7是其運(yùn)行主界面,該模塊在UG內(nèi)部環(huán)境下(Internal)運(yùn)行,運(yùn)行時(shí)輸入U(xiǎn)G CAD文件所在文件夾及其它設(shè)置,系統(tǒng)自動(dòng)對(duì)該文件夾下所有UG CAD文件進(jìn)行模型簡(jiǎn)化,從而大大提高工作效率。

圖8中a)是對(duì)每條邊倒圓角半徑為2的10*10*10mm3的立方體直接進(jìn)行三角剖分的效果,共有108個(gè)三角形組成。b)是該立方體進(jìn)行模型簡(jiǎn)化以后(倒圓角特征被抑制了)的三角剖分效果,僅需12個(gè)三角形就完成了描述。對(duì)上述兩圖的三角剖分的表面距離容差、曲線距離容差均為1mm。圖9是對(duì)一個(gè)蓋子模型的處理結(jié)果比較,表面距離容差為2mm。

CAD模型的簡(jiǎn)化可以大大減少模型中的細(xì)節(jié)特征,減少模型中參數(shù)曲面和公共邊界曲線的數(shù)量,由于這些細(xì)小特征所在的區(qū)域通常是模型離散和三角剖分以后三角形密度比較集中的區(qū)域,因此,本文提出的方法可以大大減少最終模型的三角形面片數(shù)量。

本方法實(shí)用性強(qiáng)、操作方便,可以大大減少模型簡(jiǎn)化的工作量,并可以把簡(jiǎn)化誤差嚴(yán)格控制在用戶(hù)的指定范圍內(nèi),目前已經(jīng)在多個(gè)項(xiàng)目中取得了較好的使用效果,相信本技術(shù)會(huì)得到越來(lái)越廣泛的應(yīng)用。


相關(guān)文章