收藏 分销(赏)

面向3D打印制造系统的研究生Python编程实验教学探索.pdf

上传人:自信****多点 文档编号:653997 上传时间:2024-01-24 格式:PDF 页数:8 大小:2.32MB
下载 相关 举报
面向3D打印制造系统的研究生Python编程实验教学探索.pdf_第1页
第1页 / 共8页
面向3D打印制造系统的研究生Python编程实验教学探索.pdf_第2页
第2页 / 共8页
面向3D打印制造系统的研究生Python编程实验教学探索.pdf_第3页
第3页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、刘西霞,郭蕊,尹存宏:面向 3D 打印制造系统的研究生 Python 编程实验教学探索207面向 3D 打印制造系统的研究生 Python 编程实验教学探索刘西霞,郭蕊,尹存宏(贵州大学机械工程学院,贵州贵阳550025)摘要:在新工科建设背景下,社会对当代大学生特别是研究生的创新创业能力、实践动手能力提出了更高的要求。现阶段机械工程专业研究生课程Python 编程技术教学中存在教学手段单一、知识点陈旧、开放性与创造性不足等问题,不能满足培养科研能力强、实践能力强、具备显著竞争力的高水平新工科人才的需求。本文提出以问题解决为导向,深度挖掘原课程与机械专业先进制造技术的交叉内涵,阐述了面向 3D

2、 打印计算机辅助制造的研究生 Python 编程技术实验教学设计,旨在培养研究生学习的主观能动性、跨学科知识体系构建、创新思维和创新实践等能力,为机械工程专业编程类课程及计算机辅助类课程的教学改革提供参考和建议。关键词:Python 编程;计算机辅助制造;3D 打印;实验教学改革;学科交叉基金项目:贵州大学研究生创新人才计划项目 2022 年“学科交叉融合的机器人创新人才培养”(202203);贵州省本科教学内容和课程体系改革项目 2022 年“德-知-赛引领的机械工程实践教学环节人才培养模式创新”。作者简介:刘西霞,女,博士,贵州大学机械工程学院实验师。郭蕊,女,贵州大学机械工程学院助理实验

3、师。尹存宏,男,博士,贵州大学机械工程学院副教授。当前,利用计算机解决本专业领域中问题的能力,逐渐成为研究生教育和培养中的核心问题1。人工智能、大数据、智能制造等新兴技术的崛起,正全面地影响研究生培养的目标和模式2。“授之以鱼,不如授之以渔”,让研究生学会发现问题、208 Academic and Practise 学术与实践分析问题、解决问题,不断提升自我以适应新兴技术、新兴产业的快速发展,初步具备独立科研能力,是研究生培养的重要议题。课程学习是开展教学研究的基础,也是培养研究生的重要途径,而编程类课程的开设有助于机械专业研究生进一步加深对智能制造/计算机辅助制造的认识和运用。随着近年来云计

4、算、深度学习、增强现实等互联网技术的发展,制造业已经从主要侧重于数控机床、物流小车、工业机器人等单机的自动化逐渐向云制造、智能制造、数字孪生等融合了传统制造业特征和新型制造模式转型。因此,机械专业学生尤其是研究生的培养,已经远远不止要求学生掌握 CAD 计算机绘图、简单的PLC/单片机控制、单独的运动学/动力学分析、AGV 路径规划与车间集成调度问题等知识,而是要培养能够把握机械工程领域的动态及发展趋势,科研能力强、实践能力强、具备显著竞争力的高水平新工科人才,如面向工业智能制造的人工智能人才、工业软件开发人才等。机械工程专业传统的编程类课程往往以 C、C+和 Java 等通用软件为主,近年来

5、以 Python 语言应用为目标的课程设置渐成趋势。作为一门面向对象的计算机程序语言,Python 凭借其轻量级运行效率、通俗易懂的语言和强大的扩展性已悄然成为各高校开展计算机通识课程的主流程序语言3-4。Python 除了具有 C+和 Java 等面向对象语言的封装、移植、可扩展性等特点,其核心竞争力还在于 Python 拥有极其强大的第三方库,尤其适用于大数据分析、游戏开发、图形图像处理等信息量大的领域应用5。简单、通用、可拓展性强的优点使其在混合式教学以及科学研究工作中获得广泛关注,如不少学者专注于利用机器学习和深度学习来求解偏微分方程/系统。因而开展 Python 编程类课程教学具有重

