APP下载

“互联网+教育”背景下机械原理虚拟实验项目开发

2020-12-10刘汉代李亚斌沈于画张思益张克义金胜泽

关键词:齿条互联网+教育齿轮

刘汉代, 李亚斌, 沈于画, 张思益, 古 甜, 张克义, 金胜泽

(东华理工大学 江西省新能源工艺及装备工程技术研究中心,江西 南昌 330013)

虚拟实验室的概念是由美国William Wolf教授于1989年提出[1]。随着计算机技术和网络技术的快速发展与普及,教育信息化在国外得到了长足的发展,虚拟实验室的建设与教学效果得到了明显的提升,已成为一种新的教学形式。基于国家《教育信息化十年发展规划2011—2020年》[2],2013 以来,我国重点推动了虚拟仿真实验教学中心的建设[3,4],2017年起教育部推动了实验教学的网络化建设。机械原理虚拟实验室的建设研究符合我国教育信息化的发展需求。

传统的工程实验室存在设备更新慢、损坏率高、维护成本高、设备数量不足、使用受时间和地点限制、共享性较差,且伴有危险性等常见缺点[5]。为了推进东华理工大学机械工程实践教学信息化建设,化解教学内容丰富和课程学时相对压缩之间的矛盾,坚持“虚实结合,能实不虚”的建设原则,研究建设基于“互联网+教育”背景下的机械原理虚拟实验室。

1 机械原理虚拟实验室的设计

机械原理虚拟实验室主要利用计算机技术与网页技术构建一个具备虚拟仿真功能、在线模拟机械原理实验操作的网页平台。该平台对真实实验项目是有益的扩展与补充。东华理工大学机械工程专业开设了4项机械原理实验项目,分别是: 平面机构运动简图测绘实验、渐开线齿廓范成加工原理实验、渐开线直齿圆柱齿轮几何参数测定实验和机构创新组合设计实验。本虚拟实验室以上述实验项目为主要对象,进行了机械原理虚拟实验室的功能框架设计,如图1所示。

1.1 实验简介模块

实验介绍分为文字介绍和演示视频,学生可通过文字介绍了解每个实验的实验目的、实验设备、实验内容、实验要求等内容,借助于演示视频熟悉本实验的操作方法。观看演示视频有利于学生熟悉实验基本过程,提高真实实验教学质量。

1.2 虚拟实验模块

该模块是本虚拟实验室的核心部分。选择不同的子实验项目,网页跳转到对应的子实验界面。学生可以在该网页浏览相关的实验内容和实验要求,在浏览器中通过鼠标等输入端与网页进行交互,并按照实验操作指导完成虚拟实验内容。

1.3 辅助功能模块

辅助功能模块主要包含四项基本功能:虚拟实验指导、实验交流反馈、实验报告的递交、技术支持等。通过这四项功能可以指导学生正确进行实验,同时方便学生交流实验过程中遇到的问题,分享心得感悟。

图1 机械原理虚拟实验室的架构设计

图2 机械原理虚拟实验室建设流程图

2 机械原理虚拟实验的开发方法

机械原理虚拟实验室的具体开发流程如图2所示。本虚拟实验室建设的主要内容有:(1)整体架构与页面设计;(2)各类机构零件、装配体的三维交互展示;(3)渐开线齿廓范成加工原理的虚拟仿真;(4)虚拟交互操作的实现;(5)虚拟实验的整合与优化。其中,(2)、(3)、(4)项内容为本虚拟实验建设的主要难点,下文将阐述这三项子实验的实现方案技术。

2.1 机构三维模型的展示

随着计算机技术的迅速发展,三维模型在诸多领域得到了广泛的应用。平面机构运动简图测绘实验中需要展示大量的机构模型,学生对机构模型进行组成和运动分析,完成机构运动简图的绘制。本虚拟实验采用当前先进的Web GL 3D网页技术,并利用Three.js等工具实现三维模型的交互操作,学生通过鼠标等输入端对构件或机构模型进行视角、位置以及大小等方面的控制,以便学生能全方位地观察并分析该机构的特征。

2.2 齿轮范成加工原理的虚拟仿真

渐开线齿轮范成加工原理可以简化为齿条与被加工齿轮啮合的过程,该过程中齿条分度线沿齿坯分度圆作纯滚动,齿条齿廓在齿坯中留下轨迹的包络线就是被加工齿轮的齿廓。实现齿轮范成加工仿真方法如下。

