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

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

基于特征抑制的UG CAD模型自動簡化技術(shù)

時間:2010-11-15 09:53:59 來源:

1 前言

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

特征造型是參數(shù)化造型理論的深化與拓展。特征不僅包含參數(shù)信息,還包含各種物理信息及加工信息。特征是設(shè)計者對設(shè)計對象的功能、形狀、結(jié)構(gòu)、制造、裝配、檢驗、管理與使用信息及其關(guān)系等具有確切工程含義的高層次抽象描述[1]。特征包含豐富的工程語義,它是在更高層次上對幾何形體的集成描述。特征建模是指通過特征及其集合來定義、描述零件模型的過程[2]。特征模型用邏輯上相互關(guān)聯(lián)、互相影響的語義網(wǎng)絡(luò)對特征事例及其關(guān)系進(jìn)行描述和表達(dá),它與底層的幾何元素點(diǎn)、邊、面來表示幾何實(shí)體的方法的區(qū)別是:特征模型采用高層次的具有功能意義的實(shí)體,如孔、槽等,其操作對象不是原始的幾何元素,而是產(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]。出于計算速度和顯示速度等多方面的考慮,CAE系統(tǒng)需要對進(jìn)行計算的模型進(jìn)行簡化而VR系統(tǒng)則需要建立復(fù)雜樣機(jī)模型的LOD(Level-of-Detail)模型,目前采用的模型簡化的方法大都采用手工進(jìn)行的方式,效率低下,LOD模型的獲取則主要是通過多邊形面片模型簡化算法來獲取,然而由于模型小面片化以后就失去了與原有參數(shù)曲面之間的拓?fù)潢P(guān)系,同時多邊形面片簡化算法實(shí)現(xiàn)方式各不相同,都有各自的特點(diǎn)及適用范圍,簡化的準(zhǔn)確性在很大程度上依賴于初始多邊形網(wǎng)格的幾何結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),以及最終想要得到的結(jié)果,因此具有較大的先天缺陷和局限性。

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

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

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

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


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

2.1 UG的建模形狀特征

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




圖2 UGII的建模特征

2.2 簡化誤差控制

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


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

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


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


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

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

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

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

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

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

tag_t part1;//打開零件模型的標(biāo)識
UF_PART_load_status_t error_status;
int type=UF_feature_type;//需要遍歷的對象類型
tag_t feature=NULL_TAG;//定義特征標(biāo)識
tag_t * fea_tags=0;//定義特征標(biāo)識指針
int I_count=0,feature_count;//用于獲取模型中的特征數(shù)量
UF_PART_open(partname,&part1,&error_status);//打開模型文件
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]; //為指針分配空間
char* fea_names[500];//定義指針,假定文件中特征數(shù)量不大于500個
{for(int i=0;i< feature_count;i++)
fea_names[i]=new char[133]; //為指針分配空間 }
{ feature=NULL_TAG;
for (int i=0;i< feature_count;i++)
{
UF_OBJ_cycle_objs_in_part(part1,type,&feature); //獲取文件中每一個特征的標(biāo)識
fea_tags[i]=feature; //把特征標(biāo)識存入數(shù)組
UF_MODL_ask_feat_name(feature,&feature_name);//獲取文件中每一個特征的名稱
strcpy(fea_names[i],feature_name);//把特征名稱存入數(shù)組
}
}

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

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

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

在進(jìn)行特征抑止的時候應(yīng)充分考慮特征間的父子關(guān)系,如果某個可被抑止的特征是作為其它不可抑止特征的父特征存在的時候,那么該特征應(yīng)該從可抑止特征列表中移除,如下函數(shù)用于獲取某個建模特征的父子依存關(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模型的輸入來源,我們采用VC6和UG OPEN API開發(fā)了一個CAD模型簡化模塊,該模塊采用MFC對話框進(jìn)行界面設(shè)計,圖7是其運(yùn)行主界面,該模塊在UG內(nèi)部環(huán)境下(Internal)運(yùn)行,運(yùn)行時輸入UG CAD文件所在文件夾及其它設(shè)置,系統(tǒng)自動對該文件夾下所有UG CAD文件進(jìn)行模型簡化,從而大大提高工作效率。

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

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

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


相關(guān)文章