基于CATIA的船用螺旋桨三维建模方法
2018-08-27,,,
,,,
(1.武汉理工大学 交通学院, 武汉 430063;2.广州文冲船厂有限责任公司,广州 510727)
为了满足设计中不断改进,制造中节约成本,一次成型的需求,关于快速有效的船用螺旋桨三维建模方法研究集中在不需要计算,完全利用二维图“缠绕”变换来生成螺旋桨三维曲面[1];基于CATIA软件平台,将二维图进行“逆向投影”的螺旋桨三维曲面建模[2];通过坐标变换将变换后的螺旋桨曲面型值点导入Pro/E中得到光滑曲面,进而得到螺旋桨实体模型[3-4];设计螺旋桨二维图形和三维实体之间转换的代码[5],等方面。为了避免传统几何建模方法的手工操作量大的缺点,结合坐标变换自动化的思想,提出一种基于CATIA二次开发和坐标变换的船用螺旋桨三维建模新方法。
1 CATIA软件平台概述
CATIA软件提供了多种二次开发的接口,其中包括自动化对象编程(V5 Automation)和开放的基于构件的应用编程接口(CAA)。其中,Automation开发模式可以完成绝大部分开发工作,只有少部分不足之处才采取CAA开发方式进行补充。Automation开发模式又可分为以下几种 。
1)VBA Project。采用CATIA提供的VBA集成开发环境进行程序设计,属于CATIA进程内,能够设计窗体界面,且可以方便地把生成的程序添加到CATIA工具条中。
2)CATIA宏脚本。采用VBScript语言编写代码,可以把程序集成到CATIA工具条中,但脚本程序的输入输出功能较弱,无法实现复杂的交互界面。
3)其他脚本语言。采用VBScript、JavaScript、Python等语言编写代码,在CATIA以外执行(进程外),可以写成短小灵活的代码集成到其他应用中。
4)高级语言。采用VB.net、C#等高级语言编写代码,可以制作比较复杂的交互界面,利用.net优势简化复杂业务流程设计任务。
2 螺旋桨建模
螺旋桨的主要参数包括纵斜角(后倾角)、螺距比、盘面比、母线到叶片随边的距离、母线到叶片导边的距离、叶片宽度、叶片厚度、导边至最厚点的距离和螺旋桨叶切面尺寸表等。
2.1 二维型值点计算
以直径为0.25 m的MAU4-40型的模型螺旋桨为实例,根据MAU型螺旋桨桨叶轮廓尺寸表(见表1)计算得到模型螺旋桨的伸张轮廓尺寸,包括叶片宽度W(以最大叶片宽度的%表示)、母线到叶片随边的距离L1、母线到叶片导边的距离L2、叶片厚度T(以螺旋桨直径的%表示)、导边至最厚点的距离L3(以叶片宽度%表示)等。根据MAU型叶切面尺寸表(见表2)计算得到不同半径叶切面的二维型值点,以上数据组成了传统二维图纸中的数据信息。
由表1、2中参数的排布规律可知,选择Excel工具进行数据的计算处理和保存十分方便。
表1 MAU螺旋桨桨叶轮廓尺寸表
表2 改进MAU型叶切面尺寸表
注:X-叶切面轮廓型值点横坐标,Yo-叶背纵坐标,Yu-叶面纵坐标。
2.2 型值点坐标变换
根据螺旋桨的二维图制图原理和螺旋桨的几何特征给出螺旋桨叶切面型值点由二维变换到三维的变换公式[6]。
(1)
Z=Y1sinφ+Z1cosφ+Lsinφ-Ritanθ
式中:Ri为不同叶切面所处圆柱面的半径值;L为参考线至最厚点的距离;φ为螺旋角;θ为纵倾角;Y1、Z1为中间局部坐标系中任一点坐标值。
由于坐标系的定义方式不同,将叶切面尺寸坐标值适应到以上计算公式中需换算。
Y1=y-A-L
(2)
Z1=z
(3)
式中:y、z是由叶切面尺寸表得到的初始坐标值;A为导边至母线的距离。
将以上公式进行编辑添加,融入前述二维型值点数据保存的Excel文档中,能够快速计算得到相应的三维型值点坐标值,并以和叶切面尺寸表相同的格式进行保存,便于后续读取。
2.3 叶切面型值点批量导入
在Microsoft Visual Studio 2010中采用VB.net语言编写坐标点批量导入程序,读取保存在Excel里的型值点坐标值数据,在CATIA中生成描述螺旋桨叶曲面的型值点。VB.net语言属于高级语言,使用该语言编写代码访问CATIA属于进程外访问。相比于进程内访问的二次开发方法进行批量导入[7],进程外访问需要注意以下2点。
1)建立与CATIA的通信连接。要想访问CATIA内部的对象,首先要与CATIA进行通信连接,对Excel中保存的型值坐标值的读取也是相同道理。使用GetObject或者CreateObject功能函数来创建连接。其中,GetObject功能函数是在CATIA软件启动的状态下创建连接,CreateObject功能函数是在CATIA软件未启动的状态下首先启动软件然后创建连接。代码如下。
On Error Resume Next
CATIA = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
2)添加CATIA编程接口引用。在VB.net中操作CATIA COM(component object model,部件对象模型)对象,需要为程序添加CATIA编程接口的引用。因为在Automation中,每个对象都包含在某个接口中,而只有引用了相关接口后,才能操作对应的对象。在Automation帮助文档中,可以很方便地查看某个对象所对应的接口,如PartDocument对象,在Automation中点击相应页面上方的“This Framework”命令可以查询到其对应的接口为MecModInterfaces Framework。在程序代码的最开始,使用Imports方法对涉及到的接口依次声明引用,然后编写后面的功能代码。设计的桨叶曲面型值点批量导入程序界面见图1。
图1 型值点批量导入程序界面
通过输入所保存型值点首末点在Excel单元格中的行序和列序值,可以按需自动批量导入生成一系列三维型值点。最终生成的型值点云图见图2(曲线为后续手动添加)。
图2 桨叶曲面型值点云图
2.5 桨叶切面轮廓光顺
在CATIA的GSD(generative shape disign)模块中对曲线进行曲率分析。对桨叶轮廓某2条曲线进行曲率分析的结果见图3。
从图3能够很直观地看到r=0.2R处的叶切面轮廓线不够光顺,因为由曲线曲率半径所组成的曲率梳不光滑,在靠近导边一侧有明显的突变,需要进行调整。而r=0.8R处的叶切面轮廓线的曲率半径组成的曲率梳都很光滑,故该曲线光顺性较好,不必修改。通过对图4中选项的调节,可以让分析结果以不同的形式展现出来,使结果的表现更加直观,如曲率值和曲率半径值的切换、曲率梳的密度、特殊曲率值的显示等。通过对每根轮廓线进行曲率分析,对不光顺曲线进行调整,为后续生成光滑的桨叶曲面做铺垫。
图3 叶切面轮廓曲线曲率分析
图4 箭状曲率分析对话框
2.6 桨叶曲面光顺性检验
将所有叶切面轮廓曲线、随边和导边进行光顺后,就可以构建桨叶曲面了。并且,构建的桨叶曲面的光顺性可以进一步通过CATIA软件中FreeStyle模块下丰富的曲面分析功能进行检验。
基于光照模型的2种比较直观的曲面分析方法的分析结果见图5。
图5 斑马线分析图
由图5不难看出,靠近桨毂端的斑马线比较平滑,而叶稍附近的斑马线则波动较大,即叶稍附近的曲面不够光顺,需要返回对构成它的曲线进行进一步调整光顺。利用命令分析得到的结果见图6。原理是将系统中默认的名为“beach”的图片上的景物映射到曲面上,通过判断映射到曲面上景物的纹理的光滑度判断曲面的光顺性。同图5,容易看出在叶稍附近景象的纹理出现了扭曲,不光滑,因此可以判断出此处曲面光顺性较差,需要调整。
图6 环境映射分析图
2.7 螺旋桨模型的生成
螺旋桨是由桨叶和桨毂两部分组成。光滑的桨叶曲面(见图7,包括页面、叶背和叶根曲面)构建好后,进一步生成桨叶实体(见图8),通过圆形阵列,得到4个桨叶实体,然后根据桨毂相关设计参数,绘制桨毂实体,最终得到螺旋桨三维模型,见图9。
图7 桨叶曲面
图8 桨叶实体
图9 螺旋桨实体
3 结论
本方法避免了传统螺旋桨三维建模方法的繁复的手工操作,充分展现了CATIA软件灵活的二次开发方式以及该软件在曲面造型方面的强大功能。并且,由于CATIA软件同其他分析软件(如Fluent,Abaqus等)有很好的数据兼容性,使得本方法生成的船用螺旋桨三维模型具有极大的重用性,可以为后期的水动力性能分析、强度校核等提供方便。