南京航空航天大學機電學院 何 龍 安魯陵 王小平 王遠峰
曲面延拓廣泛應用于檢具設計中的模擬塊設計、模具分型面設計和沖壓工藝補充面設計等方面[1]。在復合材料成型模具設計過程中,模板的快速設計對提高模具設計效率十分重要。模板的原始設計依據(jù)是從產(chǎn)品上提取出的曲面,設計模板時需要對該曲面進行延拓操作。由于提取出的曲面復雜程度差異大,若直接使用CAD軟件已有功能對曲面進行延拓,受到的約束很多(如曲面外延趨勢、延拓長度等),很多情況下無法實現(xiàn)。目前國內(nèi)外學者對于曲面延拓做了一定的研究[2-5],但這些算法的應用范圍有限,能夠運用于實際設計過程的方法很少。
本文作者在與航空制造企業(yè)合作過程中,針對復合材料模具設計中曲面延拓的問題,結(jié)合CATIA中曲面延拓的實際應用以及CATIA二次開發(fā)技術,提出了一種曲面延拓的新策略,具體如下:對于給定的曲面,自動檢測出曲面的角點,以角點劃分原曲面的邊界,再對劃分好的曲面邊界分別延拓。自動檢測出邊界上結(jié)合后可以延拓的最多曲線段進行延拓,對延拓后的曲面片判斷延拓質(zhì)量,對于結(jié)合后無法延拓的曲線段,優(yōu)先使用單獨延拓的方法,若不成功,則可以使用填充、掃掠等操作處理。
直接用CATIA的命令對整個邊界延拓,對于大部分的曲面都是很難實現(xiàn)的。為此,需要對原始的整個邊界進行劃分。本文提出了一種通過自動檢測曲面角點,自動劃分曲面邊界的方法。
首先,設計角點自動檢測算法。曲面在角點處是切向不連續(xù)的,但是曲面切向不連續(xù)對應的點不一定是角點。
為此,提出角點檢測的方法如下:
Step 1:用切線連續(xù)的方式分割整個邊界,獲取分割后的邊界線段,將其存入鏈表LIST1中;
Step 2 :遍歷LIST1,獲取LIST1中所有邊界線段的2個端點,存入鏈表LIST2中,并且刪去LIST2中的重復項;
Step 3:對于LIST2中每個端點P,必同時屬于2條邊界線段,分別過該端點作這2條曲線的切線L1、L2;
Step 4:測量L1和L2之間的夾角θ,對于給定的閾值ε,比較θ與ε之間的關系,如果θ>ε,說明端點P是角點;如果θ<ε,則說明端點P不是角點。
所以,確定合適的閾值ε,對于準確判斷出角點位置非常重要。
通過角點劃分邊界,可以有效地減少在非角點處,延拓后出現(xiàn)裂縫的情況。由于2條曲線的外延趨勢不一樣,延拓后很可能出現(xiàn)裂縫。自動檢測出角點之后,只要在角點檢測的基礎上,做相應的修改,就能將原始整個邊界按角點自動劃分:如果LIST2中的點P不是角點,則提取出點P屬于LIST1中的2條曲線,將這2條曲線合并為1條曲線添加到LIST1中,并將原來的2條曲線從LIST1刪去。
曲面延拓的一個基本原則就是要盡可能多的結(jié)合邊界線段同時延拓。這主要是因為在有些邊界處,曲面是無法延拓的(或者延拓的形狀不滿足要求),但是將其與兩邊的邊界結(jié)合后,由于曲面外延趨勢的改變,就可以延拓了。
為此,在盡可能結(jié)合多的曲線段的前提下,本文提出了曲面延拓的新思路如下:
Step1:將上述鏈表LIST1中已經(jīng)劃分好的2個角點之間的一條邊界(可能有n條線段)試延拓,成功,則保留結(jié)果,程序結(jié)束;失敗,轉(zhuǎn)Step2。
Step2:如果延拓邊界的拓撲線段為n=1,則出現(xiàn)圖1所示的情況,其處理方法為:用點P做外插延伸,得到曲線②。以曲線段①沿曲線②做掃掠。掃掠得到的曲面片就是延拓面片。
圖1 單個拓撲邊延拓情況及其處理方法Fig.1 Single topology boundary extension andits processing method
如果延拓邊界的拓撲線段為n=2,則分別試延拓2個拓撲線段,若2個拓撲線段都能延拓成功,則延拓完畢,程序結(jié)束;若有不成功的延拓邊,則會出現(xiàn)圖2(a)和圖2(b)兩種情況。圖2(a)中的處理方法為:分別延拓端點P、Q,并以P、Q的延拓曲線及①、②作多截面曲面,該曲面即為延拓曲面。圖2(b)中的處理方法為:直接將曲線②沿曲線③做掃掠。
圖2 兩拓撲邊延拓情況及其處理方法Fig.2 Two topology boundaries extension and their processing method
如果延拓邊界的拓撲線段n>2,將n-i(i=1,2,…,n-2)段曲線段結(jié)合后試延拓,并判斷試延拓之后的曲面片是否符合要求,如果滿足要求,則轉(zhuǎn)到Step3,如果不滿足要求,i=i+1,重新結(jié)合曲線段后試延拓,不斷循環(huán)。如果沒有一次結(jié)合能夠延拓成功的,轉(zhuǎn)到Step4。
Step3:只要有一種結(jié)合后延拓能夠滿足要求的,延拓成功的曲面片則可能出現(xiàn)在該邊的任意端部或者該邊的中部。
對于出現(xiàn)在端部的情況,如圖3所示。圖3(a)的處理方法為:判斷曲線①能否延拓,若不能延拓,則采用將②沿①作掃掠;圖3(b)的處理方法為:將P點延拓并保留,對于內(nèi)部點,比如Q、M,同樣延拓,并比較其與①之間的夾角是否小于設定的閾值,如果滿足條件,則保留,將保留的延拓曲線依次連接,再用樣條曲線依次連接成封閉輪廓,用填充功能填充,得到延拓面片。
圖3 多拓撲邊延拓出現(xiàn)在端部情況及處理方法Fig.3 Several Combined topology boundaries extension occur in ends and its processing method
對于出現(xiàn)在中部的情況,如圖4所示。圖4(a)的處理方法為:分別判斷曲線①、③能否直接延拓,若不能,則以曲線②、④分別沿曲線①、③作掃掠,得到的掃掠面就是延拓面片。圖4(b)的處理方法為:對于上半部分,將N點延拓并保留,對于內(nèi)部點,比如P、Q、M,同樣延拓,并比較其與曲線段②之間的夾角是否小于設定的閾值,如果滿足條件,則保留,將保留的延拓曲線用樣條曲線依次連接成封閉輪廓,用填充功能填充,得到延拓面片;對于下半部分,先判斷曲線段①是否能夠單獨延拓,如果不能,則直接將曲線段①沿曲線段②作掃掠,得到延拓面片。圖4(c)分為上、下2部分處理,各部分的處理方法都與圖4(b)中上半部分的處理方法類似。
Step4:對于沒有一種結(jié)合后試延拓能夠成功的情況,首先找尋邊界上能夠單獨延拓,且質(zhì)量較高的曲面片作為基準曲面片(質(zhì)量較高指的是延拓出的曲面片應近似于平行四邊形,若都不滿足要求,則取兩對邊夾角最小的延拓面片),提取出基準曲面片的2個延拓邊中的任意一個,記為C1,提取出需要延拓邊界上的所有點,用這些點做外插延伸,比較延拓曲線與C1之間的夾角θ,如果θ小于設定的閾值,則保留該點的外插延伸線,將其加入LIST3中,將LIST3中的曲線依次連接組成封閉線框,利用填充功能填充線框組成延拓面。
圖4 多段拓撲邊延拓出現(xiàn)在中部情況及處理方法Fig.4 Several combined topology boundaries extension occur in middle and its processing method
下面通過若干實例來說明以上曲面延拓方法的可行性。
如圖5所示的曲面,由于曲面比較復雜,如果使用CATIA自帶的功能直接進行延拓,在有些邊界處延拓出的曲面無法達到預期的效果;同時如果改變曲面的延拓長度,有些邊界則會出現(xiàn)無法延拓的情況。應用本文中的延拓的方法后,一次性延拓后延拓曲面如圖5(b),能夠達到預定的要求。
圖5 某曲面及其延拓Fig.5 Certain surface and its extension
為了解決在CATIA設計過程中曲面延拓困難的問題,本文提出了CATIA中曲面延拓的新方法:盡可能多地結(jié)合邊界曲線段進行延拓,對存在結(jié)合后無法延拓的曲線段,采用其他方法,比如掃掠、填充等替代。該方法在CATIA二次開發(fā)環(huán)境中實現(xiàn),能夠快速地延拓曲面,經(jīng)實際檢驗后,能夠滿足設計要求。目前,該功能已經(jīng)應用于復合材料成型模具的設計中。
[1] 姜坤,周雄輝,黎旻,等. 檢具設計中延伸曲面修補方法.上海交通大學學報, 2011,45(11):1720-1724.
[2] Shetty S, White P R. Curvature-continuous extension for rational B-spline curves and surfaces.Computer-Aided Design, 1991, 23(7):484-491.
[3] 余正生,雷毅.NURBS曲線曲面延伸.工程圖學學報,1997(1):7-18.
[4] 趙東福,許澍虹,柯映林.組合三角Bezier曲面的延伸.機械工程學報, 2003,39(4):87-91.
[5] 初劍,魏志強,孟祥賓,等.基于Delaunay三角剖分的曲面求交技術.系統(tǒng)仿真學報, 2009,21(1):155-158.