基于NX的船舶型线三维参数化建模系统构建

2018-11-01 09:14,,,
船海工程 2018年5期
关键词:样条端点交点

,,,

(1.华中科技大学 材料科学与工程学院,武汉 430074;2.中国船级社技术研发中心,北京 100007)

船舶外壳建模是船舶整体建模的重要环节,也是最复杂的部分[1-2]。目前主流型线建模软件如TRIBON,FORAN,CATIA等,操作较为繁杂,且使用成本较高[3-5]。船体各部分型线之间有着明显的关联关系,但目前大多型线建模软件均未考虑其关联特性,将型线设计成一条条独立的曲线,缺乏整体性。针对型线参数化的研究,大多数注重对型线表达的参数化,而非考虑型线之间的关联关系[6-7]。为此,考虑基于NX平台,充分利用NX平台特征建模的优势,建立型线参数化模型,使得三向光顺更容易。在NX平台基础上,进行深度二次开发[8-9],增强型线之间关联性以及编辑时的交互性。

1 型线参数化设计

从船壳整体角度出发,考虑型线之间的关联性,设计由点驱动的型线模型,见图1。

在整个系统中,型线与型线之间的交点仅有一个点,如图中Point1同时属于HullLine1和HullLine2。通过修改该点(Point1)驱动2条相交的型线(HullLine1、HullLine2)进行更新。系统中曲面则由型线驱动,所有外壳的面片与型线进行关联,如图中Hull Surface与周围的4条型线关联,型线的修改将带动面片的更新。整个系统呈现出点动则线动,线动则面动的同步更新状态,如图中所示,Point1的变动引起HullLine1和HullLine2的更新,并最终带动Hull Surface的形状发生变化。

船体型线具有平行中体部分曲率变化较小、船艏船艉曲率变化较大的特点[10- 11]。若将整根型线用一条三次样条处理,会导致平行中体与船艏(船艉)连接部分的抖动,且很难消除。如图2a)所示,在过渡区的误差达到了18 mm。型线分段能够消除连接处的抖动,增加型线的光顺性。如图2b),在增加了端点后,型线分为3段,完全消除了过渡区的抖动。因此型线特征采用分段式设计,分段点位置和分段线类型均可自由设置。另外,由于船尾部分的肋骨线会出现2段线分离,因此,分段线类型增加了选项 “无”,加上直线和样条曲线共有3种分段线类型。型线的分段后仍由型线自定义特征统一管理,虽然分为多段,但仍是一个特征,提高了型线的完整性。

基于以上观点,结合NXOpen C++自定义特征,设计系统型线自定义特征。见图3。

2 系统功能设计

为便捷操作,系统功能设计见图4。

2.1 型线自动快速生成

结合型线自定义特征设计,系统实现了型线生成功能,可由EXCEL型值表自动快速生成型线网格,流程见图5,过程中几乎无需用户手工干预,详细过程如下。

图5 型值表生成型线流程

1)导入型值表。分别将高度表和半宽表的EXCEL文件导入即可,程序自动完成表格读取与存储,并显示在对话框中。

2)创建型值点。程序自动从型值表中解析出型值点坐标,并以型线为单位创建出型值点。

4)型线预分段。为减少建模人员编辑次数,提高操作效率,在型线生成过程中,系统对型线进行预分段,预先设置好分段端点的切向。对于横剖线,若存在与平底线或平边线的交点,则将该交点设置为端点,将横剖线分为船身、舭部和船底3段,并设置舭部的分段线类型为样条曲线,其他2段为直线,舭部样条曲线的2端点切向设置为相邻直线段方向,见图6a)。对于纵剖线,若存在与平底线的交点,则将该交点设置为端点,将纵剖线分为船艏、船艉及平行中体3段,其中平行中体部分分段线类型设置为直线,其他2段为样条曲线,样条曲线与直线相交处的端点切向设置为相邻直线段方向,见图6b)。对于水线,若存在与平边线的交点,则将该交点设置为端点,将水线分为船艏、船艉及平行中体3段,其中平行中体部分分段线类型设置为直线,其他2段为样条曲线,样条曲线的端点切向设置同纵剖线,见图6c)。

5)逐条生成型线。排序后的型值点按照预分段结果逐段拟合,得到完整的型线特征。生成的型线特征是一个有机的整体,线与点之间通过特征关联,线与线之间通过点关联。

2.2 型线参数化编辑

型线编辑主要目的是提升系统的容错率和适应性,型线编辑的效率决定着建模效率。系统在型线自定义特征基础上提供了功能全面、操作便捷的参数化编辑方式,功能点见图7。

在型线形状不理想的部位,通过插入点或移除点来调整型线形状。插入与移除过程类似,以插入为例。

当用户添加一个点后,系统处理过程见图8。插入点默认为普通点,记为点A。然后逐一计算点A与线上各点的距离,取距离最小点作为参考点,记为点B。当点B不是型线上最后一点时,记型线上的下一个点为点C,计算∠ABC,若小于75°则将点A插入到点B后(见图8a)),否则将点A插入到点B前(见图8b))。当点B是型线上最后一点时,记型线上的上一个点为点C,计算∠ABC,若小于75°则将点A插入到点B前(见图8c)),否则将点A插入到点B后(见图8d))。点A位置确定后,需要对线上端点位置做相应调整。若点A位置在两端端点处,还需对端点做出相应改变。

