APP下载

基于Virtools的离心泵虚拟拆装实验平台仿真开发及应用

2014-07-02孟永彪

化工装备技术 2014年5期
关键词:离心泵流程模块

刘 军 孟永彪

(新疆大学化学化工学院)

基于Virtools的离心泵虚拟拆装实验平台仿真开发及应用

刘 军*孟永彪

(新疆大学化学化工学院)

采用Virtools工具结合其它工程图形软件开发的 “离心泵虚拟拆装实验平台”系统,具有高效交互、现场三维实时性强等特点,优于传统的仿真开发方法。以 “单级离心泵虚拟拆装实验平台”的仿真开发为例,叙述了三维建模、格式转换、模型编辑与导出以及实验平台综合开发等技术。对实验平台综合开发中的流程规划设计、控制模块编写、VSL程序编写、名称显示、优化处理、整合发布和最后测试等进行了重点描述。

离心泵 虚拟拆装 实验平台 三维模型 Virtools

离心泵是一种利用叶轮旋转而使其内部流体产生离心力进行工作的通用设备,工业上有着广泛的应用。很多单位工程上需要检修离心泵,为使员工尽快了解离心泵的结构、特点、功能及工作原理,往往需要进行拆装操作培训。通常,先进行计算机模拟拆装实验,再实际操作,这样可达到节约成本和时间、提高拆装操作准确性的效果。

传统的仿真一般采用三维动画技术进行模拟,最后以动态视频的形式演示出来,很难实现多层次良好互动功能,不能满足实际操作工艺交互性、学习性的需求。游戏开发工具Virtools具有高效灵便、场景实时渲染效果美观、高速交互、现场三维实时性强等优点,故采用Virtools工具并结合其它工程图形软件来进行 “离心泵虚拟拆装实验平台”系统的模拟仿真开发。

1 工程应用仿真新技术

三维虚拟交互式机械仿真模型开发的优势在于将其结构、特点、功能、工作原理通过人机交互的方式呈现出来,使我们能够更直观地、详实地、全方位地进行动态了解,帮助进行相应的操作。传统的仿真往往以单机模拟设计理念为主;后来发展到简单仿真以单纯动态视频展现或以网络VRML虚拟建模技术为主;两者不仅对计算机要求较高,且实现三维操作交互性与实时性困难。新近引入国内的图形工作站开发技术——Virtools工具,可以很好地解决交互性、实时性、网络化等问题。我国有些高校进入较快,已利用其开发出三维沉浸交互式精馏虚拟实验室,完成了实验操作过程的仿真和实验现象的仿真[1]。缺憾的是其只是针对化工过程进行的粗旷开发,国内还较少有利用其对机械设备的精细控制动态交互仿真的案例。正是如此,基于Virtools并结合其它工程图形软件的高交互式仿真方法在虚拟模拟方面越来越表现出良好的应用前景。

2 “离心泵虚拟拆装实验平台”系统仿真开发

开发机械设备的三维精细控制动态交互仿真系统,可以更好地表现Virtools等工具的优势。为此,我们建立了三维交互式 “离心泵虚拟拆装实验平台”等系统,能够全方位了解各类离心泵的内部结构、特点、功能及工作原理等,且高交互性能带给使用者一种身临其境的实时现场真实感。现以“单级离心泵虚拟拆装实验平台”的仿真开发为例,介绍整个离心泵系统的虚拟仿真开发方法流程。

2.1 利用3D软件建模

基于Solidworks功能强大、易学易用、丰富的软件接口等诸多优点,提供了几乎市面上所有机械CAD软件格式的输入/输出转换器,能够输出包括VRML、IGES、STL等在内的诸多文件格式[2],故宜采用Solidworks软件进行单级离心泵的三维建模。由于该装配体的零件过多,导致3DS Max渲染的时候速度特别慢,就需要对一些看不到效果的零件进行轻化处理,以加快渲染速度。同时,对装配体进行光照处理,为灯光优化做好前期准备。单级离心泵的最终三维模型如图1所示。

图1 单级离心泵三维模型

2.2 格式转换

