APP下载

机械基础虚拟实验系统的研究与开发

2021-03-17刘静

科学技术创新 2021年5期
关键词:编程语言减速器建模

刘静

(溧阳市天目湖中等专业学校,江苏 溧阳213300)

我国的经济实力在日益提高,与此同时,我国的教育质量也受到了各界的关注。实验学习是学校与企业实现快速对接的重要途径,并且在培养学生的创新能力中发挥着重要作用。通过实验可以更好地理解和测试这些知识。然而,目前中国的实验室受到许多弊端的限制,例如,在一些困难的条件下,对实验研究的投资不足,实验室设备带来的实验环境的安全隐患,设备的数量不足等,这些因素严重限制了实验室学习的发展。

1 机械基础虚拟实验系统的基本要求

机械基础虚拟体验非常专业。为了在和谐的虚拟实验系统环境中进行这些实验,必须满足以下条件:

(1)良好的交互性;(2)开发逼真的图形和材质;(3)由于同时存在机械设计实验和机器理论实验,因此实验环境必须具有二维环境和三维环境来发送数据,并且每个环境都具有较高的可行性;(4)由于它运行在网上,因此有时对客户端平台的性能要求不高。

与某些国内的CAD 程序相比,用于实验系统的最佳CAXA设备是设计软件。与其他CAD 程序相比,它具有以下特点:

(1)提供功能强大且易于使用的二次开发数据接口;(2)由于CAXA 电子绘图板也已集成到CAXA 设备的设计中,因此该软件具有强大的3D 设计环境,可以将其发送到2D 设计环境以进行数据采集。3D 项目环境中获得的数据也可以实时传送到2D 设计环境中;(3)提供专业的3D 动画设计以及图形和图像处理功能。可以创建真正有效的模拟和动画模拟;(4)易于使用并掌握建模技术,实现高度交互[2]。

2 机械基础虚拟实验系统的总体介绍

2.1 系统的总体框架及其开发流程

由于Unity 3D 应用程序平台不适合开发复杂的几何模型,因此我们将SolidWorks3D 建模工具用于几何建模并导入几何模型,利用3DMax 以创建栩栩如生的模型,以FBX 格式保存模型,然后将其导入到Unity3D Asset,虚拟Unity 3D 平台必须基于交互和运动控制开发虚拟模型的层次数据结构,以为每个模型建立父子关系并创建模型树的层次结构。在C#编程中需要完成一些实验性任务。

目前,该平台有5 种类型的变速箱,每种虚拟体验都分为两个部分:学生使用认知成分进行自学,掌握某些实验性技能并为实验做好准备。包括实验目标,预防措施和实验说明[3]。

2.2 进行开发的软件选择及接口

当今最受欢迎的虚拟化软件包括Virtools、Eon,Unity3D 等,前1 个虽然可以用于实验虚拟仿真系统的开发,但是它们可以作为独立版本或网页版本使用,难以维护,并且范围非常有限。虚拟学习仿真系统相对简单,它基于Unity 3D 的面向对象技术。同时,开发引擎支持Windows,Mac,iPhone,Android 和Web平台,开发人员随机选择一个共享平台来满足移动终端的需求,同时也依赖于Web 和其他独立平台。

Unity3D 支持的编程语言是JavaScript 和C#boo,用户可以根据需要选择编程语言并调用每个脚本。 JavaScript 是用户使用的编程语言,其中包含相当简单的Java 程序列表。 C#是面向对象的,运用于高级编程语言NETFramework,适用于创建复杂的程序。该主题主要使用C#程序。 Unity 3D 支持几乎所有主要的3D 模型文件格式,包括FBX,OBJ 等。导出到3DMax,Maya 和其他应用程序生成的模型文件将添加到项目资源文件夹中。自动更新Unity3D 资源列表和模型,模型会显示并在面板上可用。

3 虚拟实验系统的关键功能模块实现

3.1 三维仿真模型的构建

