首页 > 范文大全 > 正文

航空发动机三维工作演示系统设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇航空发动机三维工作演示系统设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】本文介绍了利用三维建模软件建立涡扇发动机模型的方法,使用旋转、复制、平移等指令,安照发动机结构图纸或照片构建发动机三维模型。通过编程调用发动机三维模型,实现了涡扇发动机三维视景仿真程序,同时在前台对话框显示发动机动态模型输出的发动机工作参数。在发动机模型中预留特效贴图并通过程序的灵活调用,对发动机内部的气流特效和燃烧室与加力燃烧室的燃烧特效提出了新的实现方法。

【关键词】三维建模;涡扇发动机;视景仿真

0 引言

相较于传统的数值显示和数据曲线,使用三维视景仿真技术对航空发动机的工作状态进行模拟,可以更为直观地显示发动机在不同工况下的内部气流流速、温度等重要特征。

Creator和Vega Prime分别是美国MultiGen公司开发的商用三维仿真建模软件和实时三维应用开发环境,Creator生成的三维模型可通过Vega Prime配置生成三维视景仿真应用,是种高效、便捷、灵活的三维视景仿真系统开发手段,同时提供了逼真的仿真效果和声、光以及视觉特效。

本文基于上述两种软件,开发航空发动机三维工作演示系统,可应用于科研教学、企业产品演示等。

1 航空发动机模型的建立

与3DMAX等主流建模软件相比,Creator的特点是采用了针对实时应用优化的OpenFlight数据格式,这是一种通过划分层次来描述视景信息的逻辑化数据库,由众多不同等级的节点所构成的[1]。

在现实世界中,一个封闭的几何物体的构成要素可分为体、面、线、点。相对应的,在典型的OpenFlight模型数据库中,构成一个物体的节点从结构层次上依次为体节点、面节点、线节点和点节点,另外任意多个节点还可以组合成一个组节点以便于管理。从功能角度来说,上述体、面、线等节点可用于描述三维模型的几何特征以及颜色、反光度和纹理等特征信息,而组节点可用于集中管理不同节点之间的层次关系[2]。

以典型的双转子大涵道比涡扇发动机为例,其主要结构部件包括风扇、压气机、燃烧室、高低压涡轮、尾喷管、机匣和附件等。

航空发动机内的大部分部件均为旋转件,如高低压转子,机匣和燃烧室等。对于这一类部件,可以直接通过描点(polygon)指令按照发动机图纸或照片描绘出发动机的横截面,然后通过滚动指令将横截面围绕发动机中轴线一圈并生成旋转部件的封闭实体。最后,为了节省仿真程序运行时的计算机资源,可将实体封闭后观察不到的多余面节点删除。

发动机叶片可视为扭转的拉伸实体,因此可先利用描点指令(polygon)描绘出叶片的截面形状,然后通过复制、平移(Translate)、旋转(Rotate about edge)等指令将叶片截面移至不同高度,并随高度增加扭转一定角度,最后通过连接(Loft)指令将这些截面连接为一个完整的叶片。对于涡轮或比较短小的压气机叶片,可以直接将叶片截面通过拉伸(Wall)指令生成无扭转的叶片。最后将生成的叶片安装到发动机上,使用复制和旋转指令围绕发动机中轴线生成一圈完整的发动机叶片。

除了上述体、面等节点外,Creator还提供了一些特殊节点,这些节点与组节点的级别相同,但并不包含模型的几何特征信息,其作用是为下属的子节点提供特殊效果。在建立本文中的航空发动机模型的过程中,主要涉及到两种特殊节点,其一是自由度节点(DOF),该节点的作用是赋予模型中的任意体节点一个子坐标系,以上级节点的坐标系为母坐标系,在DOF节点下的体节点可以以子坐标系的原点为中心,在母坐标系的运动基础上做六自由度的相对运动,结合编译语言的运用,可以灵活的展现模型的动态特性。例如本文将发动机高低压转子分别置于DOF节点下,并将DOF坐标系原点设在发动机中轴线上,后续便可通过程序控制高低压转子围绕发动机中轴线旋转。另一个特殊节点是选择节点(switch node),使用该节点可以对下级节点进行显示或隐藏控制。

通过上述方法,分别建立了大(图1)、小涵道比涡扇发动机。

2 VigaPrime与Visual Studio的联合编程的实现

Vega Prime可直接读取由Creator开发的OpenFlight格式模型,通过将三维视景仿真程序的底层代码封装、固化并增加向导模式,便于开发者对视景仿真程序进行快速配置。通过图形化的人机界面,开发者可以很方便地在虚拟世界中加入各种地景、模型、天空、气候、云层、水面以及烟雾、爆炸和火光等特效,并自定义观察者的运动方式。完成仿真环境的配置并输出后,可由VS(Visual Studio) C++调用配置文件,完成应用程序的开发。

本文利用VS中MFC自带的多媒体定时器设置仿真周期,每隔16ms刷新Vega Prime仿真程序的显示画面,利用定时器可以较为精确地控制仿真周期,实现Vega Prime程序的运行。

2.1 程序设计与界面

本文的仿真程序主要包括三个自定义类:

1)显示控制对话框类(图2),此类为仿真应用程序的主要类,有两个主要作用:首先,该类下建立并调用了Vega Prime仿真对象和发动机动态模型对象,通过对发动机模型的后台调用获取下一仿真周期中发动机工作状态参数,并将这些参数传递给Vega Prime对象用以在前台实时刷新仿真窗口,将发动机的高低压轴转速、气流状态、燃烧室火焰等状态变化以三维视景仿真的形式呈现。其二是数据的显示和输入,该类可通过仪表等控件将后台的发动机工作状态参数直观地呈现给用户,并提供如油门台推力杆角度等发动机控制参数和高度、温度等环境参数的输入功能,并将输入的参数传递给发动机模型。

2)发动机动态模型类,该类通过动态链接库(DLL)调用独立的发动机动态模型,接收来自监视对话框类的发动机控制参数和环境参数,计算出下一仿真周期的发动机工作参数,并将该参数传递给监视对话框类;