基于CATIA的船用螺旋桨三维建模方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第47卷㊀第4期2018年8月㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀船海工程SHIP&OCEANENGINEERING㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀

Vol.47㊀No.4

Aug.2018

㊀㊀㊀

DOI:10.3963/j.issn.1671 ̄7953.2018.04.020

基于CATIA的船用螺旋桨三维建模方法

刘勇杰1ꎬ徐青2ꎬ胡勇1ꎬ郑绍春1

(1.武汉理工大学交通学院ꎬ武汉430063ꎻ2.广州文冲船厂有限责任公司ꎬ广州510727)

摘㊀要:针对船用螺旋桨三维外形较复杂的特点ꎬ提出一种基于CATIA平台的坐标变换的船用螺旋桨三维建模方法ꎬ给出由叶切面局部坐标系到全局坐标系的变换公式ꎬ采用Excel快速完成数据处理ꎬ用VB.net语言对CATIA进行二次开发ꎬ完成桨叶曲面型值数据的读取与批量导入ꎬ最终快速得到螺旋桨三维模型ꎬ该方法柔性好㊁效率高ꎬ可以根据不同设计参数快速得到对应的螺旋桨三维模型ꎬ并对模型进行优化处理ꎮ

关键词:船用螺旋桨ꎻ三维建模ꎻCATIAꎻExcelꎻ二次开发

中图分类号:U664.33㊀㊀㊀㊀文献标志码:A㊀㊀㊀㊀文章编号:1671 ̄7953(2018)04 ̄0084 ̄04

收稿日期:2017-10-17修回日期:2017-11-15

基金项目:国家自然科学基金项目(51379167)第一作者:刘勇杰(1992 )ꎬ男ꎬ硕士生研究方向:船舶先进制造技术

㊀㊀为了满足设计中不断改进ꎬ制造中节约成本ꎬ一次成型的需求ꎬ关于快速有效的船用螺旋桨三维建模方法研究集中在不需要计算ꎬ完全利用二维图 缠绕 变换来生成螺旋桨三维曲面[1]ꎻ基于CATIA软件平台ꎬ将二维图进行 逆向投影 的螺旋桨三维曲面建模[2]ꎻ通过坐标变换将变换后的螺旋桨曲面型值点导入Pro/E中得到光滑曲面ꎬ进而得到螺旋桨实体模型[3 ̄4]ꎻ设计螺旋桨二维图形和三维实体之间转换的代码[5]ꎬ等方面ꎮ为了避免传统几何建模方法的手工操作量大的缺点ꎬ

结合坐标变换自动化的思想ꎬ提出一种基于CAT ̄IA二次开发和坐标变换的船用螺旋桨三维建模新方法ꎮ

1㊀CATIA软件平台概述

CATIA软件提供了多种二次开发的接口ꎬ其

中包括自动化对象编程(V5Automation)和开放的基于构件的应用编程接口(CAA)ꎮ其中ꎬAuto ̄

mation开发模式可以完成绝大部分开发工作ꎬ只有少部分不足之处才采取CAA开发方式进行补充ꎮAutomation开发模式又可分为以下几种ꎮ

1)VBAProjectꎮ采用CATIA提供的VBA集成开发环境进行程序设计ꎬ属于CATIA进程内ꎬ能够设计窗体界面ꎬ且可以方便地把生成的程序

添加到CATIA工具条中ꎮ

2)CATIA宏脚本ꎮ采用VBScript语言编写

代码ꎬ可以把程序集成到CATIA工具条中ꎬ但脚本程序的输入输出功能较弱ꎬ无法实现复杂的交互界面ꎮ

3)其他脚本语言ꎮ采用VBScript㊁JavaS ̄

cript㊁Python等语言编写代码ꎬ在CATIA以外执行(进程外)ꎬ可以写成短小灵活的代码集成到其他应用中ꎮ

4)高级语言ꎮ采用VB.net㊁C#等高级语言编

写代码ꎬ可以制作比较复杂的交互界面ꎬ利用.net优势简化复杂业务流程设计任务ꎮ

2㊀螺旋桨建模

螺旋桨的主要参数包括纵斜角(后倾角)㊁螺

距比㊁盘面比㊁母线到叶片随边的距离㊁母线到叶片导边的距离㊁叶片宽度㊁叶片厚度㊁导边至最厚点的距离和螺旋桨叶切面尺寸表等ꎮ

2.1㊀二维型值点计算

以直径为0.25m的MAU4-40型的模型螺旋桨为实例ꎬ根据MAU型螺旋桨桨叶轮廓尺寸表(见表1)计算得到模型螺旋桨的伸张轮廓尺寸ꎬ包括叶片宽度W(以最大叶片宽度的%表示)㊁母线到叶片随边的距离L1㊁母线到叶片导边的距离L2㊁叶片厚度T(以螺旋桨直径的%表示)㊁导边至最厚点的距离L3(以叶片宽度%表示)等ꎮ根据MAU型叶切面尺寸表(见表2)计算得到不同半径叶切面的二维型值点ꎬ以上数据组成了传统二维图纸中的数据信息ꎮ

