沙智華,陳翠翠,張生芳
(大連交通大學 機械工程學院,遼寧 大連 116028)
為了滿足空氣動力學、光學失真、汽車整體造型美觀、白車身型面限制等要求[1-2],汽車前、后擋風玻璃一般都設計為雙曲A級曲面,且整個曲面常由幾個分曲面復合而成.從加工工藝的角度出發,必須以曲面的設計模型為依據利用復雜曲面展開技術求取展開毛坯模型.一般CAD軟件,例如CATIA,都具有簡單的復雜曲面展開功能,但對于設計復雜且曲面質量要求嚴格的不可展曲面常出現展開運算無法進行的問題,而不能實現復雜曲面的展開.因此,汽車玻璃曲面展開技術是其制造中的一個難點.基于汽車玻璃曲面幾何特點,本文提出曲線映射復雜曲面展開法,并開發了汽車玻璃曲面展開系統,實現了曲面高精度展開和汽車玻璃毛坯模型的自動生成.
本文以某車型汽車前擋風玻璃曲面為例,對其進行曲率分析如圖1所示:曲面曲率分析1是整個曲面曲率的色標顯示結果,箭狀曲率分析1是橫向主截面A-A和縱向中心截面B-B箭狀曲率分布,箭狀曲率分析3是曲面邊界的曲率分析圖.可以看出:汽車玻璃曲面是一種雙曲分布、曲率均勻變化、沿縱向中心截面對稱分布、拐角處曲率較大的A級復合式曲面.

圖1 汽車玻璃曲面模型及其曲率分析
目前存在的復雜曲面展開方法主要有幾何展開法、力學/能量展開法[3-7]兩類,這些方法的核心思想都是圍繞解決一個或多個幾何變量組合的變形最小化或變形能平衡問題展開的[4],研究思路可總結為:首先對曲面進行三角網格劃分,基于一定的展開原則和策略對曲面進行幾何法初始展開,再針對展開中出現的疊片、裂紋、翻轉和變形等進行力學/能量法調整、優化.但這些方法存在計算量大、算法效率低、處理過程復雜等問題,且在展開過程中會產生二次誤差[8].
針對這些方法的不足和汽車玻璃曲面的特點,本文提出了曲線映射復雜曲面展開法.其基本思想是離散化,即將無法精確求解的連續物體離散為有限單元體,用離散單元體的解近似代替連續物體求解來解決實際問題.基于這種思想,曲線映射法的原理為:假設曲面材料為各向同性,首先將復雜曲面離散成有限的曲線單元體,這樣復雜曲面展開問題就轉化為曲面上的曲線展開成直線的問題;然后為保持曲面展開前后面積不變,將曲面上的曲線按照弧長不變的原則和角度對應關系映射到平面上,得到曲線在平面上展開的映射點;最后用光滑的曲線連接這些映射點就得到了曲面展開輪廓.
這種曲線映射展開法采用曲線代替曲面,減少了傳統的用三角網格代替曲面而造成的曲面展開累積誤差,提高了展開精度;同時,展開對象從曲面轉化為曲線,簡化了處理過程,避免了傳統展開方法出現的裂紋、翻轉、變形等情況,使系統易于實現.
基于上述曲線映射展開法原理,本文以Visual C++為平臺,采用OpenGL圖形處理接口開發了汽車玻璃曲面展開系統,該系統開發流程如圖2所示.
首先,讀取曲面點集坐標值信息,用雙三次準均勻有理B樣條曲面對汽車玻璃進行建模及曲面重構;然后,設置曲面展開精度參數,繪制與曲面相交的平面族,利用曲面求交獲得曲面上的曲線并計算曲線弧長;接著,以弧長不變的原則將曲面上的曲線按照角度對應關系映射到平面上,得到曲線在平面上展開的映射點,用B樣條曲線插值法連接這些映射點就得到曲面展開輪廓;最后,檢驗展開結果是否滿足系統的精度要求,如果是則輸出曲面展開結果,否則返回到設置曲面展開精度參數步驟,重新進行曲面展開.
由曲面展開流程可以看出,曲面展開系統主要由讀取點集信息、曲面建模與重構、獲取曲面上的曲線、曲線映射展開等四部分組成,下面分別對其關鍵技術做進一步介紹.