对于型线上复杂部位,如船艏和船艉,用户可通过增减端点数,从而改变分段数,再通过编辑分段线类型,达到光顺型线的目的。设原分段数为m,新分段数为m′。新增端点时,m′=m+1,新增分段其分段线类型默认为样条曲线;减少端点时,m′=m-1,即将原2段合并为1段,其分段线类型默认为前一分段的类型。当分段线类型为直线时,将以该段2个端点生成1条直线,并将段内其他点自动移至直线上;当分段线类型为样条曲线时,将以该段中包括端点在内所有点拟合成1条三次样条曲线。

3 关联技术

3.1 型值表关联技术

型值表编辑可快速准确添加型值点,并能直观修改型值点。为实现这一功能,提出系统型值表关联技术,主要包含以下3个部分。

1)型值表读取与存储 从EXCEL读取型值表后,将型值表数据存入本地数据库,以便再次使用。

2)型值点生成并关联 从型值表解析出型值点坐标后,创建出点特征,并将点的行列信息以NX对象属性的方式进行记录,从而实现双向关联。

3)型值表再读取并关联 关闭型值表再次打开时,通过本地数据库读取型值表,并根据行列信息建立型值点与型值表的关联。

利用该技术,可在型线创建完成后,将型值表中型值的修改同步展现在型线上。此外,用户亦可在型值表中增删型值,以在型线网格中同步增删型值点。

3.2 型线离散求交算法

为保证型线之间的关联性,型线交叉部分均需生成交点。系统中,船舶型线采用分段式设计,2条型线的求交问题即为2组曲线的求交问题,距离在误差范围内的最近距离点可作为2条型线的交点。采用改进后的离散化方法[12-13],处理过程见图10,具体流程如下。

1)选取需求交的两条型线中的一条,记为C1,求出该型线总长L,求出截断长度D=L/20。

3)需求交的2条型线中的另一条记为C2,C2也由多段组成,记为(B1,B2,,Bm)。取Si(i=1,2,,K)分别与Bj(j=1,2,,m)计算最小距离点PSij,PBj,若二者的距离在误差范围之内,可以认为2点为同一点,该点即为所要求的交点,这里保留点PBi。

4)重复步骤3,将所有求出的交点保存至一个序列中记为(P1,P2,,Pt)。其中t为求得的交点个数。

5)删除距离相近的点,得到最终的交点集。

4 应用实例

在NX 11.0平台上,使用C++作为开发语言,根据上述设计开发出船舶型线三维参数化建模系统,并在多种船型上进行测试。测试计算机主要参数配置:Intel® CoreTMi7-7700 CPU @ 3.60 GHz,16 GB内存,64位操作系统。

对318 000 t超大型油船进行外壳建模,过程见图11a),主要参数为:总长332.9 m,型宽60 m,型深30.6 m。对180 000 DWT球艏散货船进行外壳建模的过程见11b),主要参数:总长295 m,型宽46 m,型深24.8 m。

2船型型线分布见表1。

表1 测试船型型线分布

图11中,第一步通过导入型值表自动生成型线,该过程仅需选择型值表Excel文件导入,点击“生成型线”按钮即可完成。第二步利用系统丰富的型线编辑、插值型线、求交等功能进行调整,达到曲面拟合要求。第三步利用NX曲线曲面建模功能建成完整外壳。建模过程时间消耗见表2。

表2 建模过程时间消耗

测试结果表明:系统能完成多种船型型线建模,与NX 11.0曲线曲面建模功能结合能建成多种船型的外壳模型,并能进一步用于船舶内部结构建模。根据船型的不同,耗时有一定偏差,平均用时约1 h。对于较为复杂的球艏船型,能控制在2 h以内,具有较高的建模效率。

5 结论

充分考虑各种船舶型线的特征,采用NX自定义特征建立型线模型,实现了型线之间参数化关联与同步更新。采用NX二次开发框架实现了完整的船舶型线三维参数化建模系统。用户使用后表明,系统具有以下优点。

1)快速型线生成。 型线生成过程除选择型值表EXCEL文件外无需人工干预。

2)直观的型值表编辑。 型值表与型值点关联,通过修改型值表能实现型线的编辑,并同步显示在图形区。

3)型线参数化设计。 型线通过自定义特征实现,型线之间均通过型值点进行关联。

4)丰富的型线编辑功能。 型线自由度高,编辑功能齐全且均能通过型线自定义特征自动引起相关联型线同步更新,并实时显示在图形区。

猜你喜欢
样条端点交点
基于数值积分的最佳平方逼近样条函数
例谈求解“端点取等”不等式恒成立问题的方法
不等式求解过程中端点的确定
阅读理解
电筒的灯光是线段
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
借助函数图像讨论含参数方程解的情况
三次样条函数的构造
试析高中数学中椭圆与双曲线交点的问题
用B—样条函数进行近似和建模