胡勇, 马晓禄
(武汉理工大学 交通学院, 湖北 武汉 430063)
舰艇表面由于吸声(隔声)、抑振、提高隐身性能[1]等需求,需要在表面铺设矩形消声块(以下简称矩形块),矩形块通常采用橡胶等材料作为基材并在其中添加其他材料(如金属粒子等)来达到吸收入射声波的目的[2],由于其使用的材料,通常消声瓦具有一定的柔性,在敷设到曲面上时能够在一定程度内发生弹性变形,其敷设要求为布置尽可能整齐美观,且需要切割的矩形块数量尽可能少。目前主要采用的方式是在外板展开图上进行布置设计,这种方式误差很大,只能大致确定需要的矩形块总数,布置设计无法用于实际生产,因此需要改进。为此,陈志飚等[3-5]利用修正后的等面积曲面展开方法[6],通过在平面上选取基准点,在基准点周围通过辐射的方式来进行布置设计,在布置完成后映射到空间曲面。由于其基准点选取比较单一,会导致距离基准点较远的位置产生较大的畸变,无法满足生产;严家祥等[7]提出了在曲面上构造一定弧长的测地线的方式来对矩形块的边界进行确定,但是这种方法对曲面有较高的要求,且其通用性没有得到验证。吴年庆等[8-9]提出了利用曲面线偏移产生参考线的方法来布置矩形块,其结果切割数较多。
本文提出了利用船体外板展开方法(或称小曲面三角形法[10])对船体外板进行展开,在此基础上,提出了根据基准线在其展开平面上进行矩形块布置设计,再将矩形块映射到三维曲面,生成三维布置图的方法。布置过程采用了多条基准线,满足了美观需求,同时也有效避免了矩形块映射从展开平面映射到曲面后的畸变和错位。
船体外板展开方法是将曲板划分成若干个小单元(小曲面三角形),并将这些小曲面三角形近似看成平面三角形并进行展开的方法。在展开过程中,由于考虑了板厚及加工方式的影响,故展开结果比较准确。
准备工作,中性层偏移。对船体外板展开时,由于其厚度不可忽略(通常大于10 mm),内外两侧的曲面展开结果都与实际有一定的误差,因此需要对外板曲面进行偏移,获得外板中性层曲面,对中性层曲面展开能够有效减少误差。在实际操作中,可以通过CATIA软件的GSD(创成式外形设计)模块中的曲面偏移功能对曲面进行中性层偏移。
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轴下方的夹角分别为α和β,设出现间隙时角度为正,出现重叠时角度为负,则图中α> 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 三维点向展开平面映射
在板条展开过程中,可以得到平面板条上每个三角形的顶点在三维曲面的映射,通过这些平面三角形与空间三角形的对应关系可以得到二维点在三维的映射点的位置范围。
由于展开之后板条之间可能存在间隙,因此曲板的展开结果中包含板条区和间隙区,而间隙区在原三维曲面中是不存在的,若点落在间隙区内时,映射到曲面时会映射到三维曲面划分时的板条边缘,因此在映射前需要对点的位置进行判断。
如图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开发语言)二次开发程序[13-14]编写程序来实现的,在提取后会将曲面点信息和基线离散点信息保存在txt文件中。曲面处理部分是在Visual Studio 2012平台通过C#语言编程实现第1章的算法,读取此前生成的txt文件对曲面进行重构,对曲面进行展,并以船长方向为主方向,采用选定的基准线,将基准线映射到二维对矩形块进行布置并将布置结果映射到三维曲面中,程序会生成矩形块的特征点并将其保存在新的txt文件中。矩形块信息提取部分也是通过CATIA中的VBA二次开发程序编写程序来实现,读取曲面处理部分产生的txt文件在原外板曲面上生成矩形块的三维布置图。
图8 程序的结构
由于矩形块在船体外板的外表面布置,因此在展开曲面时,展开的是船体外板的外表面(而非中性层曲面)。若对外板进行中性层偏移后再展开,则无法将平面布置结果映射到船体外板的外表面。因此在提取时直接提取外板外表面,无需进行中性层偏移。
矩形块布置结果如图9所示。其中图9(a)是在曲板上选取的三条布置基准线,分别是水线、中间基准线、龙骨基准线。图9(b)是曲板的二维展开图及矩形块布置情况。图9(c)是从二维平面映射到三维平面后其布置结果。
图9 船体艏部矩形块布置
其主方向的确定,主要是由于在船长方向其曲率相对较小,布置后矩形块的平均形变量较小[8]。
基准线的选取与船艏外板曲面的形状有关,由于船体外板关于龙骨线所在平面对称,因此可以只对一侧外板进行布置;而矩形块在水线以下的部分不可见,无需考虑其美观性;中间基准线则通过生成等距线[15]的方式生成。若采用的基准线条数过少,会导致距离基准线较远的矩形块产生过大的变形,基准线条数过多会增大计算量,采用三条基准线能够满足该模型上的布置要求。
此外,对布置中出现的不合理部分,如三角形板宽等,可以在自动布置的基础上,进行局部的人工干预调整,如图9(c)中的虚线部分即是手动调整的结果。
船艏单侧的矩形块布置结果如表1所示。布置结果中,间隙排列整齐,且其大小都处于正常范围内,布置的矩形块总面积占曲面面积的94.96%。
表1 船艏单侧布置结果
1)使用C#编程语言,编写软件实现外板展开算法、平面矩形块布置算法和展开前后曲面映射算法;
2)通过CATIA自带的VBA二次开发程序编写软件实现矩形块布置程序与CAITA的信息交换;
3)对船艏部分进行布置。
通过与实船的布置结果相对比,该算法能够较好地满足布置需求,可以应用于船体外板矩形块布置设计。