6、要意义。此外,对于研究生的培养,Python 课程教学更注重自主性、开放性和创造性,避免使用填鸭式的理论教学和落入知识点罗列与灌输的误区。对此,针对研究生培养的特点,亟需设计并开展与专业息息相关的综合类实验教学,用以增加该类课程的趣味性和开放性,引导研究生开展自主学习和自主设计。本文主要讨论将 Python 编程技术学习与先进制造技术结合,以操作简单安全的3D 打印技术为依托,开展面向 3D 打印计算机辅助设计的 Python 编程实验教学,探索学科深度融合和增强该课程学习效果的方法。实验教学以指导机械工程专业研究生以个人或分组模式自主开发一套小型实用的3D 打印 CAM 系统为目标,开展 3

7、D 打印各实现环节的算法设计教学、CAM 系统开刘西霞,郭蕊,尹存宏:面向 3D 打印制造系统的研究生 Python 编程实验教学探索209发与验证,最后通过与硬件通讯并在熔融挤出型(FDM)3D 打印机上进行测试、调试和完善。一、Python编程技术教学存在的问题高校是培养高层次复合型人才的摇篮。随着人工智能、大数据的快速发展,Python语言的优势日益凸显。传统机械类专业与人工智能、大数据等产业的结合也越来越紧密,国内很多高校已将 Python 语言课程纳入机械类专业的培养计划,并对其展开了研究。例如,北京理工大学、南京大学、南开大学、哈尔滨工业大学、国防科技大学等国内高校已针对 Pyth

8、on 语言开展教学并获得很好的效果,申请获批为国家精品课程。贵州大学机械工程学院也将Python 编程技术纳入机械工程专业研究生的培养方案,作为选修课供相关方向及感兴趣的研究生修读。尽管在教学过程中针对专业类型和专业特点对课程的目标、内容、教学模式等进行了详细设计,但仍存在一些问题。1.单一的教学手段难以调动学生的积极性现 阶 段 贵 州 大 学 机 械 工 程 学 院 的Python 编程技术学习主要采用以讲授为主的传统教学方式,教学手段相对单一,造成学生在整个教学学习过程中处于被动接受状态,主动学习积极性不强。此外,以 PPT为主的课程讲解方式难以吸引所有学生的注意力,提问式的互动方式难以

9、保证学生高质量投入,教学效果有限。同时,教学过程中往往存在大量“填鸭式”讲解细小知识点的情况,而忽略引导学生自主利用软件自带的帮助文件进行知识的查找和学习。另外,对照 PPT 或书本顺序进行函数学习和应用的方式常常导致学生疲于记忆,落入知识点罗列的怪圈,对学生整体逻辑思路与计算思维的培养较为有限。2.对第三方库的使用和引导较为缺乏丰富多样的第三方库原本是 Python 语言最大的优势之一,是其具备较强通用性和可拓展性的基础。然而,现阶段贵州大学机械工程学院 Python 编程技术教学过程中对开发环境、基础语法、程序设计方法等基础知识的讲解往往花费过多的时间,相对缺乏对第三方库的正确使用方法讲解

10、和引导。同时,教学过程中对于 Python 语言强大的跨平台能力也没有很好地呈现出来。因此容易造成学生后续在该语言的学习和使用中无从下手,对于全新的第三方库的陌生,对于新规则/新概念的不熟悉,往往使学生缺乏学习兴趣。3.缺乏与专业的深度融合和综合性的实验环节一方面,无论是课堂学习还是课后习210 Academic and Practise 学术与实践题,现阶段贵州大学机械工程学院 Python编程技术在专业的结合方面均有待提高。尤其是课后习题,往往局限于教材上的习题,孤立、枯燥、与专业相距甚远的知识点容易诱发学生的厌学情绪,难以起到巩固课堂知识的作用,也难以培养研究生自主学习和综合运用所学知识

11、的能力,无法实现 Python 语言学习与专业知识的结合。另一方面,作为 Python 编程技术学习过程中核心地位的实验教学环节,承担着培养学生解决实际问题能力的作用。然而,现阶段贵州大学机械工程学院 Python 实验教学环节缺乏与专业深度融合的综合性实验环节,同时在难度梯度的设置上面也有待加强。通用型的案例实验环节往往无法吸引学生的学习兴趣,令学生产生该课程学习无用的错觉;难度系数太大又会造成学生的畏难情绪,缺乏对底层逻辑/计算思维的锻炼,导致学生碰到问题不会分析,自主学习的积极性受挫,难以培养学生解决问题的综合能力和与专业相关的综合素养。二、面向 3D 打印 CAM 的 Python实验

12、教学方案设计针对以上所述 Python 编程技术教学过程中的不足,除了在理论教学和设计中注重引导学生利用帮助软件自学,培养学生选择和使用第三方库的能力,增加课程趣味性和加强与学生互动等通用方法,本文主要提出一种通过与专业深度融合的综合性实验实现分层次、分环节、递进式的课程目标,补充和完善研究生 Python 语言教学效果的方法。整个综合性实验以浙江大学林志伟博士和傅建中教授编著的计算机辅助制造实践Python 实现三维打印路径规划为参考教材,以 FDM 3D 打印过程实现的计算机辅助制造为对象,基于问题导向分模块由浅入深地设置各个环节的算法要求和编程目标,引导研究生完成自主学习、自主设计和自主

