胡勇, 馬曉祿
(武漢理工大學 交通學院, 湖北 武漢 430063)
艦艇表面由于吸聲(隔聲)、抑振、提高隱身性能[1]等需求,需要在表面鋪設矩形消聲塊(以下簡稱矩形塊),矩形塊通常采用橡膠等材料作為基材并在其中添加其他材料(如金屬粒子等)來達到吸收入射聲波的目的[2],由于其使用的材料,通常消聲瓦具有一定的柔性,在敷設到曲面上時能夠在一定程度內發(fā)生彈性變形,其敷設要求為布置盡可能整齊美觀,且需要切割的矩形塊數(shù)量盡可能少。目前主要采用的方式是在外板展開圖上進行布置設計,這種方式誤差很大,只能大致確定需要的矩形塊總數(shù),布置設計無法用于實際生產,因此需要改進。為此,陳志飚等[3-5]利用修正后的等面積曲面展開方法[6],通過在平面上選取基準點,在基準點周圍通過輻射的方式來進行布置設計,在布置完成后映射到空間曲面。由于其基準點選取比較單一,會導致距離基準點較遠的位置產生較大的畸變,無法滿足生產;嚴家祥等[7]提出了在曲面上構造一定弧長的測地線的方式來對矩形塊的邊界進行確定,但是這種方法對曲面有較高的要求,且其通用性沒有得到驗證。吳年慶等[8-9]提出了利用曲面線偏移產生參考線的方法來布置矩形塊,其結果切割數(shù)較多。
本文提出了利用船體外板展開方法(或稱小曲面三角形法[10])對船體外板進行展開,在此基礎上,提出了根據基準線在其展開平面上進行矩形塊布置設計,再將矩形塊映射到三維曲面,生成三維布置圖的方法。布置過程采用了多條基準線,滿足了美觀需求,同時也有效避免了矩形塊映射從展開平面映射到曲面后的畸變和錯位。
船體外板展開方法是將曲板劃分成若干個小單元(小曲面三角形),并將這些小曲面三角形近似看成平面三角形并進行展開的方法。在展開過程中,由于考慮了板厚及加工方式的影響,故展開結果比較準確。
準備工作,中性層偏移。對船體外板展開時,由于其厚度不可忽略(通常大于10 mm),內外兩側的曲面展開結果都與實際有一定的誤差,因此需要對外板曲面進行偏移,獲得外板中性層曲面,對中性層曲面展開能夠有效減少誤差。在實際操作中,可以通過CATIA軟件的GSD(創(chuàng)成式外形設計)模塊中的曲面偏移功能對曲面進行中性層偏移。
1)曲板劃分,如圖1所示。先將根據選取的基線(圖1(a))將曲板劃分為一系列板條(圖1(b)),再將板條劃分為一系列空間三角形(圖1(c))?;€主要由曲板的曲率較小的方向確定,外板加工中,先采用輥彎機在外板曲度較大的方向進行輥彎,使其盡可能逼近最終的曲面形狀,再采用水火彎板工藝加工外板曲度較小的方向得到最終的外板曲面。由于輥彎加工工藝與水火彎板工藝相比更簡單,因此需要盡可能減少水火彎板的加工量,因此通常選取曲率較小的方向作為展開基線。
圖1 曲面劃分為板條和小曲面三角形
2)對每一個板條進行展開,如圖2所示。將x軸作為展開基線,原點O(0,0)作為第1個板條展開的起始點。之后對每一塊板條分別展開。第j個板條展開起始點橫坐標為前j-1個板條上基線距離之和,即:
(1)
式中:Pj,k是第j個板條的展開起始點;j表示板條序號;k表示基線上的點沿板條的序號。
圖2 對單個板條展開
重復這個步驟,將板條上其他三角形展開,形成由平面三角形組成的平面板條,如圖2(c)。
3)對展開好的平面板條進行拼接,如圖3所示。板條展開后,2個相鄰板條之間可能會存在重疊和間隙,如圖3(a)。對于這種情況,首先需要對其進行旋轉,使重疊或者間隙盡可能均勻分布。設2個板條之間x軸上方和x軸下方的夾角分別為α和β,設出現(xiàn)間隙時角度為正,出現(xiàn)重疊時角度為負,則圖中α> 0,β< 0。設需要轉動角θ才能均勻分布,則有:
α-θ=β+θ
(2)
(3)
式中a1、a2、b1、b2分別是左側板條x軸上方與基線的夾角、左側板條x軸下方與基線的夾角、右側板條x軸上方與基線的夾角、右側板條x軸下方與基線的夾角。旋轉結果如圖3(b)所示。
對于圖3(a)之外的情形,如相鄰板條之間只存在重疊但重疊分布不均勻,或者只存在間隙但間隙分布不均勻等情況等,式(3)也適用。
水火彎板是對板進行加熱后急速冷卻使板材形成收縮的一種加工方法,對于需要水火加工的曲板而言,若板條旋轉后還是存在重疊,需要對板條進行平移,直到不存在重疊為止,如圖3(c)所示。其平移的目的是消除重疊,產生間隙,而間隙可以在水火加工過程中被收縮。
圖3 相鄰板條的拼接
將所有的板條都拼接完成后,對輪廓線進行求取,就形成了展開圖,如圖4所示。其中,左邊線和右邊線分別為第1個板條的左邊線和最后一個板條的右邊線,上邊線是利用控制點構造樣條線來生成,其起點為第1個板條的左上點,終點為最后1個板條的右上點,中間的控制點是相鄰板條上方相鄰點的中點。下邊線采用與上邊線相鄰的構造方法。
圖4 輪廓線求取
在程序中使用65×65點矩陣來構造曲面,對于典型半圓筒曲面(半徑1 000 mm,高度2 000 mm)的構造表明,邊長的最大誤差不超過1 mm,總面積的誤差不超過0.001%,可以認為其構造精度達到要求。
布置矩形塊時,先在展開平面排列矩形塊,再將排列好的矩形塊的特征點映射到空間曲面。以其中一塊矩形塊為例,其初始敷設線如圖5(a)所示,在展開平面上排列矩形塊時,由于空間曲面展開成平面后板條與板條之間會存在間隙或者重疊(這一部分對應著板條的邊線),因此,在排列矩形塊時,需要消除這一部分的影響。對于水火加工工藝,其展開后板條之間存在間隙,但該間隙在外板成形時會自動縫合。因此在展開圖上,敷設線需要修正。由于上下敷設線經過的板條間隙不一致,修正后在平面上不會維持原有的矩形形狀,如圖5(b)所示。
若修正后敷設線的終點落到其他板條上,則需要第2次修正,此時的修正距離較之前要少,修正過程與第1次修正相同。其結果如圖5(c)所示。若第2次修正后敷設線終點還是落到其他板條,則還是需要修正,直到最近2次修正結果落在同一個板條上為止(通常只需要2~3次修正)。
圖5 敷設時對板條間隙的修正
在板條展開過程中,可以得到三維板條上每個三角形的頂點在二維平面的映射,通過這些平面三角形與空間三角形的對應關系可以得到三維點在二維平面的映射點的位置范圍。確定位置范圍后,可以根據點與周圍點的位置關系進一步確定點的具體位置。設曲面上某一點P1在某網格P2P3P4P5中的位置如圖6所示,網格展開后為P2′P3′P4′P5′,則需要求點P1在展開圖中的位置。其計算步驟為:
1)求平面P2P3P5的法向量n,其計算方法為:
(4)
2)過點P1做平面P2P3P5的垂線P1P6,求平面P1P2P6的法向量m,其計算方法為:
(5)
(6)
4)求向量m與向量p的夾角θ,θ與∠P3P2P6相等,其計算方法為:
(7)
5)求線段P2P6的長度,其計算方法為:
(8)
圖6 三維點向展開平面映射
在板條展開過程中,可以得到平面板條上每個三角形的頂點在三維曲面的映射,通過這些平面三角形與空間三角形的對應關系可以得到二維點在三維的映射點的位置范圍。
由于展開之后板條之間可能存在間隙,因此曲板的展開結果中包含板條區(qū)和間隙區(qū),而間隙區(qū)在原三維曲面中是不存在的,若點落在間隙區(qū)內時,映射到曲面時會映射到三維曲面劃分時的板條邊緣,因此在映射前需要對點的位置進行判斷。
如圖7所示,點的位置存在2種情況,下面對這2種情況分別進行分析。
(9)
(10)
(11)
對于典型的船體,船中部分近似于圓筒體,屬于單曲度曲面,單曲度曲面是可展曲面,布置矩形塊難度較低;而船艏船艉是雙曲度曲面,雙曲度曲面是不可展曲面,布置難度較高。算法采用suboff模型[11-12]的船艏部分進行測試。假設矩形塊的尺寸設置為800×600 mm,布置要求相鄰矩形塊之間的距離在10~30 mm。
程序分為3個部分:曲面信息提取部分、曲面處理部分和矩形塊信息讀取部分,其結構如圖8所示。其中,信息讀取部分是通過CATIA軟件自帶的VBA(Visual Basic for Applications,針對于應用的Visual Basic開發(fā)語言)二次開發(fā)程序[13-14]編寫程序來實現(xiàn)的,在提取后會將曲面點信息和基線離散點信息保存在txt文件中。曲面處理部分是在Visual Studio 2012平臺通過C#語言編程實現(xiàn)第1章的算法,讀取此前生成的txt文件對曲面進行重構,對曲面進行展,并以船長方向為主方向,采用選定的基準線,將基準線映射到二維對矩形塊進行布置并將布置結果映射到三維曲面中,程序會生成矩形塊的特征點并將其保存在新的txt文件中。矩形塊信息提取部分也是通過CATIA中的VBA二次開發(fā)程序編寫程序來實現(xiàn),讀取曲面處理部分產生的txt文件在原外板曲面上生成矩形塊的三維布置圖。
圖8 程序的結構
由于矩形塊在船體外板的外表面布置,因此在展開曲面時,展開的是船體外板的外表面(而非中性層曲面)。若對外板進行中性層偏移后再展開,則無法將平面布置結果映射到船體外板的外表面。因此在提取時直接提取外板外表面,無需進行中性層偏移。
矩形塊布置結果如圖9所示。其中圖9(a)是在曲板上選取的三條布置基準線,分別是水線、中間基準線、龍骨基準線。圖9(b)是曲板的二維展開圖及矩形塊布置情況。圖9(c)是從二維平面映射到三維平面后其布置結果。
圖9 船體艏部矩形塊布置
其主方向的確定,主要是由于在船長方向其曲率相對較小,布置后矩形塊的平均形變量較小[8]。
基準線的選取與船艏外板曲面的形狀有關,由于船體外板關于龍骨線所在平面對稱,因此可以只對一側外板進行布置;而矩形塊在水線以下的部分不可見,無需考慮其美觀性;中間基準線則通過生成等距線[15]的方式生成。若采用的基準線條數(shù)過少,會導致距離基準線較遠的矩形塊產生過大的變形,基準線條數(shù)過多會增大計算量,采用三條基準線能夠滿足該模型上的布置要求。
此外,對布置中出現(xiàn)的不合理部分,如三角形板寬等,可以在自動布置的基礎上,進行局部的人工干預調整,如圖9(c)中的虛線部分即是手動調整的結果。
船艏單側的矩形塊布置結果如表1所示。布置結果中,間隙排列整齊,且其大小都處于正常范圍內,布置的矩形塊總面積占曲面面積的94.96%。
表1 船艏單側布置結果
1)使用C#編程語言,編寫軟件實現(xiàn)外板展開算法、平面矩形塊布置算法和展開前后曲面映射算法;
2)通過CATIA自帶的VBA二次開發(fā)程序編寫軟件實現(xiàn)矩形塊布置程序與CAITA的信息交換;
3)對船艏部分進行布置。
通過與實船的布置結果相對比,該算法能夠較好地滿足布置需求,可以應用于船體外板矩形塊布置設計。