圖2 汽車玻璃曲面展開系統流程圖
通常,汽車玻璃曲面模型是利用軟件通過復雜的調面過程得到的,沒有具體的數學描述模型,而建立曲面數學模型與曲面幾何模型重構是汽車玻璃曲面展開系統的基礎.因此,本文首先獲取汽車玻璃曲面點集(型值點)信息,然后對曲面進行建模與重構,建立曲面展開系統研究對象.
為保證曲面模型不失真,要求采集的曲面點集盡量均勻、密集、有序且必須包含邊界點.
本文采集曲面點集的方法為:首先,將曲面劃分為上側邊界、曲面主體、下側邊界三個區域;接著,過曲面縱向中心截面的中間控制點作曲面的切面,有順序地建立與此切面互相垂直、保持等距間隔的交叉平面族;然后,將這些平面族分別與曲面上側邊界、曲面主體、曲面下側邊界求交,即可得到具有一定規律的有序交點集;最后,分區選擇曲面交點集,測量這些交點的三維坐標值,并按順序保存在文本文檔中.
利用這種方法,本文應用 Visual Basic對CATIA進行自動化對象編程實現曲面模型點集信息的采集.基于汽車玻璃曲面的對稱性,取曲面一半作為系統研究對象,當平面族間隔距離為40mm時,取得19×16型值點,如圖3所示.

圖3 采集的曲面點集
汽車玻璃曲面是由自由型曲線、曲面構成的復雜空間曲面,而B樣條方法能夠精確表示和設計自由型曲線、曲面.基于這一點,根據汽車玻璃曲面幾何特點及采集的曲面點集信息,本文確定采用雙三次準均勻有理B樣條曲面對汽車玻璃曲面進行描述.其數學模型為:

式中,p(u,v)為張量積B樣條曲面;Di,j(i=0,1,…,mm -1;j=0,1,…,nn-1)為曲面控制頂點;Ni,k(u)和Nj,l(v)分別為沿u向的k次和沿v向的l次 B樣條基函數并由節點矢量 U(u0,u1,…,um+k+1)和 V(v0,v1,…,vn+l+1)按德布爾-考克斯公式決定.
由式(1)可以看出:B樣條曲面模型是由曲面控制頂點和節點矢量決定的,而不是曲面型值點.本文通過采集曲面點集獲得曲面型值點,利用這些型值點來計算控制頂點及節點矢量,從而得到B樣條曲面模型,這個過程稱為B樣條曲面反算,其中型值點個數m×n與控制頂點個數mm×nn的關系為mm=m+k-1,nn=n+l-1;B樣條曲面節點矢量采用規范累積弦長參數化方法計算可得.
對于本文汽車玻璃B樣條曲面模型:m=19,n=16,k=l=3 ,曲面控制頂點可由19×16型值點反算求得,節點矢量計算可得

將控制頂點及節點矢量代入式(1)即可得到曲面數學模型.
基于汽車玻璃B樣條曲面數學模型及Open-GL二維求值器機理,利用B樣條曲面繪制函數實現汽車玻璃重構曲面在系統窗口的顯示.同時,為方便系統實現,過曲面縱向中心截面的中間控制點(Ox,Oy,Oz)建立用戶坐標系,其中XOY面是曲面的切面.如圖4所示曲面重構結果及用戶坐標系.

圖4 B樣條重構曲面、控制頂點及控制網格
獲取曲面上的曲線是曲線映射展開法及汽車玻璃曲面展開系統實現的關鍵.本文中曲面上的曲線通過曲面與平面求交的方法獲得,其步驟為:首先構建與曲面相交的平面族;然后曲面與平面求交,獲得曲面上的曲線;最后計算曲線弧長.
本文以曲面縱向中心截面的中間控制點為展開基點,這樣可以有效的抵消曲面對稱方向的累積誤差,提高了展開精度.過展開基點建立與XOY面垂直、呈等角α輻射狀分布的平面族,平面的數量為t,則有(t-1)·α =180°.通過這些平面與曲面求交獲得的曲線也是過展開基點呈等角輻射分布狀,從而避免了網狀曲線雙向延展的問題,使系統處理過程更加簡潔.
在系統實現過程中,這些呈輻射分布的平面族是利用過空間任一旋轉軸的旋轉矩陣T實現的.
曲面參數方程為式(1),平面族代數方程采用點法式表示為:

