• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

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

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

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

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

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

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

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

      (4)應(yīng)變能很小.

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

      1.2 Bézier曲面的反求

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

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

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

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

      1.3 擬合曲面的裁剪

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

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

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

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

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

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

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

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

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

      圖1 程序流程圖

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

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

      圖2 程序的操作界面

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

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

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

      3.1 曲面的擬合

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

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

      3.2 曲面的裁剪

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

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

      4 實例驗證

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

      4.1 曲面的擬合與裁剪

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

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

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

      4.2 曲面的光順性分析

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

      圖5 曲面的斑馬線圖

      5 結(jié)束語

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

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

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

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

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

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

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

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

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

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

      猜你喜歡
      交線逆向曲面
      逆向而行
      球面與簡單多面體表面交線問題探究
      平面體截交線邊數(shù)和頂點數(shù)的計算模型研究
      相交移動超曲面的亞純映射的唯一性
      圓環(huán)上的覆蓋曲面不等式及其應(yīng)用
      逆向解答
      基于曲面展開的自由曲面網(wǎng)格劃分
      柱錐面交線研究
      確定有限多個曲面實交集的拓撲
      逆向工程技術(shù)及應(yīng)用
      镇安县| 黄浦区| 揭西县| 渝中区| 阿勒泰市| 繁昌县| 荔浦县| 阳江市| 苍溪县| 城口县| 大庆市| 阜宁县| 集贤县| 洪泽县| 仙游县| 阜南县| 安徽省| 阿鲁科尔沁旗| 西乌| 昌都县| 乐安县| 静海县| 措勤县| 祁东县| 霍邱县| 忻城县| 临朐县| 洪洞县| 兴国县| 崇文区| 八宿县| 邢台县| 临沧市| 宝应县| 竹北市| 河源市| 尚义县| 紫金县| 红安县| 沙田区| 靖宇县|