APP下载

船体外形的CATIA建模方法

2013-06-12朱晓军

船海工程 2013年2期
关键词:样条线图外形

朱晓军,王 鹏,彭 飞

(海军工程大学 舰船工程系,武汉430033)

船体三维外形设计是船舶总体设计中的一个重要组成部分。现有的船体形状的基本图形表示方法是型线图,该方法可以在二维图纸上直观地展现船体的几何尺度和形状,是船舶静力学中计算船体形状各项参数和静水力性能的重要依据[1-3]。但是在总体设计阶段船体外形需要经常修改,在设计阶段结束时必须为船厂提供用于指导建造船体外壳的船体型线图,因此如何快速准确地确定船体三维外形同时获得更加准确的船体型线图以及型值表是一个必须解决的问题。

CATIA软件最早应用于飞机制造领域[4],其功能覆盖了曲面、线框、实体、加工、机构分析和机器人操作规划等方面,目前船舶制造领域已经开始使用该软件[5-6]。该软件强大的曲面生成的功能,及具有多种二次开发的接口[7],使得其具有良好的人机交互界面,可以提高船舶设计过程的效率和质量。本文研究利用CATIA软件及其基于自动化应用接口宏命令的二次开发技术实现船体外形的建模方法,同时提出经过改进的船体外形型线图方案,对于船舶设计以及建造过程具有一定的借鉴作用。

1 船体外形三维控制点的获取

在CATIA建模方法中利用型值表得到各个剖面上各点的三维坐标的基本原则如下:站号代表各点的x坐标,水线、甲板边线、外板顶线、舷墙顶线代表各点的z坐标,其与横剖线交点的半宽值代表各点的y坐标。根据型值表得到控制点的坐标之后,需要通过利用CATIA宏命令将其导入到建模空间中并对异常点进行处理。

1.1 空间控制点导入到建模空间

利用编写的CATIA宏命令调用以EXCEL文件形式存储的型值表主要通过以下步骤完成。

1.1.1 创建CATIA建模空间

创建宏脚本文件,并加入宏脚本的入口点“CATMain”:

Language=“VBSCRIPT”

Sub CATMain

创建新零件,命名为“chuanti”:

Set documents1=CATIA.Documents

Set partDocument1=documents1.Add("Part")

Set partDocument1=documents1.Item("chuanti.CATPart")

这段脚本通过向“Documents”集合添加“Part”类型的文档对象新建了一个零件文件"chuanti.CATPart"

1.1.2 CATIA与EXCEL的连接

Set chuanti=partDocument1.Part

set excel=getobject("E:〔**wigley.xls")

其中“E:〔**wigley.xls”代表EXCEL文件存储的路径。

1.1.3 EXCEL型值转换为控制点三维坐标

for j=p to m

for i=1 to n

t=chr(j)

x=△L*(i-1)

y=△H*(j-p)

z=excel.worksheets(1).cells.range(t&trim(cstr(i))).value

其中变量的取值范围是根据型值表存储在EXCEL文件worksheet中的位置确定的,需导入点型值所在列字母对应的ASCⅡ码值来确定的。如上述宏命令中,j为worksheet中型值所在列字母对应的ASCⅡ码值;i为型值表的行数,一般等于站数;△L为站距;△H为水线间距。对于型值表中的甲板边线、龙骨线、纵剖线等,由于型值表记录数据的特点需要单独导入,以纵剖舷为例,需要通过以下宏命令进行导入操作。

for i=1 to n

x=△L*(i-1)

y=excel.worksheets(1).cells.range("D"&trim(cstr(i))).value

z=excel.worksheets(1).cells.range("D"&trim(cstr(i))).value

1.2 异常点的处理

在通过使用以上语句调入与船体型值表对应的外形控制点的过程中,根据CATIA特点,对于无具体型值的点,初始化为0,这就使得导入到建模空间中的点存在异常点,可以手动将这些点删除,以便于船体外形样条曲线的生成,以某2 200 t货船为例,最终得到的空间点云见图1。

图1 船体外形空间点云图

2 船体外形样条曲线的生成

船体型线图主要由船体的纵剖线图、横剖线图以及半宽水线图组成,对应的型值表中提供了横剖线与水线、甲板边线、外板顶线、舷墙顶线交点的半宽值及横剖线与纵剖线、甲板边线、外板顶线、舷墙顶线交点的高度值,这些信息通过以上的处理已经获得了船体外形的基本的三维控制点,下面主要介绍如何用这些基本点获得控制船体外形的样条曲线。

2.1 样条曲线自动生成

控制船体外形的基本的样条曲线主要包括横剖线、纵剖线、水线、站线、甲板边线等,利用CATIA宏命令进行绘制时的基本语句是相同的。以站线的获取为例,介绍样条曲线的自动生成功能。

2.1.1 宏命令循环生成一条样条曲线

1)选定样条曲线生成后的存储空间。

Set bodies1=part1.Bodies

Set body1=bodies1.Item("零部件几何体")