Solidworks与3DS Max之间无法直接转换,但可以通过*.igs或*.stl格式文件作为中间载体将Solidworks中的文件导入到3DS Max中。采用格式“过渡”的形式将三维模型导入到Virtools开发环境中,即先将三维模型保存为STL格式的文件,再利用3DS Max对模型进一步进行编辑,最后利用Virtools提供的导出插件Virtools 4.0 for Max将模型、场景、动画等导出为Virtools可接受的文件格式[2]。导入时,选择Quick Weld选项,以加快文件的导入速度。导入过程中不要对零件的位置、角度进行任何修改。装配体中零件相互之间的位置,因在Solidworks中已确定,导入3DS Max后,零件之间的装配位置依旧保持不变,无须重新定位。格式转换路线图如图2所示。

图2 格式转换路线图

2.3 三维模型编辑与导出

单级离心泵装配体输出后的STL格式文件为单一的零件,将整个装配体中的零件逐一全部导入3DS Max后,选择所有零件,选择 “group”菜单中的group选项使之成组,就可以对整个装配体进行整体的移动和旋转等编辑操作。当对装配体及其零件进行渲染、动画时,选择 “group”菜单中的open选项,各零件就可分别渲染和制作动画。

由于3DS Max默认坐标系为右手坐标系,原本正立的三维实体导出后却成为倒立的,因此在导出时需要选择 left handed(左手坐标系),以确保将模型、场景、动画等输出为正立的*.nmo格式文件。在导出3DS Max之前,应确定适当的转换比例,因为三维模型文件过大或过小,都将会导致其在Virtools环境中显示不正常。

2.4 “单级离心泵虚拟拆装实验平台”综合开发

2.4.1 流程规划设计

综合开发流程应该包括整体构思、初步提案、制作过程、优化处理、整合发布、最后测试等几个阶段。综合开发流程的系统设计有助于提高实验平台的开发效率和模型的精确度,体现整个流程的具体开发方向,能够让开发人员明确整个实验平台的制作过程。 “单级离心泵虚拟拆装实验平台”系统开发流程如图3所示。

图3 系统开发流程

2.4.2 行为控制模块的编写

Virtools提供了大约500多个Building Blocks (行为模块),开发人员只需适当地组合及重复利用这些行为模块进行交互脚本程序的设计、编写、调试等操作,就可以开发出复杂的虚拟现实应用程序。即将现存的BB在Schematic里整合起来,组成一个BB流程 (或称为行为模块图),来达到我们所需要的功能。在进行BB流程编写时,应明确每一个BB的具体用途及功能,并能正确地设置每一个BB的参数,以防止运行时产生错误,BB间的连线也应保持整齐。编写过程中,可把已建好的BB流程应用在场景中其它的对象上,也可将BB流程储存在数据库里,作为一个新的行为模块来使用。装配演示参考目标和切换摄影机的部分行为模块如图4~图5所示。

图4 装配演示参考目标部分行为模块

图5 切换摄影机部分行为模块

2.4.3 脚本语言VSL程序编写

在一些更复杂的仿真模型开发中,仅仅依靠Virtools提供的Building Blocks(行为模块)是远远不够的,系统开发人员可以利用VC++ (Microsoft Visual C++)或 VSL (Virtools Scripting Language)手工编写自己的行为模块,以达到更高的要求。在Virtools作品的 Level中创建脚 本, 然后到Schematic界面中,在脚本主体区域按住CTRL键不放并双击鼠标,会出现一个可用的BB列表,输入 “ru” (不包含引号),这时会出现 “Run VSL”,点击 “Run VSL”就可把该BB加入到脚本中,从而进行脚本语言VSL的编写。实验平台的VSL部分程序代码如下:

2.4.4 名称显示

由于单级离心泵零件较多,且相互之间不易识别,故需要对其进行正确的名称命名以及显示相应的名称。无论是在该仿真模型中的拆卸过程还是装配过程,都进行了名称显示设计,即当鼠标左键指向目标对象时,都可以显示出相应目标对象的名称。在装配过程中,也可以通过名称显示来获取相应的零件进行虚拟装配,大大降低了拾取错误。名称显示部分行为模块如图6所示。

2.4.5 优化处理

优化处理能有效消除冗余信息和提高最后发布文件的程序运行速度。优化内容一般有渲染优化、内存优化、脚本优化、行为图表管理优化以及其他过程优化。根据系统仿真内容的不同,差别很大。在该实验平台仿真模型发布之前,对其进行优化处理的细节有:(1)进行Prelighting光照预处理;(2)使用较少产生光照效果的灯光;(3)将纹理贴图(Texture)的默认属性linear filtering设置为nearest filtering;(4)使用较小的纹理贴图尺寸,所有纹理贴图尺寸均取为2的幂次方;(5)将材质的Shade Mode调整为Flat;(6)减少透明色的使用;(7)尽量使用通用脚本;(8)进行纹理压缩。

