亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于UG二次開發(fā)的A級(jí)曲面擬合與邊界裁剪方法

        2012-07-23 00:35:16尹永福范萍萍邢魯超徐家川
        關(guān)鍵詞:交線逆向曲面

        尹永福,范萍萍,邢魯超,徐家川

        (山東理工大學(xué)交通與車輛工程學(xué)院,山東淄博255091)

        逆向工程是指用一定的測(cè)量手段對(duì)汽車模型或?qū)嵨镞M(jìn)行測(cè)繪,根據(jù)測(cè)繪數(shù)據(jù)利用三維幾何建模方法重構(gòu)空間模型的過程[1].在汽車車身設(shè)計(jì)中,最主要的逆向技術(shù)就是車身A級(jí)曲面的重構(gòu).矩形域參數(shù)曲面的擬合方法一直是曲面重構(gòu)方面研究的重點(diǎn).目前矩形域參數(shù)曲面的重構(gòu)主要有兩種方法:一種是先將測(cè)量點(diǎn)擬合成曲線,再通過曲面造型的方式將曲線構(gòu)建成曲面[2-5],該方法必須首先保證擬合曲線的精度,但即使擬合曲線滿足精度要求,也不能保證由擬合曲線生成的曲面在規(guī)定的誤差要求之內(nèi);另一種是由測(cè)量數(shù)據(jù)直接擬合曲面[2],該方法省去了擬合曲線的步驟,提高了擬合的效率,而且已經(jīng)在軟件當(dāng)中有所應(yīng)用,如UG的pointcloud,Pro/E的scantools,CATIA的fit to geometry功能等,但是采用該方法擬合的曲面不能很好地滿足邊界條件,需要對(duì)曲面邊界進(jìn)行裁剪操作,以便完成曲面模型的構(gòu)建.因此,本文利用UG/Open API提供的曲面擬合與裁剪的函數(shù),通過VC++編程實(shí)現(xiàn)車身A級(jí)曲面的擬合與裁剪,并將其集成到UG軟件中,以提高車身A級(jí)曲面重構(gòu)的自動(dòng)化程度.

        1 車身A級(jí)曲面的重構(gòu)

        1.1 A級(jí)曲面的定義及表示方法

        A級(jí)曲面是指車身外表面中的高可見區(qū)域曲面,包括發(fā)動(dòng)機(jī)罩、前后翼子板、前后保險(xiǎn)杠、車門、A柱、B柱、C柱、后背門、頂蓋、側(cè)圍以及內(nèi)飾件中的高可見區(qū)域等[6].對(duì)于車身A級(jí)曲面造型特征要求,參照文獻(xiàn)[7-9] 的定義可歸納如下:

        (1)曲面片滿足G2連續(xù),單個(gè)曲面的補(bǔ)片數(shù)(patch數(shù))在u,v兩個(gè)參數(shù)方向上都是1(即Bézier曲面).

        (2)曲率變化分布均勻,控制頂點(diǎn)分布規(guī)則,各行控制頂點(diǎn)間角度變化均勻.

        (3)不存在奇異多余的拐點(diǎn).

        (4)應(yīng)變能很?。?/p>

        另外,文獻(xiàn)[9] 對(duì)利用B樣條和Bézier曲面表示A級(jí)曲面的優(yōu)劣進(jìn)行了比較,從而得出采用Bézier曲面表示A級(jí)曲面更有優(yōu)勢(shì),并給出了車身A級(jí)曲面采用Bézier方法表示時(shí)曲面次數(shù)的選取規(guī)則:基本曲面采用的Bézier曲面次數(shù)為2~5次,盡量選用低次的;過渡曲面(拼接方向)采用的次數(shù)至少為5次,需要撓率連續(xù)時(shí)可以采用7次.綜上所述,在對(duì)車身A級(jí)曲面進(jìn)行逆向設(shè)計(jì)時(shí)需采用Bézier曲面的表示方法.

        1.2 Bézier曲面的反求

        當(dāng)應(yīng)用Bézier曲面進(jìn)行逆向曲面造型時(shí),首先要根據(jù)給定的型值點(diǎn)反求出Bézier曲面的控制頂點(diǎn),然后再通過求出的控制頂點(diǎn)繪制Bézier曲面.

        對(duì)于給定呈拓?fù)渚匦侮嚵械臄?shù)據(jù)點(diǎn)陣pij,i=0,1,…m;j=0,1,…,n,把每排數(shù)據(jù)點(diǎn)的相鄰兩點(diǎn)用直線段連接,就組成一個(gè)在拓?fù)湟饬x上的矩形網(wǎng)格.曲面逆向設(shè)計(jì)要求求解一個(gè)曲面插值于所給定的(m+1)×(n+1)個(gè)矩形網(wǎng)格頂點(diǎn),即求解一個(gè)m×n次Bézier曲面片[8],即

        其中:Bin(t)=(1-t)n-i(0≤i≤n)為伯恩斯坦基函數(shù);bij(0≤i≤m,0≤j≤n)為所求Bézier曲面的控制頂點(diǎn).

        UG/Open API提供了通過點(diǎn)云擬合曲面的函數(shù)UF_M(jìn)ODL_create_surf_from_cloud,其參數(shù)見表1.若令u_patches=1,v_patcher=1,則擬合的曲面即為Bézier曲面.

        1.3 擬合曲面的裁剪

        在車身A級(jí)曲面的逆向設(shè)計(jì)過程中,曲面的裁剪主要包括根據(jù)邊界線對(duì)曲面進(jìn)行裁剪及根據(jù)面與面的交線對(duì)曲面裁剪兩類.對(duì)于復(fù)雜的車身曲面來(lái)說,不可能由一張曲面表示,所以根據(jù)面與面之間的交線對(duì)曲面進(jìn)行裁剪就成為曲面重構(gòu)過程中的主要問題.現(xiàn)有的軟件已經(jīng)可以實(shí)現(xiàn)根據(jù)給定的邊界線對(duì)曲面進(jìn)行裁剪的功能,但是對(duì)于相交曲面的裁剪一般是先提取出兩個(gè)面的交線再進(jìn)行裁剪,因此需要反復(fù)調(diào)用抽取交線的命令,從而大大降低了曲面重構(gòu)的自動(dòng)化程度.因此,我們將抽取交線的函數(shù)集成到曲面建模插件中,方便曲面的裁剪.

        表1 曲面擬合函數(shù)參數(shù)表

        抽取相交曲面之間交線的二次開發(fā)函數(shù)為UF_M(jìn)ODL_intersect_objects,函數(shù)的參數(shù)見表2.

        表2 曲面求交函數(shù)參數(shù)表

        對(duì)于提取出交線的曲面進(jìn)行裁剪,只需調(diào)用裁剪曲面函數(shù)“UF_M(jìn)ODL_trim_sheet”就可以很方便地對(duì)曲面進(jìn)行裁剪,其參數(shù)見表3.

        表3 曲面裁剪函數(shù)參數(shù)表

        2 程序的總體設(shè)計(jì)

        2.1 程序的流程設(shè)計(jì)

        程序的總體設(shè)計(jì)主要包括點(diǎn)云數(shù)據(jù)的選取、曲面的擬合、曲面求交以及曲面裁剪四部分.程序流程如圖1所示.

        圖1 程序流程圖

        2.2 程序的界面設(shè)計(jì)

        程序的界面設(shè)計(jì)包括曲面階次的定義編輯框及點(diǎn)云選取、曲面擬合、曲面求交與裁剪四個(gè)按鈕.圖2為程序的操作界面圖.

        圖2 程序的操作界面

        圖2中的“階次定義”用來(lái)指定所生成曲面在u,v方向的階次;“選擇點(diǎn)云”按鈕用來(lái)選取點(diǎn)云數(shù)據(jù);“生成曲面”按鈕用來(lái)生成Bézier曲面;“曲面求交”按鈕用來(lái)對(duì)創(chuàng)建的多個(gè)Bézier曲面求交線,如果曲面有單獨(dú)的邊界,則操作過程中就不需要此按鈕;“裁剪曲面”按鈕用來(lái)根據(jù)求出的交線或單獨(dú)的曲面邊界裁剪曲面.因此,程序能夠通過點(diǎn)云直接創(chuàng)建Bézier曲面,并能按照給定的邊界快速裁剪曲面,從而可以提高曲面重構(gòu)的自動(dòng)化程度.

        3 程序的具體實(shí)現(xiàn)

        按照程序的總體設(shè)計(jì)要求,對(duì)程序的具體實(shí)現(xiàn)進(jìn)行必要的說明。由于篇幅的關(guān)系,這里主要給出曲面擬合與裁剪的關(guān)鍵程序,并對(duì)程序中關(guān)鍵參數(shù)的選取進(jìn)行簡(jiǎn)單介紹.

        3.1 曲面的擬合

        擬合曲面的主要程序如下:

        其中,參數(shù)bnd_corners賦值為NULL,表示使生成的曲面在指定的X-Y平面上的投影四邊形為點(diǎn)云數(shù)據(jù)的最小包圍盒.如果指定了邊界的4個(gè)角點(diǎn),則生成的曲面嚴(yán)格地經(jīng)過4個(gè)邊界角點(diǎn),但是并不能保證整個(gè)曲面邊界很好地貼近點(diǎn)云邊界,而且程序在執(zhí)行過程中的穩(wěn)定性不好,有時(shí)無(wú)法生成曲面或生成的曲面容易出現(xiàn)扭曲、跳躍.所以,此參數(shù)賦值為NULL,可以優(yōu)先保證曲面有良好的光順性,至于曲面邊界條件的滿足,則可以通過曲面的裁剪函數(shù)實(shí)現(xiàn).

        3.2 曲面的裁剪

        由于通過點(diǎn)云擬合的曲面不能很好地滿足點(diǎn)云邊界條件,所以需要對(duì)點(diǎn)云邊界進(jìn)行裁剪使其符合點(diǎn)云邊界特征的要求.對(duì)于不與其它曲面相交的邊界,需要通過Bézier曲線擬合點(diǎn)云的邊界線,并將其作為裁剪工具線;對(duì)于與其它曲面相交的邊界需要先提取兩個(gè)曲面的交線,以此作為裁剪曲面的工具線.曲面裁剪時(shí)的輸入?yún)?shù)主要包括要裁剪的曲面、裁剪工具線及其數(shù)目和投影方向、定義曲面上要保留的區(qū)域等.因此,需要調(diào)用單選對(duì)話框函數(shù)(UF_UI_select_with_single_dialog)選擇要裁剪的曲面并獲取鼠標(biāo)單擊的位置坐標(biāo),同時(shí)調(diào)用類選擇器對(duì)話框函數(shù)(UF_UI_select_with_class_dialog)選取裁剪工具線,由于裁剪曲線是各自獨(dú)立的,為了裁剪方便,我們需將各條邊界曲線連接為一個(gè)閉合的樣條曲線,這里需要用到創(chuàng)建連接曲線的函數(shù)(UF_CURVE_create_joined_curve),最后,調(diào)用裁剪函數(shù)(UF_M(jìn)ODL_trim_sheet)裁剪曲面.

        裁剪曲面的主要程序如下:

        void creatb::OnButton4()

        {… …

        //獲取鼠標(biāo)的位置坐標(biāo),指定曲面保留部分

        double cursor[3] ;

        //選擇需要裁剪的目標(biāo)曲面

        UF_UI_select_with_single_dialog(cue,title,UF_UI_SEL_SCOPE_NO_CHANGE,init_proc1,NULL,&res-ponse,&object,cursor,&view);

        … …

        //選擇裁剪工具線

        UF_UI_select_with_class_dialog(cue1,title1,UF_UI_SEL_SCOPE_NO_CHANGE,init_proc2,NULL,&response1,&count1,&object1);

        //創(chuàng)建連接的曲線,這是裁剪程序穩(wěn)定與否的關(guān)鍵

        4 實(shí)例驗(yàn)證

        通過VC++編譯的DLL文件可在UG中作為一個(gè)插件運(yùn)行.本節(jié)通過對(duì)一個(gè)汽車模型的頂蓋與前后車窗數(shù)據(jù)進(jìn)行擬合來(lái)檢驗(yàn)程序的可行性.

        4.1 曲面的擬合與裁剪

        打開UG新建一個(gè)部件,導(dǎo)入點(diǎn)云數(shù)據(jù),點(diǎn)擊新增的菜單欄上的“曲面模塊—擬合曲面”按鈕,彈出如圖2所示的程序操作界面,其運(yùn)行情況如圖3所示;然后指定所要生成的曲面在u,v方向的階次,單擊“選擇點(diǎn)云”按鈕,選取各個(gè)點(diǎn)云數(shù)據(jù),最后單擊“生成曲面”按鈕創(chuàng)建擬合曲面.分別創(chuàng)建完3個(gè)曲面之后,選擇“插入—曲線—樣條”命令擬合各曲面的4條邊界線(單段為Bézier曲線),單擊“裁剪曲面”按鈕,按照要求依次選擇生成的曲面及創(chuàng)建的4條邊界線,然后單擊鼠標(biāo)中鍵確定,從而得到汽車模型的各個(gè)曲面,進(jìn)而利用“編輯—變換”命令將曲面對(duì)稱后可得到頂蓋的完整模型,如圖4所示.

        圖3 插件在UG中的運(yùn)行情況

        圖4 汽車模型的頂蓋與前后車窗

        4.2 曲面的光順性分析

        車身A級(jí)曲面的評(píng)價(jià)方法包括控制頂點(diǎn)、斑馬線、曲率梳等,對(duì)于車身整體的光順性一般采用斑馬線來(lái)評(píng)價(jià).本節(jié)利用UG的“斑馬線”命令對(duì)曲面的光順性進(jìn)行檢查,曲面的斑馬線圖如圖5所示.從圖5中可以看出,斑馬線粗細(xì)均勻,間隔距離變化一致,沒有拐點(diǎn),滿足文獻(xiàn)[1] 中給出的A級(jí)曲面的要求.

        圖5 曲面的斑馬線圖

        5 結(jié)束語(yǔ)

        通過UG/Open API二次開發(fā)平臺(tái)實(shí)現(xiàn)了點(diǎn)云數(shù)據(jù)的快速曲面擬合,并集成了曲面的修剪功能,便于曲面的邊界裁剪及與后續(xù)擬合曲面拼接后的裁剪.同時(shí),該曲面模塊還可以繼續(xù)完善,添加曲面的拼接、曲面的光順等其他功能.

        [1] 徐家川,雷雨成,洪英武,等.逆向工程中車身A級(jí)曲面的評(píng)價(jià)方法[J] .汽車技術(shù),2007(4):4-8.

        [2] 張順琦,秦觀生,鄧瑞君,等.基于UG二次開發(fā)的點(diǎn)云數(shù)據(jù)曲面建模[J] .中國(guó)制造業(yè)信息化:學(xué)術(shù)版,2010,39(5):33-37.

        [3] 晁永生,劉海江,孫文磊.以UG為平臺(tái)的逆向工程數(shù)據(jù)處理技術(shù)[J] .現(xiàn)代制造工程,2010(1):30-32.

        [4] 王海南,胡迪,李蔓華.UG逆向模塊開發(fā)的應(yīng)用研究[J] .新技術(shù)新工藝,2007(8):25-26.

        [5] 何耀華,榮輝.UG在車身造型設(shè)計(jì)中曲面及實(shí)體構(gòu)建的應(yīng)用研究[J] .武漢大學(xué)學(xué)報(bào):工學(xué)版,2006,39(6):71-74.

        [6] 徐家川,雷雨成,洪英武,等.汽車車身A級(jí)曲面光順方法[J] .汽車技術(shù),2008(2):17-20.

        [7] 徐家川,李迪,李旭.汽車車身A級(jí)曲面的表示與次數(shù)選擇[J] .汽車技術(shù),2010(9):58-61.

        [8] 施法中.計(jì)算機(jī)輔助幾何設(shè)計(jì)與非均勻有理B樣條[M] .北京:北京航空航天大學(xué)出版社,1994.

        [9] 朱心雄.自由曲線曲面造型技術(shù)[M] .北京:科學(xué)出版社,2000.

        猜你喜歡
        交線逆向曲面
        逆向而行
        球面與簡(jiǎn)單多面體表面交線問題探究
        平面體截交線邊數(shù)和頂點(diǎn)數(shù)的計(jì)算模型研究
        相交移動(dòng)超曲面的亞純映射的唯一性
        圓環(huán)上的覆蓋曲面不等式及其應(yīng)用
        逆向解答
        基于曲面展開的自由曲面網(wǎng)格劃分
        柱錐面交線研究
        華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版)(2014年1期)2014-04-16 02:54:52
        逆向工程技術(shù)及應(yīng)用
        国产自国产在线观看免费观看 | 在线亚洲AV成人无码一区小说| 亚洲二区三区在线播放| 亚洲日本一区二区三区四区| 成年人干逼视频水好多| 亚洲av成人噜噜无码网站| 2019年92午夜视频福利| 亚洲色大成网站www在线观看| 国产综合一区二区三区av| 亚洲精品中文字幕乱码3| 日本免费久久高清视频| av在线免费观看蜜桃| 性按摩xxxx在线观看| 亚洲美女又黄又爽在线观看| 免费毛片性天堂| 久久国产精品懂色av| 中文字幕在线亚洲三区| 久久www免费人成精品| 亚洲av永久无码国产精品久久| 国产女人精品视频国产灰线| 女同同成片av免费观看| 国产亚洲精品美女久久久久| 少妇高潮尖叫黑人激情在线| 亚洲 欧美 激情 小说 另类| 国产亚洲精品免费专线视频| 日本av在线一区二区| 撕开奶罩揉吮奶头视频| 久久无码高潮喷水免费看| 精品女人一区二区三区| 久久人人爽av亚洲精品| 丰满爆乳无码一区二区三区| 挑战亚洲美女视频网站| 91人妻一区二区三区蜜臀| 亚洲高清在线天堂精品| 又粗又黄又猛又爽大片免费| 欧美日韩电影一区| 欧美日韩国产乱了伦| 长腿丝袜在线观看国产| 豆国产96在线 | 亚洲| 亚洲综合久久成人a片| 中文亚洲成a人片在线观看|