Set hybridShapes1=body1.HybridShapes

读取样条曲线的各个控制点的位置信息:

Set hybridShapePointCoord1=hybridShapes1.Item(i)

2)设定生成的样条曲线的参考平面以及参考点(A,B,C)。

Set reference1=part1.CreateReferenceFromObject

(hybridShapePointCoord1)

hybridShapeSpline1.AddPointWithConstraintExplicit reference1,Nothing,A,B,Nothing,C

2.1.2 创建所有站线的样条曲线

在得到一条站线样条曲线的基础上,利用宏命令中的for-next循环完成多条样条曲线的生成,添加新的油条曲线的命令语句如下。

Set hybridShapeFactory1=part1.HybridShapeFactory

Set hybridShapeSpline1=

hybridShapeFactory1.AddNewSpline()

hybridShapeSpline1.SetSplineType hybridShapeSpline1.SetClosing

每循环一次刷新得到新的样条曲线:

body1.InsertHybridShape hybridShapeSpline1

part1.InWorkObject=hybridShapeSpline1

part1.Update

2.2 异常曲线的处理

通过以上程序获得最初的船体外形控制曲线,生成的曲线难免会出现一些不合理的地方,例如曲线端点处的切线方向不对、两曲线结合处的光顺问题等,这些不能通过调用宏命令对其进行修饰,需要通过手动操作对其进行调整,主要使用的操作是定义样条曲线端点处的切线方向或者在曲线结合处使用“圆-圆锥”等命令进行修饰,最终得到的船体外形样条曲线见图2。

图2 船体外形样条曲线

3 船体外表面的生成

3.1 添加控制曲线

由于型值表提供的数据比较少,得到的船体外形控制曲线不多,再加上船体某些部位主要是艏部和艉部的外形比较复杂,存在双向曲度板,为了获得较为光顺的船体外形,根据现有的样条曲线,在艏部和艉部添加必要的样条曲线。基本方法为在需要添加样条曲线的部位设定参考平面(站线或者水线方向),利用该平面与水线或者站线的交点为控制点连接成样条曲线。

3.2 生成船体曲面

船体外表面大部分是通过使用“网状曲面”命令进行绘制,该命令需要选择的轮廓线与轮廓线、引导线与引导线不能相交。为满足该命令的要求,需要对某些样条曲线进行“分割”或者“拼接”,无论是使用“分割”还是“拼接”命令,都不会改变原有样条曲线的曲率,不会影响其光顺性。

通过使用“网状曲面”或者“填充曲面”等命令,初步得到船体外形,但为了保证船体外形的光顺性,避免船体外形上存在“凹凸点”,需要利用圆角工具栏中的相关命令例如“可变圆角”、“三线内切圆角”等对面与面的交接处进行修饰,得到最终的船体外形见图3。

图3 船体外形

4 重新获取型线图

通过以上步骤得到船体的三维外形,在整个过程中为了保证样条曲线以及船体外表面的光顺性,对三维控制点、样条曲线以及生成的外形曲面都进行了修饰,从而使得原有的船体外形型值发生了变化,改变CATIA建模空间的视角,可以显示更新过的船体型线图,见图4。同时也可以利用该软件的“测量”功能得到各个控制点的坐标,从而得到更新过的船体型值表。

图4 船体外形更新过的型线图

5 结论

经过上述步骤的处理,最终得到了该货船光顺的船体外形,并且得到了修改的船体型线图。今后的工作还要完善以下方面的工作。

1)将修改的船体型线图转换为可供静水力计算使用的型值表;

2)在利用CATIA软件得到船体三维模型的过程中,尽可能少地减少人为的操作因素,提高其自动化程度。

[1]盛振邦,刘应中.船舶原理[M].上海:上海交通大学出版社,2003.

[2]朱 军,王晓侠,查友其.样条函数在船舶静力计算中的应用[J].船舶工程,2000(3):16-18.

[3]赵成璧,邹早建.基于NURBS的船舶型线设计程序EHULL[J].武汉造船,2001(1):28-31.

[4]谢岳峰,余雄庆.基于CATIA二次开发的飞机外形参数化设计[J].计算机工程与设计,2008,29(17):3792-3794.

[5]徐俊路,陈顺怀.基于CATIA二次开发的球首参数化设计[J].船海工程,2010,39(1):45-47.

[6]彭 辉.船体三维建模应用技术研究[D].哈尔滨:哈尔滨工程大学,2008.

[7]胡 挺,吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2006.

猜你喜欢

样条线图外形
一些图运算的调和指标与调和多项式的线图∗
适盒A4BOX 多功能料理锅
预测瘢痕子宫阴道试产失败的风险列线图模型建立
对流-扩散方程数值解的四次B样条方法
惊呆了,水果还能这么玩
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于节点最优分布B样条的火箭弹开舱点时间估算方法
用B—样条函数进行近似和建模
一类图及其线图的Wiener指数
世界各国直升机立体外形图选登(103)