二级圆柱减速器由三部分组成:轴(高速轴,中速轴,低速轴等),盘类和箱体类。使用SolidWorks 和各种建模技术为每个模型创建准确的3D 模型,主要部件的三维模型如图1 所示。

图1 减速器的三维模型

3.2 自动拆装功能的实现

建议初学者使用虚拟实验来了解减速器的安装和拆卸顺序,系统执行自动拆卸和组装功能。可以在Unity3D 引擎的外部插件之间轻松执行此功能。它主要使用数字插值原理来控制模型从头到尾的路径。如图2(a)所示,按下按钮即可控制减速器的拆卸和组装过程,并通过摄像机的位置和旋转角度观察自动拆卸过程。

下行为用于实现物体移动的代码:

这里,GameObject 指的是执行命令的对象;Vector3 指的是对象运动的目标位置;float1 指的是从原来位置移动到目标位置的时间;float2 指的是开始移动时的延迟时间。

3.3 虚拟拆装场景的设置

10588888 虚拟场景可以分为两类:虚拟装配和虚拟拆卸。拆卸逻辑和约束与装配过程是相逆的。因此,我们将仅介绍虚拟装配的主要技术方法。

除基本零件外,如果用于手动组装,其他零件必须隐藏。根据碰撞器的位置安装零部件,如图2(b)所示,三个椭圆碰撞器A,B 和C 被加到轴上,碰撞器A 包围左侧封油盘和轴承,B 包围中间键和大齿轮,而C 包围右油封油盘和轴承,椭圆的形状确定组件的正确位置。仅当组装零件在椭圆的尺寸以内时,才能识别组装零件。如图2(c)所示,当主摄像机光束撞击碰撞区域时(当鼠标单击对撞机时),相应的部分从隐藏模式切换到显示模式,并且鼠标所在的部分消失。

在场景中,必须能够灵活地跟随鼠标在屏幕上移动,需要将世界坐标转换为屏幕坐标。为此,将一个视图中添加一个Cube,并将坐标放置在位置(0,0,0)。

3.4 虚拟装拆编程

虚拟组装从头到尾拆卸各种组件,以模拟实际的组装或拆卸更换。在虚拟装配和拆卸的帮助下,我们不仅观察了设备的外形,而且最重要的是,我们分析了内部结构并根据其结构和设计特征详细研究了设计的条件,思考设计意图。如果拆装的顺序不正确,则无法继续往下,并会显示错误警示。

3.5 手机二维码及操作

在组件的拆卸和组装过程中,菜单栏顶部的相应QR 码图像会更改。使用增强现实技术开发的手机应用程序扫描QR 码,可以在手机屏幕上显示这些3D 零件,并根据需要旋转它们。如图2(d)所示,可以从不同角度观察。下载VuforiaSDK 数据库,浏览Vuforia 官方站点将其导入Unity3D,并将Unity3D 组件的3D部分与ImageTarget 组合,就可以发布手机APP,当手机的相机扫描图像时,有时候它可能无法正确识别图像。对于QR 码图像,需要创建一个自动对焦相机脚本文件[4]。

图2 虚拟实验场景的功能图

4 结论

机械基础实验教学在教育中采用了最新的VR 和AR 技术,系统地集成了SolidWorks 和C#Unity3D 以实现近乎实时的虚拟实验系统开发,实现远程学习,解决了资源缺乏(例如,缺乏实验室设备,实验器材不足,学生独自作业的风险)的问题,实现了共享资源和促进有效学习机械设计。本文介绍了开发过程中的主要问题以及如何集成各种软件的方法,这些方法可以为开发虚拟实验系统提供特定的参考。

猜你喜欢

编程语言减速器建模
基于ADAMS的洗衣机减速器多体动力学仿真
变桨减速器承压能力及加油量计算分析方法
工业机器人精密减速器传动效率试验与分析
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
大型行星齿轮减速器疲劳损坏原因分析及解决方案
物理建模在教与学实践中的应用
在经历中发现在探究中建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
基于计算机应用软件开发的Java编程语言研究