球阀虚拟测绘平台的设计与实现

2021-10-26 08:23王桂录
机械工程师 2021年10期
关键词:球阀鼠标按钮

王桂录

(郑州科技学院 机械工程学院,郑州 450064)

0 引言

虚拟仿真实验教学项目是通过虚拟仿真实现教学目标的项目[1]。教育部《关于2017—2020年开展示范性虚拟仿真实验教学项目建设的通知》(教高厅〔2017〕4号)[2]和《关于开展国家虚拟仿真实验教学项目建设工作的通知》(教高函〔2018〕5号)[3]指出,虚拟仿真实验教学项目是拓展实验教学内容广度和深度、延伸实验教学时间和空间、提升实验教学质量和水平的重要举措;坚持问题导向、需求导向开展虚拟仿真实验教学项目建设。

近几年,虚拟仿真已经成为高校实验教学改革的热点[4]。冯桂珍等[5]构建了减速器虚拟拆装实验,在产品拆装教学等环节中取得了良好的效果。丁毓峰等[6]基于Unity3D采用B/S架构搭建了常见的4种机电产品的虚拟拆装系统,在网页端动态展示了产品的工作原理与拆装过程。冯立艳等[7]基于Unity3D开发了机械基础虚拟实验系统,详细介绍了约束关系及装拆路径规划、虚拟装拆编程等主要模块的实现方法。武照云等[8]运用Unity3D结合C#脚本技术开发了机械原理与设计的4种类型实验项目。王佩等[9]基于Delmia/DPM软件研究了复杂机械产品的三维装配工艺虚拟仿真。王盼盼等[10]基于Virtools软件设计了齿轮油泵的虚拟测绘演示系统,但该系统依靠鼠标选取、拖动零件的方式演示,操作性较差、沉浸感较弱。

1 球阀测绘概述

球阀由阀体、阀盖等13种零件组成。测绘球阀时,要求学生画出所有非标件的零件草图、工作图,测量并标注尺寸、确定技术要求,最后完成装配图。测绘的目的是让学生了解球阀的工作原理、用途、零件之间的装配关系等,掌握测绘的一般程序和步骤、徒手绘制草图的方法和技巧、测量尺寸的圆整与协调方法等。测绘的重点是运用所学机械图样表达方法理论知识正确绘制中等复杂程度装配图及零件图,难点是表面粗糙度、公差与配合、形位公差等技术要求的确定与标注。

2 球阀测绘仿真系统的设计

2.1 球阀测绘仿真系统的功能结构

关于虚拟实验与真实实验各自优点及局限性的论述见文献[11]~文献[14]。球阀测绘仿真系统的功能结构如图1所示。

图1 球阀测绘仿真系统的功能结构

1)操作提示模块。提示使用该系统时的注意事项。学生在使用球阀测绘仿真系统时,可根据需要完成漫游方向及视角的调整、放大或缩小等操作,鼠标、键盘的操作及实现的功能如表1所示。

表1 功能键对照表

2)工作原理展示模块。以360°环绕视角的方式向学生展示球阀的整体结构,以局部特写的方式展示手柄如何正反转动90°带动阀杆和阀芯旋转实现阀门的开启和关闭动作。用红色箭头模拟水流,当阀门打开时箭头可以通过,当阀门关闭时箭头不能通过。

3)拆卸及组装模块。按照球阀的主装配线,根据拆装顺序依次完成所有零件的拆卸及组装。该模块主要向学生展示球阀各个零件之间的相对位置及装配连接关系,使学生了解球阀的拆卸与组装顺序。学生可以通过调整视角及放大和缩小等方式观察各个零件的结构形状,将各个零件分为轴套类、盘类、箱体类等不同类型,为视图的选择奠定基础。球阀拆卸后,零件的有序排列情况如图2所示。

图2 球阀虚拟拆卸

4)测量模块。从需要测量的非标件展示页面中选择其中的一个,然后操作键盘调整测量工具动端的位置,使其与被测要素接触。若动端与被测要素未接触,“本次测量结果”按钮以灰色显示;当动端与被测要素接触时,“本次测量结果”按钮以高亮度显示,页面上方显示本次的测量结果。阀芯的径向尺寸测量结果如图3所示。一个尺寸测量结束后,单击“下一个尺寸”按钮测量下一个尺寸,直至完成所有尺寸的测量。

图3 虚拟测量

5)参考图纸模块。当所有非标件的测量任务完成时,“打开图纸”按钮以高亮度显示。在参考图纸模块为学生提供了视图选择的参考方案。图中的细小结构无法查看清楚时,可以按下鼠标右键进行局部放大,如图4所示。

图4 参考图局部放大

2.2 球阀虚拟测绘流程设计