图6 名称显示部分行为模块

2.4.6 整合发布

“单级离心泵虚拟拆装实验平台”系统制作完成后,有两种输出方式,即以*.html格式输出的网页播放方式和以*.vmo格式输出的可执行播放方式。但对于较大的 “单级离心泵虚拟拆装实验平台”系统而言,采用外挂程序VirtoolsMakeExe.exe和CustomPlayer.exe来辅助生成 “单级离心泵.exe”可执行播放文件。

2.4.7 最后测试

最后进行测试工作,以检查是否满足用户需求,若不满足,则需要返回到*.cmo文件进行进一步的修改,最后进行发布。 “单级离心泵虚拟拆装实验平台”系统的测试结果表明:通过二维帧信息的发送与接收来响应不同的交互脚本程序,实现了主、次界面以及菜单按钮间的相互转换、激活与解除;在鼠标选取目标对象后,目标能跟随鼠标移动,在辅助参考对象的指引下,实现了一定范围内与辅助参考对象的融合;通过距离的判断实现了目标对象材质的改变。以下是 “单级离心泵.exe”应用程序文件的部分测试过程,基本达到了用户的需求。实验平台主界面、拆卸过程和装配过程测试图如图7~图9所示。

图7 实验平台主界面

图8 拆卸过程

图9 装配过程

3 结语

基于Virtools工具并结合Solidworks、3DS Max软件进行的 “单级离心泵虚拟拆装实验平台”仿真开发,很好地证明了Virtools在拆装实验虚拟仿真中的应用,直观、真实、多角度、深层次地再现了单级离心泵的交互过程,体现了该系统的交互感和沉浸感。系统开发过程中采用VSL编程语言结合BB模块的方式,解决了交互过程中信息的实时传递问题。系统后期优化后,实时三维交互效果更加良好。用此方法开发的系列软件,在同类工业产品的设计、制造、产品展示、维修培训以及教学等各方面必将有广泛的应用前景。

[1] 康译友,张永策,方丽,等.基于Virtools的三维交互虚拟精馏实验室的构建 [J].计算机工程与设计,2011,32 (2) :633-637.

[2] 胡亮,王兰美,宋宏鹏,等.SolidWorks、3DS Max结合Virtools实现虚拟现实应用研究 [J].山东理工大学学报,2010,24(3):103-106.

[3] 张学鹏,陈国华,张爱军.基于3D的虚拟运动仿真平台设计及Virtools功能实现 [J].北京化工大学学报, 2009,36(4):93-95.

[4] 徐英欣,王东丹,胥林.Virtools虚拟装配制作实例[M].重庆:电脑报电子音像出版社,2009.

[5] 付志勇,高鸣.三维游戏设计 [M].北京:清华大学出版社,2008.

Simulated Development and Application of the Experimental Platform for Virtual Disassembly and Assembly of Centrifugal Pump Based on Virtools

Liu Jun Meng Yongbiao

Virtools is used to develop the system of “Experimental Platform for Virtual Disassembly and Assembly of Centrifugal Pump” in combination with other engineering graphics software,which features efficient interaction and strong real-time 3-D visualization of the scene and is superior to the traditional simulation methods. Taking the simulated development of“Experimental Platform for Virtual Disassembly and Assembly of Single-stage Centrifugal Pump” as an example,describes the technology of 3-D modeling,format conversion,model editing& exporting and integrated development of experimental platform.The paper gives a focused account of the process schematization and design,controlling module programming,VSL programming,name displaying,optimization, integrating&publishing as well as final testing during the development of experimental platform.

Centrifugal pump;Virtual disassembly and assembly;Experimental platform;3-D model;Virtools

TQ 050.1

2014-02-17)

*刘军,男,1989年生,硕士研究生。乌鲁木齐市,830046。

猜你喜欢

离心泵流程模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
一种改善离心泵运行状态的方法
大型立式单级引黄离心泵轴向力平衡的研究
离心泵流场外特性及激励数值计算
高比速离心泵的高效设计研究
吃水果有套“清洗流程”
违反流程 致命误判
本刊审稿流程
析OGSA-DAI工作流程