由表1㊁2中参数的排布规律可知ꎬ选择Excel

表1㊀MAU螺旋桨桨叶轮廓尺寸表

r/R

L1

L2

L3

0.2066.5427.9638.5832.04.060.3077.7033.4544.2532.03.590.4087.0838.7648.3232.03.120.5094.3443.5450.8032.52.650.6099.11

47.9651.1534.92.180.66100.0049.7450.2637.91.900.7099.6451.3348.3140.21.710.8092.9252.3940.5345.51.240.9073.6248.4925.1348.90.770.9555.6242.0713.5550.00.541.00

-17.29

0.30㊀㊀

表2㊀改进MAU型叶切面尺寸表r/R=0.20XYo

YuX

Yo

Yu

35.0040.0097.5

2.0051.8524.2550.0089.954.0059.7519.0560.0078.156.0066.1515.0070.0063.1510.0076.0510.0080.0045.2515.0085.255.4090.0025.3020.0092.202.35

95.00

15.0030.0099.80

100.00

4.50

32.00100.00㊀注:X-叶切面轮廓型值点横坐标ꎬYo-叶背纵坐标ꎬYu-叶面纵坐标ꎮ

工具进行数据的计算处理和保存十分方便ꎮ

2.2㊀型值点坐标变换

根据螺旋桨的二维图制图原理和螺旋桨的几何特征给出螺旋桨叶切面型值点由二维变换到三维的变换公式[6]ꎮ

X=RicosY1

cosφ-Z1sinφ+LcosφRi

æèç

ö

ø÷

Y=RisinY1cosφ-Z1sinφ+LcosφRi

æèç

ö

ø÷

(1)

Z=Y1sinφ+Z1cosφ+Lsinφ-Ritanθ

式中:Ri为不同叶切面所处圆柱面的半径值ꎻL为参考线至最厚点的距离ꎻφ为螺旋角ꎻθ为纵倾角ꎻY1㊁Z1为中间局部坐标系中任一点坐标值ꎮ由于坐标系的定义方式不同ꎬ将叶切面尺寸

坐标值适应到以上计算公式中需换算ꎮ

Y1=y-A-L

(2)Z1=z㊀㊀㊀㊀(3)

式中:y㊁z是由叶切面尺寸表得到的初始坐标值ꎻA为导边至母线的距离ꎮ

将以上公式进行编辑添加ꎬ融入前述二维型

值点数据保存的Excel文档中ꎬ能够快速计算得到相应的三维型值点坐标值ꎬ并以和叶切面尺寸表相同的格式进行保存ꎬ便于后续读取ꎮ2.3㊀叶切面型值点批量导入

在MicrosoftVisualStudio2010中采用VB.

net语言编写坐标点批量导入程序ꎬ读取保存在Excel里的型值点坐标值数据ꎬ在CATIA中生成描述螺旋桨叶曲面的型值点ꎮVB.net语言属于高级语言ꎬ使用该语言编写代码访问CATIA属于进程外访问ꎮ相比于进程内访问的二次开发方法

进行批量导入[7]ꎬ进程外访问需要注意以下2点ꎮ1)建立与CATIA的通信连接ꎮ要想访问CATIA内部的对象ꎬ首先要与CATIA进行通信连接ꎬ对Excel中保存的型值坐标值的读取也是相同道理ꎮ使用GetObject或者CreateObject功能函数来创建连接ꎮ其中ꎬGetObject功能函数是在CATIA软件启动的状态下创建连接ꎬCreateObject功能函数是在CATIA软件未启动的状态下首先

启动软件然后创建连接ꎮ代码如下ꎮ

OnErrorResumeNext

CATIA=GetObject(ꎬ"CATIA.Application")IfErr.Number<>0ThenCATIA=CreateObject("CATIA.Application")

CATIA.Visible=TrueEndIf

2)添加CATIA编程接口引用ꎮ在VB.net中

操作CATIACOM(componentobjectmodelꎬ部件对象模型)对象ꎬ需要为程序添加CATIA编程接口的引用ꎮ因为在Automation中ꎬ每个对象都包含在某个接口中ꎬ而只有引用了相关接口后ꎬ才能操作对应的对象ꎮ在Automation帮助文档中ꎬ可以很方便地查看某个对象所对应的接口ꎬ如Part ̄

Document对象ꎬ在Automation中点击相应页面上方的 ThisFramework 命令可以查询到其对应的接口为MecModInterfacesFrameworkꎮ在程序代码的最开始ꎬ使用Imports方法对涉及到的接口依次声明引用ꎬ然后编写后面的功能代码ꎮ设计的桨叶曲面型值点批量导入程序界面见图1ꎮ

通过输入所保存型值点首末点在Excel单元格中的行序和列序值ꎬ可以按需自动批量导入生成一系列三维型值点ꎮ最终生成的型值点云图见图2(曲线为后续手动添加)ꎮ

相关文档
最新文档