(1)利用Canvas在网页中编程绘制齿轮基圆、齿根圆、分度圆、齿顶圆。

(2)建立坐标系后,建立齿条的坐标函数表达式,并代码绘制初始位置齿条。

(3)计算出齿条沿齿坯做纯滚动时,不同位置的齿条图形,并绘制新位置齿条图形。

(4)不断重复步骤(3),直到齿条沿齿胚旋转了360°,完成齿条插齿过程的虚拟仿真。

2.3 虚拟交互操作的实现

目前常用的虚拟现实开发工具有Unity3D、Virtools、Web GL、Open GL、EON Studio、Cult3D、VR-Platform等[6,7]。由于本虚拟实验需要实现网页上的交互操作,对数据大小有要求。结合各个虚拟现实软件的特点,本虚拟实验室的建设主要采用Web GL技术进行开发。Web GL有利于Java Script和Open GL ES 2.0结合,Web GL可以为HTML5 中Canvas提供3D加速渲染作用,免去了开发网页专用渲染插件的工作,便于在浏览器中展示3D场景和装置模型,也能开发复杂的导航和实现数据的可视化。虚拟交互操作的实现方法如下。

(1)利用专业建模软件Pro/E和Solidworks等完成常见机构、齿轮、游标卡尺、构件库等实验装置的建模,并另存为*.stl格式文件;

(2)通过Three.js API中的STLLoader.js加载*.stl文件[8];

(3)根据实验操作步骤,利用Three.js中的Control.js API以及GUI.js API进行交互动作事件的设计,并发布在已构建的实验项目中。

3 虚拟实验项目开发

3.1 平面机构运动简图测绘虚拟实验

平面机构运动简图测绘虚拟子实验中需要展示大量的三维机构模型,学生在本实验中学习相关专业基础知识,通过浏览三维机构模型和视频,来绘制机构运动简图并进行结构与运动分析。

3.1.1 视频的演示

首先,用Pro/E或Solidworks建立三维机构模型,再进行运动仿真,输出*.asm动画文件;其次,将*.asm文件转换成*.webm或*.MP4文件格式,利用H5的标签在网页上展示机构运动动画。某个机构运动动画展示如图3所示。

图3 铰链四杆机构运动动画展示

3.1.2 三维模型的交互展示

先利用Solidworks建立机构模型,保存为*.stl格式文件,再利用Three.js中的STLLoader.js加载模型文件,最后通过JavaScript中OrbitControls.js对模型进行编程控制,可实现模型的旋转、缩放、移动等交互操作。某个典型机构模型展示如图4。其中实现交互展示的关键代码为:

camera=new THREE.PerspectiveCamera(60,window.innerWidth/window.innerHeight,1,10000);

scene=new THREE.Scene();

helper=new THREE.GridHelper(160,10);

loader=new THREE.STLLoader();

mesh.position.set(-50,-50,-20);

mesh.rotation.set(0,0,0);

mesh.scale.set(0.5,0.5,0.5);

controls=newTHREE.OrbitControls(camera,renderer.domElement);

图4 槽轮机构三维模型交互展示

3.2 渐开线齿轮范成加工原理虚拟实验

首先,建立被加工齿轮齿坯的齿顶圆、分度圆、齿根圆和基圆,以模数m、齿数Z、压力角、变位系数x、显示倍数等为输入参数,编制网页计算程序。其中,齿数输入的关键代码如下:

var cxt=canvas.getContext(′2d′); cxt.strokeStyle=′red′;

cxt.arc(ox,oy,_d/2*_a,0,2*Math.PI);

cxt.arc(ox,oy,_df/2*_a,0,2*Math.PI);

其次,通过几何关系,计算出齿条在沿齿坯分度圆作纯滚动时切点的坐标,然后绘制出此时刻齿条的结合图形,再利用循环语句表达齿条范成加工齿轮的过程。其关键代码如下:

cxt.translate(ox+_d/2*_a*Math.sin(j*1*Math.PI/180),oy+_d/2*_a*Math.cos(j*1*Math.PI/180));

cxt.rotate(-(1*j)*Math.PI/180);