13、开发,整个综合性实验方案设计如下:1.实验教学模式设计面向 3D 打印制造系统开发的 Python实验教学拟采用综合性实验教学的方法开展,类似本科教学中的课程设计,作为Python 编程技术理论课程的强有力补充。旨在指导研究生综合运用所学的代数、几何等数学理论,结合机械制造、数控加工、计算机编程等技术,针对 3D 打印等数控应用对象,研究路径规划关键算法,独立开发一套小型 3D 打印用的 CAM 系统,最后在打印机上进行加工验证和修改完善。由于该实验教学课程不依赖于专用仪器设备的使用,大部分编程工作可在电脑上完成,因此教学模式和课时设置易于调整。刘西霞,郭蕊,尹存宏:面向 3D 打印制造系统的

14、研究生 Python 编程实验教学探索211从教学方式上看,面向 3D 打印 CAM的 Python 实验教学模式拟采取跟随实验和分组自主实践的形式开展。首先针对开发 3D 打印 CAM 系统之一目标进行任务分解,设计相关教学内容和任务并根据完成的难易程度分类,以便分层次、递进地开展实验教学工作。对于难度相对较小的实验内容,采用跟随实验形式开展实验教学,即教师利用多媒体投影展示诸如基础语法知识、基础几何类型及其函数实现方法,研究生跟随教师讲解过程完成代码的编写,针对编写过程容易出现的共性问题进行实时交流。而对于部分难度相对较大、开放性较强且需自主设计的实验内容,以分组的形式合作完成,鼓励研究生

15、通过自主学习、阅读文献、利用网络资源等多种形式学习相关知识,提高效率的同时培养团队合作能力。2.实验教学任务分解FDM 3D 打印是一种典型的增材制造方式,通常利用水平面将三维模型分为厚度相同的若干层,然后打印头根据层片形状挤出材料,层层叠加后堆积出三维形状。根据 3D 打印的实现步骤,面向 3D 打印计算机辅助制造的 Python 实验教学主要涉及3D 打印过程中对模型的切片和路径规划等环节,包括模型转换、模型载入、模型切片分层、层片内组件的划分、切片轮廓的拼接、生成填充路径、是否生成打印支撑、端面封闭以及生成打印过程的 Gcode 等主要模块6,如图 1 所示。首先,需要将三维计算机模型转

16、换为STL 模型进行模型载入,然后对载入的模型进行分层切片。模型的分层切片是指采图 1面向 3D 打印过程实现的 Python 实验课程任务分解212 Academic and Practise 学术与实践用不同高度的水平面切割三维模型获得一系列二维的轮廓数据的过程。切片算法直接关系到打印件的质量,是 3D 打印 CAM 核心算法之一,当采用不合适的切片或模型表面具有较大的弯曲程度时,打印精度会降低,明显的阶梯效应会出现在打印件的表面。由于三维模型通常是由表面(例如由三角形面组合形成的)所占据的空间进行标识,通过切片算法进行每层截交会获得多线段,因此需要对这些线段进行分析和连接,并且针对连接后

17、的不同线圈进行组分分析,标记出内外墙、轮廓及填充区域等,同时标记打印顺序。在通过切片生成算法获得每层的切片轮廓后,需要在其内部规划填充路径,从而通过驱动打印机的喷头运动实现每层内部材料的填充。填充路径的形式和参数设置也直接影响打印的质量和效率。而对于支撑结构,主要是针对某些包含悬空和跨桥结构(尤其是悬垂物与垂直方向倾斜的角度大于 45 度)的三维模型,否则打印过程中容易出现由于悬臂结构坍塌导致的打印失败。此外,对于填充密度设置较低(及孔隙率较大)的情况,还需要考虑对上下端面的封闭,通常开发对于算法通过设置 2 3 层的高密度填充实现端面的封闭。3.实验教学内容规划对上述 3D 打印 CAM 核

18、心任务进行进一步分解,构建了如图 2 所示的面向 3D 打印 CAM 的 Python 三大实验教学环节,即图 2面向 3D 打印 CAM 的 Python 实验课程内容刘西霞,郭蕊,尹存宏:面向 3D 打印制造系统的研究生 Python 编程实验教学探索213基础环节、进阶环节和提高环节6。基础环节主要包括 Python 编程基础知识学习、几何基础库计算模型构建以及三维可视化平台搭建,旨在为研究生奠定进一步算法开发的基础。其中 Python 编程基础学习实验过程的主要任务是巩固列表、字典等数据结构,选择、循环等流程控制,以及模块封装等基础 Python 语法知识;几何基础库计算模型构建的任务

