999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于UG二次開發的A級曲面擬合與邊界裁剪方法

2012-07-23 00:35:16尹永福范萍萍邢魯超徐家川
關鍵詞:按鈕程序

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

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

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

1 車身A級曲面的重構

1.1 A級曲面的定義及表示方法

A級曲面是指車身外表面中的高可見區域曲面,包括發動機罩、前后翼子板、前后保險杠、車門、A柱、B柱、C柱、后背門、頂蓋、側圍以及內飾件中的高可見區域等[6].對于車身A級曲面造型特征要求,參照文獻[7-9] 的定義可歸納如下:

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

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

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

(4)應變能很小.

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

1.2 Bézier曲面的反求

當應用Bézier曲面進行逆向曲面造型時,首先要根據給定的型值點反求出Bézier曲面的控制頂點,然后再通過求出的控制頂點繪制Bézier曲面.

對于給定呈拓撲矩形陣列的數據點陣pij,i=0,1,…m;j=0,1,…,n,把每排數據點的相鄰兩點用直線段連接,就組成一個在拓撲意義上的矩形網格.曲面逆向設計要求求解一個曲面插值于所給定的(m+1)×(n+1)個矩形網格頂點,即求解一個m×n次Bézier曲面片[8],即

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

UG/Open API提供了通過點云擬合曲面的函數UF_MODL_create_surf_from_cloud,其參數見表1.若令u_patches=1,v_patcher=1,則擬合的曲面即為Bézier曲面.

1.3 擬合曲面的裁剪

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

表1 曲面擬合函數參數表

抽取相交曲面之間交線的二次開發函數為UF_MODL_intersect_objects,函數的參數見表2.

表2 曲面求交函數參數表

對于提取出交線的曲面進行裁剪,只需調用裁剪曲面函數“UF_MODL_trim_sheet”就可以很方便地對曲面進行裁剪,其參數見表3.

表3 曲面裁剪函數參數表

2 程序的總體設計

2.1 程序的流程設計

程序的總體設計主要包括點云數據的選取、曲面的擬合、曲面求交以及曲面裁剪四部分.程序流程如圖1所示.

圖1 程序流程圖

2.2 程序的界面設計

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

圖2 程序的操作界面

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

3 程序的具體實現

按照程序的總體設計要求,對程序的具體實現進行必要的說明。由于篇幅的關系,這里主要給出曲面擬合與裁剪的關鍵程序,并對程序中關鍵參數的選取進行簡單介紹.

3.1 曲面的擬合

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

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

3.2 曲面的裁剪

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

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

void creatb::OnButton4()

{… …

//獲取鼠標的位置坐標,指定曲面保留部分

double cursor[3] ;

//選擇需要裁剪的目標曲面

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);

//創建連接的曲線,這是裁剪程序穩定與否的關鍵

4 實例驗證

通過VC++編譯的DLL文件可在UG中作為一個插件運行.本節通過對一個汽車模型的頂蓋與前后車窗數據進行擬合來檢驗程序的可行性.

4.1 曲面的擬合與裁剪

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

圖3 插件在UG中的運行情況

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

4.2 曲面的光順性分析

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

圖5 曲面的斑馬線圖

5 結束語

通過UG/Open API二次開發平臺實現了點云數據的快速曲面擬合,并集成了曲面的修剪功能,便于曲面的邊界裁剪及與后續擬合曲面拼接后的裁剪.同時,該曲面模塊還可以繼續完善,添加曲面的拼接、曲面的光順等其他功能.

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

[2] 張順琦,秦觀生,鄧瑞君,等.基于UG二次開發的點云數據曲面建模[J] .中國制造業信息化:學術版,2010,39(5):33-37.

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

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

[5] 何耀華,榮輝.UG在車身造型設計中曲面及實體構建的應用研究[J] .武漢大學學報:工學版,2006,39(6):71-74.

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

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

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

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

猜你喜歡
按鈕程序
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
死循環
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 五月激情综合网| 国产99在线观看| 欧美全免费aaaaaa特黄在线| 国产本道久久一区二区三区| 亚洲伊人电影| 极品国产在线| 在线五月婷婷| 免费播放毛片| 亚欧成人无码AV在线播放| 最新精品久久精品| 91无码国产视频| 亚洲欧洲AV一区二区三区| 伊人中文网| 色综合激情网| 高潮毛片免费观看| 手机看片1024久久精品你懂的| 色吊丝av中文字幕| 亚洲综合九九| 精品久久久无码专区中文字幕| 国产精品综合久久久| 亚洲视频免费播放| 伊人久久影视| 亚洲国产午夜精华无码福利| 亚洲天堂在线视频| 日韩精品无码不卡无码| 无码精油按摩潮喷在线播放| 国产毛片基地| 老司机精品一区在线视频 | 毛片a级毛片免费观看免下载| 91一级片| 国产精品亚欧美一区二区| 亚洲欧美国产五月天综合| 亚洲伊人久久精品影院| 欧美第一页在线| 国产在线视频欧美亚综合| 亚洲国产91人成在线| 日本午夜视频在线观看| 亚洲精选无码久久久| 中字无码av在线电影| 亚洲精品爱草草视频在线| 一本大道无码高清| 亚洲va欧美ⅴa国产va影院| 制服丝袜无码每日更新| 国产欧美日韩va| 亚洲男人天堂2018| 国产三级精品三级在线观看| 国产91精选在线观看| 美女毛片在线| 在线国产资源| 无码丝袜人妻| 日韩av无码DVD| 亚洲欧美人成电影在线观看| 亚洲国产成人在线| 另类综合视频| 九九香蕉视频| 一级毛片免费高清视频| 国产91高清视频| 亚洲一区二区成人| 国产精品真实对白精彩久久| 制服丝袜一区二区三区在线| 国产精品午夜电影| 国产永久无码观看在线| 欧美劲爆第一页| 五月综合色婷婷| 久久综合结合久久狠狠狠97色| 亚洲中久无码永久在线观看软件| 热九九精品| 天堂av高清一区二区三区| 久青草免费在线视频| 国产成年女人特黄特色毛片免| 国产理论最新国产精品视频| 日韩成人午夜| 伊人激情久久综合中文字幕| 美女裸体18禁网站| 91香蕉视频下载网站| 黄色成年视频| 亚洲精品中文字幕无乱码| 色成人亚洲| 欧美国产日产一区二区| 亚洲第一成人在线| 青草视频在线观看国产| 热99精品视频|