將式(1)、式(2)聯立得曲面與平面的交線方程為:

式(3)是一個以u和v為變量的二元非線性方程.理論上,可令其中一個變量u以定步長變化,而后求解一元高次非線性方程組,進而得到交點(px(u,v),py(u,v),pz(u,v)),但實際上交線方程次數非常高、難以計算.本文采用改進的數值搜索法進行曲面求交,避免一元高次方程的求解,其方法為:令變量u和分別以定步長δ1、δ2進行搜索,(px(u,v),py(u,v),pz(u,v))為曲面上的精確點,若此點到曲面的距離小于或等于ε即滿足式(4)則此點即為交線上的點,ε為交點逼近曲面的誤差準則,根據交點間的關系將多個交點連接起來就得到了交線即曲面上的曲線.曲線弧長利用交點線段距離累加得到.曲面求交及弧長計算的精度是由誤差準則ε和參數u、v的搜索步長δ1、δ2來保障的.

在系統實現過程中,主要采用兩種方法來優化程序:其一是對不同轉角范圍內的交線采用分別處理法,假設轉角為 β,當 β =0°時,v=0,u從0遞增到0.5;當0°< β<90°時,u從0遞增到0.5,v從1遞減到0;β =90°時,u=0,v從1遞減到0;90°< β< 180°時,u從1遞減到0.5,v從1遞減到0;β =180°時,v=0,u從1遞減到0.5.其二是利用平面斜率的特點,以0°<β<90°為例進行說明,若u=ui、v=vj時獲得一個交點,那么下個交點的搜索起始位置為u=ui+δ1、v=vj,而不是v=1.這兩種處理方法大大減少了程序中不必要的循環和計算,同時又能避免在相同v、不同的u下取得重復交點的問題,提高了交線計算的準確性.
當 α =6°,ε =0.02mm,δ1= δ2=0.05mm時,得到曲面上的曲線結果如圖5所示.

圖5 曲面上的曲線
獲得曲線弧長之后,曲線就要按照弧長不變的原則和角度對應關系映射到平面上.映射平面為XOY面.由于求交平面是呈等角a輻射分布的,根據角度對應關系,曲線在平面上的展開直線也是等角分布.因此第i條曲線映射到平面的過稱為:
輸入:展開直線斜率ki=tan(i·α),展開直線起點都為展開基點(Ox,Oy,Oz),直線長度 l=L弧長.
映射關系:求解方程組

輸出:展開直線端點(xi,yi,Oz)即為曲線在平面上的映射點.
最后,將展開曲線的端點利用三次B樣條曲線進行插值,即可得到汽車玻璃曲面展開平面的輪廓,如圖6所示.

圖6 汽車玻璃曲面展開輪廓圖
本文提出了曲線映射展開法,此方法展開精度高且易于實現,可適用于非封閉、小曲率、不可分割曲面的展開.汽車玻璃曲面正符合這種曲面幾何特點,基于曲線映射展開法,本文開發了汽車玻璃曲面展開系統,并對該系統實現的關鍵技術進行了研究.展開實例表明,該系統可實現汽車玻璃毛坯的自動生成,對縮短新型汽車玻璃制造周期、降低生產成本能起到積極的推動作用.
[1]劉志國,張永祥 ,簡中強.汽車擋風玻璃光學模擬和幾何型面優化[J].汽車零部件,2009(3):32-34.
[2]MANNING JR.Computerized pattern cutting[J].Computer-Aided Design,1980,12(1):43-47.
[3]陳動之,王國謹.基于偽直母線的復雜曲面自適應分片與展開[J].軟件學報,2003,14(3):660-665.
[4]李基拓.三角化曲面展開技術研究及其應用[D].浙江:浙江大學,2005.
[5]席平.三維曲面的幾何展開[J].計算機學報,1997,20(4):315-322.
[6]詹雯.復雜曲面展開技術研究[D].南京:南京航空航天大學,2007.
[7]毛國棟,孫炳楠,徐浩祥.基于彈簧-質點系統的薄膜結構曲面展開算法[J].浙江大學學報(工版),2005,39(8):1238-1242.
[8]毛昕,毛普元,孫靜.自由曲面近似展開及誤差分析系統[J].機械設計與制造,2007,12:201-203.