cxt.lineTo(-1.5*k-h*Math.tan(_alpha*Math.PI/180)+i*_mm*Math.PI-j*_dd*Math.PI/360,h/2+_x);

cxt.lineTo(-0.5*k-h*Math.tan(_alpha*Math.PI/180)+i*_mm*Math.PI-j*_dd*Math.PI/360,h/2+_x);

cxt.lineTo(-0.5*k+i*_mm*Math.PI-j*_dd*Math.PI/360,-h/2+_x);

cxt.lineTo(0.5*k+i*_mm*Math.PI-j*_dd*Math.PI/360,-h/2+_x);

最后,对实验界面输入参数和输出参数及操作按钮进行网页编程开发。某参数(m=10、Z=12和x=0)齿轮的范成加工虚拟模拟效果如图5所示。

图5 齿轮范成加工原理过程的虚拟仿真

3.3 渐开线直齿圆柱齿轮参数测定虚拟实验

本实验主要对齿轮的公法线长度、齿顶圆和齿根圆直径以及弦齿厚等几何参数进行测量。这3项测量的交互操作相似,现仅对齿顶圆测定交互操作实现开发进行说明如下。

首先,利用专业建模软件Pro/E和Solidworks等完成被测实验齿轮、游标卡尺、齿厚游标卡尺等实验装置的建模,并另存为*.stl格式文件。

其次,通过Three.js API中的STLLoader.js模块加载上一步生产的*.stl文件。

第三,根据实验操作步骤,利用Three.js中的Control.js API以及GUI.js API进行交互动作事件的设计,并发布在已构建的项目中。其中关键代码如下:

loader.load(′model/gear.stl′, function (geometry) {

varmaterial=new THREE.MeshPhongMaterial({ color: 0xff5533, specular: 0x111111, shininess: 200 });

mesh2.geometry = geometry;

mesh2.material = material;

mesh2.position.set(0, -20,-1);

mesh2.rotation.set(0, Math.PI/2, 0);

mesh2.scale.set(0.5, 0.5, 0.5);

scene.add(mesh2);

});

stats = new Stats();

var controls = new THREE.OrbitControls(camera, renderer.domElement);

window.addEventListener(′keydown′, function (event) { switch (event.keyCode) {

case 1:

transformControl.setSpace(transformControl.space

= "local" "world":"local");

break;

case 2:

transformControl.setTranslationSnap(100);

transformControl.setRotationSnap(THREE.Math.

degToRad(15));

break;}});

本子虚拟项目开发后可实现交互操作如下:(1)转动鼠标滚轮可以控制测量仪器和齿轮的缩放;(2)按住鼠标左键任意角度旋转测量仪器和齿轮;(3)按住鼠标右键实现测量仪器和齿轮的平移;(4)Positoin控制条实现制游标卡尺的测量,并输入精确达到0.01 mm。齿顶圆直径的虚拟交互测量如图6所示。

3.4 机构创新组合设计虚拟实验

机构创新组合设计实验的是综合性创新设计实验,以提高学生的综合设计实践能力。本实验主要是演示实验中包含的零件库,学生通过旋转、缩放、移动三维零件模型,全方位地观察并分析该零部件的特点,在根据已有的零件进行机构的创新组合,然后利用常用的建模软件Pro/E和Solidworks等进行机构的装配和运动分析。其开发主要步骤如下:先利用Solidworks建立所有零件模型,保存为*.stl格式文件,再利用Three.js中的STLLoader.js加载模型文件,最后通过JavaScript中OrbitControls.js对模型进行编程控制,可实现模型的旋转、缩放、移动等操作。零件库虚拟模型库展示如图7所示。其中关键代码如下:

loader.load(′xie_gear1.stl′,function(geometry){

var material=new THREE.MeshPhongMaterial({ color: 0xeeeeee, specular: 0x111111, shininess: 200 });

猜你喜欢

齿条互联网+教育齿轮
连轧管机组限动齿条的制造研究
关于齿轮的有趣问答
电动助力转向系统内齿条加工工艺的研究
你找到齿轮了吗?
异性齿轮大赏
骑车上班日
在偏远农村实现“互联网+教育”的新型教育模式的设想
基于SCP范式的“互联网+教育”产业组织分析
“互联网+教育”视阈下的教育共享初探
实用的弧齿条分度铣齿工装