球阀虚拟测绘的流程如图5所示。学生打开球阀测绘仿真系统后首先阅读操作提示,然后依次完成“工作原理展示”、“球阀拆卸”、“球阀组装”和“非标件测量”等任务。只有当“非标件测量”任务完成后才能打开参考图样,否则继续执行“非标件测量”任务,直到所有测量任务完成。学生根据零件的结构主动选择表达方案、绘制草图、测量、标注,结合参考图样对比分析自己所选表达方案与参考方案的优劣后进行修正。

图5 球阀虚拟测绘流程

2.3 球阀测绘仿真系统的开发流程

开发流程分为方案规划、系统开发、系统测试、发布等4个阶段:1)方案规划。在对比分析虚拟测绘与真实测绘优势与不足的基础上剖析并划分了球阀测绘仿真系统的功能模块。2)系统开发。针对球阀测绘仿真系统的工作原理展示、拆卸及组装、测量、参考图样的局部放大等难点进行了研究,重点解决了各功能模块的控制方法及模块间逻辑关系的实现。3)系统测试。根据球阀测绘仿真系统的使用流程逐一进行性能测试。4)发布。将系统发布到Windows、Android、iPhone等供学生使用。

3 球阀测绘仿真系统设计的实现

3.1 人机交互界面

球阀测绘仿真系统的主界面连接着各个场景。在主界面中,将主要功能模块分别设置为对应的按钮并为按钮添加了点击事件,点击事件的内部编写了回调函数。为了简化代码,使用了拉姆达表达式:

球阀测绘仿真系统能够实现从一个辅助接口到另一个辅助接口的操作,如果用户要结束当前操作,可单击“Back”按钮以返回到上一个界面。

3.2 视角调整

为了能够以任意角度观察球阀的三维模型、拆卸及组装过程,需要为当前场景的主摄像机添加脚本。实现方法是:获取每帧中相机的Position和Rotate属性值,当移动或者点击鼠标时,通过鼠标的变化来获得摄像机的位移和旋转的变化,然后将初始值与变化量相加并赋值给摄像机的属性。鼠标控制相机视角的代码如下:

Quaternion表示三维空间中的旋转。将欧拉角转换为四元数,对四元数进行球面线性插值,再将这些四元数转换为对应的欧拉角后作用于角色。这样可以解决欧拉角的万向锁问题,使角色能够任意旋转。

3.3 虚拟拆卸、组装模块

利用AE软件将球阀拆卸与组装的操作制作成视频文件,为保证虚拟仿真操作的流畅性,将视频文件转换成了小存储容量的anim格式。为了实现自由视角效果,将分解视频作为场景中的对象直接播放,引用了Unity的AVProVideo视频播放插件。

将球阀拆卸与组装的视频拆分为13个动画,每次点击“下一步”按钮即播放下一个动画。按钮监听事件的代码为:nextBtn.onClick.AddListener(NextBtnClick);点击事件代码为:

3.4 虚拟测量模块

3.4.1 虚拟测量逻辑实现

如前所述,若测量工具动端与被测要素未接触时,“本次测量结果”按钮以灰色显示。对按钮的Interractable属性进行动态控制的代码如下:

3.4.2 虚拟测量视觉效果优化

为了使虚拟测量动作平滑且有缓冲的视觉效果,对调整测量工具动端的逻辑使用了Vector3.Lerp插值法:from+(to-from)cheng×t,也就是Lerp的返回值。

3.5 参考图纸模块

当所有非标件测量任务完成后方可打开参考图样,为“打开图纸”按钮添加点击事件的代码如下:

4 结语

阐述了球阀测绘仿真系统的功能结构、虚拟测绘流程、开发流程及实现方法,详细说明了开发过程中遇到的虚拟拆卸与组装、虚拟测量视觉效果优化等难题的解决方法。球阀测绘仿真系统为学生自主学习提供了必要的资源,学生可在电脑端与手机端使用该系统完成球阀测绘,构建了零部件测绘课内与课外相结合的教学模式,实现了虚拟测绘系统拓展测绘教学时间和空间的目的。在后续版本的升级过程中,将进一步完善测绘过程考评、成绩管理、项目完成时间监控与统计等功能,以便为学生和教师提供更加优秀的应用体验。

猜你喜欢
球阀鼠标按钮
当你面前有个按钮
Progress in Neural NLP: Modeling, Learning, and Reasoning
惠州抽水蓄能电厂进水阀无法全开常见故障分析
防止蓄能电站球阀自激振的应用实例
导流清洗阀的设计及应用
死循环
抽水蓄能电站球阀枢轴轴套故障分析及改造
内心不能碰的按钮
45岁的鼠标
超能力鼠标