朱 斌, 吴亚东, 靳淇超
(长安大学公路养护装备国家工程实验室,西安 710064)
CAD/CAM技术是机械设计制造技术与信息技术交叉融合、相互渗透发展起来的一项综合性应用技术,在工业制造领域具有广泛的应用,也是我国高等教育中机械、汽车、建筑、电子等很多工科专业的必修课程之一[1-2]。该课程的基础理论主要涉及机械制图、机械设计基础、机械制造技术基础、计算机图形学、矩阵运算、计算机程序设计等课程,具有知识点多、理论性强、内容分散、相关算法多、内容枯燥、不易理解等特点,采用传统的教学模式,学生被动灌输知识,往往会感觉内容抽象、理解困难,难以激发学生的学习兴趣,直接影响了学习效果。
在国家积极提倡将现代信息技术和互联网技术应用于教育的时代背景下,为适应信息化条件下知识获取方式和传授方式、教和学关系等发生革命性变化的要求[3],深化信息技术与教育教学深度融合,教育部于2017年和2018年先后发布了《关于2017—2020年开展示范性虚拟仿真实验教学项目建设的通知》[4]和《关于开展国家虚拟仿真实验教学项目建设工作的通知》[5],明确了虚拟仿真实验教学是教育信息化和实验教学示范中心建设的重要内容[6],因此得到了众多专家学者的重视和关注[7-10],并在很多课程教学中得到了成功应用[11-14]。
为此,本文将虚拟仿真技术引入机械CAD/CAM课程的基础理论教学中,设计并开发了机械CAD/CAM基础理论虚拟仿真实验教学系统,旨在帮助学生理解隐藏在CAD/CAM系统背后的相关理论和算法,打造CAD/CAM虚拟仿真实验教学“金课”,改变传统教学模式,实现沉浸感教学,拓展理论教学和实验的广度与深度,为开展CAD/CAM课程虚拟仿真实验教学提供了一种新的在线教学资源。
通过本课程的理论学习和上机实践,虽然大部分同学能够掌握某些CAD/CAM软件的使用方法和应用技巧,甚至能熟练操作,但是对于软件内部的基础理论和实现算法却知之甚少,学生在学习过程中往往只知其然而不知其所以然,做不到学以致用、用以促学、学用相长。
(2)教学模式单一,主要以课堂PPT讲授和板书为主,内容枯燥。在传统的教学模式下,教学方式以“教”为中心,学生被动灌输知识,而且机械CAD/CAM课程中所涉及基础理论内容枯燥,难以激发学生学习兴趣。另外,课堂PPT素材陈旧,教学手段落后,缺乏互动,不利于学生独立思考和创新能力的培养。
(3)缺乏针对性的实验教学平台,无法实现可视化教学。在当前的教学模式下,缺乏界面友好、形象直观、互动性强的虚拟实验教学平台将隐藏在CAD/CAM系统背后的基础理论呈现在课堂教学中,激发学习兴趣,增强对基础知识的理解。
(1)理论性强,内容枯燥。CAD/CAM课程融合了计算机科学与工程科学等多方面的知识,涵盖大量的数学运算、图形学、程序设计等方面的知识,理论性强。学生在学习时候往往感觉内容枯燥、乏味,不能激起学生的学习兴趣。
(2)知识碎片化,缺乏系统性。CAD/CAM基础理论涉及的内容宽泛,在教材的组织上,往往把一个完整的CAD/CAM系统所涉及的相关理论分解为若干个知识点,再由教师按部就班的以知识点的形式呈现给学生,这种碎片化的教学方式使学生缺乏对CAD/CAM系统整体的认识,学生在学习的过程中往往只见树木不见森林,不易理解。
(3)实践性强,与工程应用结合紧密。CAD/CAM技术是以计算机为辅助工具,应用工程技术人员自身的知识和经验,进行产品设计和制造等相关活动的总称,具有很强的实践性。学习CAD/CAM基础理论知识要坚持实践与理论相结合,让学生掌握相关的理论知识与方法,并在实践中掌握动手的能力并逐步提高创新与解决问题的能力,达到学以致用的目的。
(4)学科跨度大,先修课程多。CAD/CAM是一门具有综合性、实践性和学科交叉性的课程,课程内容涉及工程数据处理、计算机图形学、几何建模、工程分析与优化、计算机辅助工艺规划、计算机辅助数控加工等,要求学生在学习本课程时,应该已经掌握机械、数学、计算机等学科的基础知识。
(1)只知其然而不知其所以然,做不到学用相长。
(1)以学生为中心。充分考虑学生需求,利用虚拟仿真交互形式调动学生的积极性和主动性,形成学生在课堂教学中的主体地位;培养学生自主学习和探究式学习的能力,注重学生能力的提升及对相关知识点的理解与掌握。
(2)以兴趣为导向。针对CAD/CAM基础理论内容宽泛、理论性强的特点,开展课堂虚拟仿真实验,增加课堂的趣味性,将繁琐的理论知识与可视化的课堂实验紧密结合,便于学生对理论知识与相关算法的理解,激发学生学习兴趣,帮助学生构建完整的知识体系,培养学生的学习能力。
(3)以提升能力为出发点。利用虚拟仿真实验教学系统,通过辅助教学帮助学生理解CAD/CAM基础理论;通过自主实验和拓展练习培养学生提出问题、分析问题和解决问题的能力。
(4)支持多元化教学方法。利用虚拟仿真实验教学系统,丰富教学形式,支持虚实结合、互动体验、探究式学习等不同教学方法,全方位提升学生的学习兴趣和解决问题的能力。
CAD/CAM虚拟仿真实验教学系统以机械CAD/CAM课程基础理论为主要内容,课题组采用C#语言,设计并开发一个支持可视化辅助教学、学生自主实验和拓展练习的实验教学系统。该系统分为CAD和CAM两个模块,总体结构如图1所示。由于涉及内容众多,只对图形变换和插补运算进行介绍。
图1 机械CAD/CAM虚拟仿真实验教学系统总体结构
CAD系统可分为二维CAD系统和三维CAD系统,其中二维CAD系统是实践操作的基础,也是CAD/CAM课程教学的重点。下面仅以二维CAD系统中的图形变换为例说明仿真实验系统的设计与开发过程。
图形变换是将几何图形以某种规则变换为另一种图形的过程,其核心算法是图形顶点坐标集矩阵与变换矩阵的乘积,具体表达式为[15]:
式中:x、y分别为变换前图形顶点横、纵坐标;x′、y′分别为变换后图形的顶点坐标;T为变换矩阵。二维图形变换包含基本变换与复合变换两种类型,表1所示列举了部分基本变换矩阵,复合变换的变换矩阵T则是由若干个不同的基本变换矩阵组合得到。
表1 部分二维图形基本变换矩阵
采用C#语言将组成任意多边形的点集矩阵与变换矩阵的乘积封装为程序的内部函数,根据用户选择的不同变换类型,系统自动调用相应的函数。以任意多边形的变换为例,变换流程如图2所示。
图2 图形变换设计流程图
插补运算是数控机床中的重要功能之一[16]。插补就是根据零件轮廓的几何形状、尺寸、加工精度和工艺要求,在加工轮廓的起点和终点之间插入一系列中间点的过程,即数据点的密化,从而形成加工的轮廓轨迹。插补算法的性能直接影响到数控机床的优劣。插补算法有很多种,其中逐点比较法使用最为广泛,也是CAM教学的主要内容。下面就以逐点比较法直线插补为例介绍数控加工虚拟仿真系统的设计。
逐点比较法的基本原理为:刀具每走一步都要和规定的轨迹比较一次,并计算一次偏差值,根据比较结果来决定刀具下一步的进给方向和进给量。每个插补循环由偏差判别、坐标进给、偏差计算和终点判别4个步骤组成[17]。插补过程可用如下的伪代码描述,其中Xe为横坐标终点、Ye为纵坐标终点、N为总步数、Fm为偏差判别函数、Oxy为象限值。
本文开发的机械CAD/CAM基础理论虚拟仿真实验教学系统支持辅助教学、自主实验和拓展练习3种教学模式。教师在讲授CAD/CAM基础理论相应知识点的同时,借助该系统,可以开展可视化辅助教学,直观展示教学内容,加深对知识点的理解,培养学生的学习兴趣;学生也可以进行自主实验,通过修改不同的参数获取不同的实验结果,在探究中理解知识内涵,并获取知识;另外,学生还可以利用该实验教学系统进行各种拓展练习,有利于拓宽学生知识面,培养学生的创造性思维。
下面分别以图形变换和插补运算为例从辅助教学、自主实验和拓展练习3个方面介绍系统的具体应用。
(1)辅助教学。图形变换是CAD/CAM图形处理的主要内容之一,其数学基础是矩阵运算。教师在讲授该知识点时,通常是讲解矩阵的各种变换,内容枯燥乏味,难以激发学生的学习兴趣。借助本文开发的实验教学系统,在讲授矩阵变换的同时,可以形象直观地展示图形变换的过程,帮助学生理解其中的实现原理。图3所示为二维图形变换的应用实例。
图3 二维图形变换应用实例(绕任意直线对称)
教师在使用时,首先通过键盘或鼠标输入原始图形的点集坐标,再选择变换类型,之后系统会将变换后的结果以图形化的形式输出,同时,输出变换后图形的点集坐标和变换矩阵,以帮助学生学习。
(2)自主实验。学生可以自主修改任意参数进行探究式学习,系统自动输出不同变换结果,并显示变换矩阵,帮助学生理解各参数的实际意义。如修改变换矩阵[a,b,p;c,d,q;k,m,s]中的k值,运行结果如图4所示。由图可见,增大k值后图形将向右平移,由此可知,参数k是用来控制图形的平移变换。
图4 改变k值的实验
(3)拓展练习。除此之外,学生可使用该系统进行拓展练习,如通过手工计算变换矩阵和变换后图形的点集坐标,然后使用该系统验证计算结果是否正确。以某四边形绕原点旋转任意角度为例,设四边形点集坐标矩阵为:[107,125,1;47,28,1;179,48,1;104,66,1],由表1可知,绕原点旋转任意角度的变换矩阵为:[cos θ,sin θ,0;-sin θ,cos θ,0;0,0,1],其中θ为旋转角度,设θ=90°,则变换矩阵为:[0,1,0;-1,0,0;0,0,1],变换后图形的点集坐标为:[-125,107,1;-28,47,1;-48,179,1;-66,104,1]。将上述数据输入到该实验系统可以验证计算结果的正确性。
(1)辅助教学。插补运算的任务是在给定的加工轨迹的起点和终点间进行“数据点的密化”处理,该知识点的重点是讲授插补算法的原理和实现过程。本系统可以以可视化的方式动态模拟插补过程,学生可以直观地观看插补的全过程,加深学生对插补原理的理解。如图5是圆弧插补的应用实例。
图5 圆弧插补应用实例
(2)自主实验。学生使用该实验系统进行插补实验时可自主修改插补参数,观察不同参数下的运行结果,帮助学生理解不同插补参数的意义。图6所示为选取不同步长的圆弧插补结果。
图6 不同步长的圆弧插补结果
由实验可知,当步长减小时,插补的轨迹更接近于实际的圆,所以减小插补的步长有利于提高加工精度。
(3)拓展练习。学生还可以使用该实验系统进行各种拓展练习,如可以分别绘制位于第一、二象限的任意直线,观察其插补过程,帮助学生理解插补原理。图7所示为第一、二象限直线的插补。由实验可知,当Fm≥0,直线在第一象限时,向+X方向步进;直线在第二象限时,向-X方向步进。当Fm<0直线在第一、二象限时,向+Y方向步进。
图7 第一、二象限直线的插补结果
学生由此可以举一反三,学习第三、四象限直线的插补,以加强对插补算法的理解。
为探索信息技术与教育教学深度融合的方法,课题组在多年的教学实践中,针对CAD/CAM课程基础理论在教学中存在的问题,采用C#编程语言,设计并开发了一套虚拟实验教学软件系统。应用结果表明,该系统能有效解决课程教学中存在的知识点抽象、教学模式单一、缺乏实践、无法实现可视化教学等问题,有助于学生理解CAD/CAM基础理论知识,激发学习兴趣。此外,学生在实践中,还可以结合课程内容,进一步学习软件的设计与开发知识,领会信息技术的重要性,提高学生的实践能力和创新能力。