19、是构建包含点、线、面、向量、矩阵等基础几何元素,平移、缩放、旋转等基础几何变换方法,以及求交、求距、包含关系等基础几何算法的模型基础库;三维可视化平台搭建的任务是指选用 OpenGL、DirectX、OpenCasCade 等几何可视化的软件库,利用 Python 语言通过不断调试实现调用和封装,为后续使用做准备。进阶环节是实验教学的主体部分,主要包括 STL 模型切片基础、STL 模型截交线的生成与提取、截交线拼接、轮廓填充路径生成、层中平行填充路径生成、生成封闭端面以及与 Gcode 生成等模块。其中STL 模型切片基础的主要任务是介绍 STL模型数据格式,方便研究生快速入门,并接受使用简

20、单的暴力算法实现 STL 模型的截交计算;STL 模型截交线生成与提取的主要任务是在暴力算法的基础上介绍计算效率更高的扫描平面法;截交线拼接的主要任务是介绍根据基于字典序排序的拼接算法实现每层切片上截交计算获得的离散无序的线条拼接形成封闭轮廓;轮廓填充路径生成和层中平行填充路径生成的任务是介绍通过轮廓填充路径和平行填充路径两种算法实现在每层切片轮廓内部填充打印材料,为了在保证打印质量和提高打印效率,通常在每层的轮廓外围采用填充轮廓路径,而在内部填充平行“之”字形路径;生成封闭端面是指在 3D 打印中对模型上的上、下端面采用密实的填充方式;而 Gcode 生成的任务是指生成可以命令 FDM 3D

21、 打印机运动的 Gcode。提高环节主要提供研究与 3D 打印CAM 路径规划高度相关或对此类研究问题兴趣浓厚的研究生,主要包括基于拓扑模型的变厚度切片、针对模型特征的自适应切片以及打印支撑的生成与优化等模块。提高环节的主要任务包括介绍拓扑模型生成,模型中点、边、面关系索引,基于拓扑的切片方法实现,模型特征提取与分类算法,变厚度切片算法,自适应切片算法,支撑区域的识别方法,支撑内部规划路径,基于粒子群算法的支撑量优化方法等内容。三、结语计算机技术的高速发展在带来便利的214 Academic and Practise 学术与实践同时,也对新工科背景下研究生实践和创新能力的培养提出了更高的要求。

22、在新工科建设背景下,学生们学习编程类课程,更多关注的是专业知识结构、专业技术内容以及实践技能的培养7。在编程类课程中,提高学习者的问题解决能力,加深编程算法与专业知识的高速融合,是培养复合型人才的关键,然而在课程实施过程中仍然普遍存在理论知识与问题解决之间断层的现象。为使 Python 语言实验教学与机械工程专业计算机辅助制造深度融合,本文提出了面向 3D 打印 CAM 的研究生 Python编程技术综合性实验教学方法。以 FDM 3D打印过程 CAM 系统为对象,首先针对 3D过程的核心流程进行任务分解,然后通过由浅入深的实验环节和内容设置,采用跟随实验和分组自主实践的形式,指导研究生充分利

23、用 Python 编程语言实现进行 3D打印 CAM 系统的开发并开展验证和调试。以发挥学生主体地位为特征,采取综合性实验教学的形式引导研究生在不同场景中运用所学知识分析问题和解决问题,激励学生勇于挑战困难,理论联系实际,全面培养研究生的实践能力、创新能力和综合能力,为学生步入社会工作奠定坚实的职业技术基础。参考文献:1 陈冰,常莹,张晓军,等.研究导向型教学理念及相关教学模式探索 J.中国现代教育装备,2017(11):53-56.2 詹亚歌,邢怀中.复合型人才需求背景下工科类研究生培养改革初探及效果分析 J.创新教育研究,2021,9(2):5.3 魏冬梅,王秀华,王影,等.基于 Python 的程序设计通识课程建设与教学实践 J.计算机教育,2019(2):69-734 刘彦,赵欢,杨科华,等.新工科背景下成果导向的计算机系统课程教学改革 J.计算机教育,2019(7):1-4+9.5 李丹丹.浅析 Python 在大数据课程教学改革中的作用 J.教育现代化,2019(82):115-1166 林志伟,栾丛丛,王郑拓,等.基于 Python的 3D 打印计算机辅助制造实验教学 J.实验科学与技术,2022,20(4):96-101.7 潘显民,万莹.新工科专业课程思政教学改革与实践以计算机网络技术课程为例 J.教育文化论坛,2021,13(5):120-125.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服