机床数控技术课程设计说明书
数控技术课程设计机床
数控技术课程设计机床一、教学目标本节课的教学目标是让学生掌握数控机床的基本原理、结构和操作方法,培养学生对数控技术的兴趣和认识,提高学生的实际操作能力。
具体分为以下三个方面:1.知识目标:使学生了解数控机床的定义、分类、基本构成和主要性能指标,掌握数控机床的加工原理和工作原理,熟悉数控编程的基本方法。
2.技能目标:通过实践活动,使学生能够正确操作数控机床,进行简单零件的加工,具备一定的数控编程和调试能力。
3.情感态度价值观目标:培养学生对数控技术的热爱,增强学生的创新意识和团队合作精神,培养学生勇于探索、积极进取的精神风貌。
二、教学内容本节课的教学内容主要包括以下几个部分:1.数控机床的定义、分类和基本构成。
2.数控机床的加工原理和工作原理。
3.数控编程的基本方法。
4.数控机床的操作步骤和注意事项。
5.数控机床的安全操作和维护。
三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式进行教学:1.讲授法:通过讲解数控机床的基本原理、结构和操作方法,使学生掌握相关理论知识。
2.演示法:通过实际操作数控机床,使学生直观地了解数控机床的工作原理和操作方法。
3.实践法:学生进行数控机床的实际操作,培养学生的动手能力。
4.讨论法:分组讨论数控编程方法和加工技巧,促进学生之间的交流与合作。
四、教学资源为了保证教学的顺利进行,本节课需要准备以下教学资源:1.教材:《数控技术》相关章节。
2.多媒体资料:数控机床的结构和工作原理图片、视频。
3.实验设备:数控机床、数控编程软件。
4.参考书:相关数控技术书籍。
以上是对数控技术课程设计机床的教学目标、教学内容、教学方法和教学资源的分析与设计。
希望通过本节课的学习,学生能够掌握数控机床的基本知识和操作技能,为后续课程的学习打下坚实的基础。
五、教学评估为了全面、客观地评价学生的学习成果,本节课采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
普通车床数控化改造设计说明书
一、设计目的:通过本课程设计的训练,使学生在学完机床数控技术及相应的机床电器及PLC等课程之后,能够运用所学的知识独立完成数控车,数控铣和加工中心的进给系统的自动控制系统设计,从而使学生进一步加深和巩固对所学的知识的理解和掌握,并提高学生的实际操作能力。
⑴运用所学的理论知识,进行数控系统设计的初步训练,培养学生的综合设计能力;⑵掌握三相反应式步进电机进给驱动的原理和控制方法;⑶掌握PLC控制系统设计的基本技能,具备查阅和运用标准、手册、图册等有关技术资料的能力;⑷基本掌握编写技术的能力。
二、设计内容和要求:参考课程设计指导书[1],对于普通车床数控化改造设计,纵向进给驱动由三相感应式步进电机实现,完成其选型计算,用4位拨动开关设定转动速度,并设计其启动停止、正反转、加减速和步数控制系统,数控系统的脉冲当量为0.01mm/脉冲。
三、设计工作任务及工作量的要求:⑴设计任务①.步进电机选型计算;②.PLC控制程序设计⑵设计工作量要求:①.电路接线图和电器件清单;②.控制程序T形图及其对应的程序清单;③.编写课程设计说明书一份。
(A4不少于10页)⑶三个同学分为一组,同学们之间可以互相讨论研究工作内容和设计方法,但每位同学的设计任务必须各有侧重独立完成,不能有雷同现象。
四、设计参数:设计参数包括车床的部分技术参数和车床拟实施数控化改造所需要的参数。
以CA6140型车床的改造,设计参数如下:最大加工直径:在床面上,400mm;在床鞍上, 210mm。
最大加工长度:1000mm。
行程:纵向,1000mm。
快速进给:纵向,2400mm/min最大切削进给速度:纵向,500mm/min溜板及刀架质量:纵向,81.63kg主电动机功率:7.5kw定位精度:0.04mm/全行程重复定位精度:0.016mm/全行程程序输入方式:增量值、绝对值通用控制坐标数:2脉冲当量:纵向,0.01mm/脉冲一、 步进电机选型计算:(一)纵向进给传动链的设计计算 1、主切削力及其切削分力计算 ⑴ 计算主切削里z F已知机床主电动机的额定功率m P 为7.5KW,最大工件直径D=400mm,主轴计算转速n=85r /min 。
课程设计指导、任务书
洛阳理工学院机床数控技术课程设计指导书编者:李妙玲应用专业:数控技术一、课程的地位、任务和作用本课程设计是在《机床数控技术》理论课程学习完后进行。
《机床数控技术》是数控技术专业必修的主干专业课之一,对实际应用能力要求很高;通过该课程设计使学生进一步掌握和消化数控机床程序编制的基本内容,了解数控机床编程的特点和步骤,深化工艺处理技术和编程方法,为今后从事数控领域工作打下扎实基础。
二、课程设计题目及要求本课程设计共分两大类课题,每类20个(共40个题目):1)车削(通常为轴)类零件数控加工程序编制(4个台阶以上,包括一段凸圆或凹圆弧、一段螺纹);2)铣削(通常为轮盘和板)类零件数控加工程序编制(轮廓线5段以上包括直线、圆弧,孔两种4个以上)。
参加本课程设计的学生分为4组,每组10-12人。
各班第一、三组做车削类零件,二、四组做铣削类零件。
每组选派一名组长,协助指导教师督促和检查课程设计进展,保证每个同学都能独立完成自己的课程设计。
要求学生达到如下目标:1)针对设计任务选择合适的实现方案;2)培养学生查阅技术手册和有关技术资料的能力;3)培养学生程序设计能力;4)培养学生编制技术文档的能力;5)培养学生严肃认真、一丝不苟和实事求是的科学态度。
三、课程设计基本内容1)任务布置、准备有关资料;2)绘制零件图;3)分析零件数控加工工艺;4)设计数控加工工艺卡;5)编写数控加工走刀路线图。
四、要求完成的技术文件1. 绘制零件图一份;2. 数控加工工序卡一份;3. 走刀路线图一或多份;4. 数控加工程序清单一份;5. 设计说明书一份。
(分析零件结构;选择机床设备、刀具;编写数控加工工艺;写出数值计算过程)五、成绩评定依据下列两个方面对学生进行考核,以五级评分制综合评定成绩:1)设计过程中的表现(独立完成的能力、分折问题的能力、工作态度);2)提交的设计质量。
六、主要参考书[1]孙小捞,数控技术实训.机械工业出版社。
虎钳___数控编程与加工课程设计说明书
虎钳___数控编程与加工课程设计说明书一、课程设计的目的和意义数控编程与加工是现代制造领域非常重要的一门技术。
随着科技的发展,数控机床在工业生产中的应用越来越广泛,因此,培养掌握数控编程与加工技术的专业人才具有非常重要的意义。
本课程设计旨在通过设计一系列的实践项目,帮助学生提高数控编程与加工技能,培养思维能力和实践能力,为将来的工作做好充分准备。
二、教学目标本课程设计旨在培养学生以严谨的态度和科学的方法,掌握数控编程与加工的基本理论和实践技术,具备独立完成数控编程与加工任务的能力。
具体目标如下:1.掌握数控机床的基本原理和结构,了解常见数控机床的特点及应用领域;2.熟悉主要数控编程语言,能独立编写数控程序;3.熟悉数控加工工艺流程,能根据零件图纸编写加工工艺;4.能够使用数控机床进行加工操作,掌握加工过程中的安全注意事项和操作技巧;5.具备分析和解决数控加工过程中出现的问题的能力。
三、教学内容和安排本课程设计主要包括以下内容:1.数控机床的基本原理和结构1.1数控机床的分类和特点1.2数控机床的基本组成部分和工作原理1.3常见数控机床的应用领域和特点2.数控编程语言2.1常见的数控编程语言及其特点2.2数控程序的编写规范和要求2.3数控程序的调试和优化3.加工工艺流程3.1零件图纸分析和工艺规程编写3.2材料选择和切削参数的确定3.3加工工艺计划和工时预算4.数控机床的操作技巧4.1数控机床的操作界面和操作流程4.2加工刀具的选用和安装4.3加工工艺和工序的调整4.4加工过程中的常见问题分析和解决方法四、教学方法和手段为了达到教学目标,本课程设计将采用多种教学方法和手段,包括理论讲解、案例分析、实践操作、实验研究等。
1.理论讲解:通过课堂讲解,向学生介绍数控编程与加工的基本理论和原理,帮助学生建立正确的学习框架和思维方式。
2.案例分析:通过分析实际加工项目的案例,让学生了解实际生产中的数控编程与加工应用,培养他们分析和解决实际问题的能力。
vb6.0数控课程设计说明书
2014年 7 月 3 日目录摘要 (2)1. 概述 (2)1.1 课程设计的目的 (2)1.2 课程设计的任务和要求 (2)2. 课题分析 (3)2.1 DXF文件 (3)2.1.1 DXF文件结构 (3)2.1.2 DXF文件的读取 (4)2.2 几何元素的排序 (4)2.3 CNC程序生成 (5)3. 算法说明 (6)3.1 程序主流程图 (6)3.2 提取直线和圆弧信息 (6)3.3 几何信息排序算法 (6)3.4 图形显示 (6)3.5 生成NC程序代码 (7)4. 软件开发及运行 (8)4.1 系统界面 (8)4.2 功能设置 (9)4.3 操作运行 (10)4.4 结果及分析 (12)结论 (12)参考文献 (13)附录程序代码 (14)摘要数控加工仿真利用计算机来模拟实际的加工过程,是验证数控加工程序的可靠性和预测切削过程的有力工具,以减少工件的试切,减少安全风险,降低成本,提高生产效率。
计算机仿真技术的发展趋势主要表现在两个方面:应用领域的扩大和仿真计算机的智能化。
计算机仿真技术不仅在传统的工程技术领域(航空、航天、化工等方面)继续发展,而且扩大到社会经济、生物等许多非工程领域,此外,并行处理、人工智能、知识库和专家系统等技术的发展正影响着仿真计算机的发展。
本文介绍了Visual Basic 6.0为开发工具,通过提取AutoCAD中生成的DXF图形几何信息,经过工艺干预,自动生成数控机床加工用的NC程序,同时实现了NC 程序的仿真功能。
1. 概述1.1 课程设计的目的数控机床课程设计是机电专业教学活动的一个重要的实践性环节,是对学生所学《数控机床》课程和其它有关课程知识和技能的一次综合性练习,旨在使之巩固、充实、系统化,并得到进一步扩展。
课程设计是培养学生理论联系实际、解决生产实际问题的机会。
通过对数控铣床典型部件的结构设计、典型零件编程或数控装置的计算机仿真,使学生对数控机床的结构原理、编程方法处理实际问题的一般步骤和具体技巧、数控装置设计及使用得到训练,提高运用所学专业知识分析问题和解决问题的能力。
机械加工工艺设计-课程设计实例
机械加工工艺设计-课程设计实例机床数控技术课程设计说明书题目:零件的加工工艺及其数控铣床倒角加工生产纲要:年产20000件开始日期:2022.1.7完成日期:2022.1.21答辩日期:2022.1.22班级:学生:学号:指导老师:教研室主任:学校名:对我来说,希望能通过这次课程设计,对自己的将来从事的工作,进行一次适应性训练,通过本次课程设计锻炼了自己分析问题、解决问题的能力,对今后工作能有更多帮助。
由于实际实践经验不足、个人能力有限,设计中尚存在许多不足之处,请老师给予批评指正。
设计书包括:1、零件图2、零件的毛坯图3、机械加工工艺过程卡4、机械加工工序卡5、课程设计说明书6、数控加工仿真图一张一张两张七份一份一份一、零件分析零件工艺分析:1.加工内容该零件主要由平面,孔和外轮廓组成,毛坯为熔模铸造,外形尺寸为112mm某54mm某42mm,加工内容包括外轮廓;孔φ20mm孔和φ8mm孔;2.加工要求该零件为复杂形状零件,尺寸精度和形位要求不高,其中中孔尺寸为φ20H7为配合面要求有较高的精度要求,故加工时需安排精加工,孔内表面粗糙度也需达到1.6。
其余外轮廓和φ8孔要求不高,表面粗糙度为Ra6.3um。
3各结构的加工方法由于φ20H7孔加工要求较高,拟选择粗铰+精铰的方案。
除了前面较复杂的曲面平面组合外其他上下,左右和后侧面都使用粗铣+精铣的方案。
二、工艺规程的设计(一)、确定毛坯的制造形式由于该零件是总体尺寸较小,精度要求较高的特殊形状零件,而且要求批量较大,所以采用熔模铸造。
铸造可按照附件所带铸造毛坯图铸造。
要求无铸造缺陷,材料为ZG45,外轮廓和中孔预留加工余量为1~2mm,毛坯尺寸精度要求为0.25mm。
(二)、基准选择1.粗基准的选择如图1,按照粗基准选择的原则。
选择较为光洁,面积较大的表面为基准。
加工上下表面B、C、D、E和中间孔时要以C面为精基准。
加工外轮廓时也需要以C面和中孔为基准。
《数控系统课程设计》——设计计算说明书
《数控系统课程设计》——设计计算说明书设计计算说明书【一、课程设计目的】本课程设计的目的是通过对数控系统的设计计算,使学生深入了解数控系统的原理和设计过程,并熟悉数控系统的相关计算方法,培养学生的数控系统设计能力和实际操作能力。
【二、课程设计内容】本课程设计主要包括以下内容:1.数控系统概述1.1 数控系统的定义和分类1.2 数控系统的基本组成部分1.3 数控系统的工作原理2.数控系统的设计计算2.1 机床选型与参数计算2.1.1 机床的种类和特点2.1.2 机床的性能参数计算2.1.3 机床的选型与评估方法2.2 控制系统设计计算2.2.1 控制系统的功能要求2.2.2 控制系统的运动参数计算 2.2.3 控制系统的信号处理与2.3 运动系设计计算2.3.1 伺服系统的参数计算2.3.2 输送系统的参数计算2.3.3 刀具系统的参数计算2.4 传动系统设计计算2.4.1 变速器的设计计算2.4.2 传动链的设计计算2.4.3 主轴系统的设计计算3.数控系统的性能测试与调试3.1 数控系统的性能测试方法3.2 数控系统的调试流程与技巧3.3 数控系统的故障排除与维修方法【三、课程设计要求】1.学生需独立完成数控系统的设计计算,并形成设计计算说明书。
2.设计计算说明书需包含计算过程、结果及设计理论支撑。
3.设计计算说明书需具备完整的文档结构,包括封面、目录、正文、附录等部分。
4.设计计算说明书的编写应规范、准确、清晰、规整。
【四、附件】本文档涉及的附件如下:1.机床选型与性能参数计算表格2.控制系统设计计算表格3.运动系设计计算表格4.传动系统设计计算表格5.数控系统的性能测试数据记录表格6.数控系统的调试记录表格【五、法律名词及注释】1.数控系统(Numerical Control System):通过数字控制信号控制机床运行的系统。
2.机床(Machine Tool):完成加工任务的设备,包括车床、铣床、钻床等。
fanuc数控技术课程设计
fanuc数控技术课程设计一、课程目标知识目标:1. 理解FANUC数控系统的基本结构、功能及操作原理;2. 掌握FANUC数控编程的基本指令、格式及编程方法;3. 了解FANUC数控机床的调试、维护与故障排除方法。
技能目标:1. 能够熟练操作FANUC数控机床,进行基本的手动和自动编程;2. 能够运用FANUC数控编程软件,完成中等复杂程度的零件编程;3. 能够对FANUC数控机床进行简单的调试、维护及故障排除。
情感态度价值观目标:1. 培养学生热爱数控技术,增强对制造业的认识和兴趣;2. 培养学生的团队合作精神,提高沟通协调能力;3. 增强学生的质量意识、安全意识,培养严谨的工作态度。
课程性质:本课程为专业技能课程,旨在帮助学生掌握FANUC数控技术的相关知识和技能,为今后从事制造业工作打下基础。
学生特点:学生为中职或高职二年级学生,具有一定的机械基础知识,对数控技术有一定了解,但实际操作能力有待提高。
教学要求:结合学生特点,采用理论教学与实践操作相结合的教学方法,注重培养学生的实际操作能力和解决问题的能力。
通过本课程的学习,使学生能够达到课程目标,具备FANUC数控技术的基本应用能力。
二、教学内容1. FANUC数控系统概述- 系统结构及功能- 常用操作面板及功能键介绍2. FANUC数控编程基础- 编程指令与格式- 编程方法与步骤- 中等复杂程度零件编程实例3. FANUC数控机床操作- 手动操作与自动操作- 程序输入与编辑- 机床参数设置与调整4. FANUC数控机床调试与维护- 机床调试方法与步骤- 日常维护与保养- 常见故障排除方法5. 实践操作与训练- 基本操作技能训练- 编程与加工实践- 故障排除综合训练教学内容安排与进度:第一周:FANUC数控系统概述第二周:FANUC数控编程基础第三周:FANUC数控机床操作第四周:FANUC数控机床调试与维护第五周:实践操作与训练教材章节关联:本教学内容与教材第3章“FANUC数控系统编程与操作”和第4章“FANUC 数控机床调试与维护”相关。
数控技术课程设计cnc
数控技术课程设计cnc一、教学目标本课程的教学目标是使学生掌握数控技术的基本原理、方法和应用,培养学生具备数控编程、操作和维护的能力。
具体目标如下:1.知识目标:学生能理解数控技术的基本概念、原理和特点,掌握数控编程的方法和步骤,了解数控机床的结构和功能。
2.技能目标:学生能熟练使用数控编程软件进行编程,能操作数控机床进行加工,能对数控机床进行简单的故障排除和维护。
3.情感态度价值观目标:学生能认识到数控技术在现代制造业中的重要地位,培养对数控技术的兴趣和热情,树立正确的职业观念和团队协作精神。
二、教学内容本课程的教学内容主要包括数控技术的基本原理、数控编程、数控机床操作和维护等方面。
具体安排如下:1.数控技术的基本原理:介绍数控技术的发展历程、基本概念、原理和特点。
2.数控编程:讲解数控编程的基本方法、步骤和注意事项,包括平面编程、立体编程和加工中心编程等。
3.数控机床操作:介绍数控机床的基本结构、功能和操作方法,包括机床的启动、停止、对刀、切削参数设置等。
4.数控机床维护:讲解数控机床的日常维护、故障排除和维修方法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
具体运用如下:1.讲授法:用于讲解数控技术的基本原理、概念和编程方法。
2.讨论法:鼓励学生积极参与课堂讨论,提高学生对数控技术问题的思考和分析能力。
3.案例分析法:通过分析实际案例,使学生更好地理解和掌握数控技术的应用。
4.实验法:安排实验课程,让学生亲自动手操作数控机床,提高学生的实际操作能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的数控技术教材,为学生提供系统的理论知识。
2.参考书:提供相关的数控技术参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高课堂的趣味性和生动性。
4.实验设备:保证学生有足够的实践机会,提高学生的操作技能。
机床数控课程设计
机床数控课程设计一、教学目标本课程的教学目标是使学生掌握机床数控的基本概念、原理和方法,培养学生具备数控编程和操作的能力,提高学生在机械加工领域的实际操作技能和解决实际问题的能力。
知识目标:使学生了解机床数控的基本概念、原理和方法,包括数控系统的结构、功能和编程语言等;培养学生掌握数控编程的基本规则和技巧,包括线性编程、圆弧编程和刀具补偿等;使学生了解数控加工的应用领域和发展趋势。
技能目标:培养学生具备数控编程和操作的能力,包括编写数控程序、设置数控机床和操作数控机床等;培养学生掌握数控加工工艺和质量控制的方法,包括加工参数的选择、刀具的选择和加工质量的检测等。
情感态度价值观目标:培养学生对机床数控技术的兴趣和热情,提高学生对机械加工领域的认识和理解;培养学生具备创新意识和团队合作精神,使学生在实际工作中能够勇于尝试新方法和新技术,与他人合作解决问题。
二、教学内容本课程的教学内容主要包括机床数控的基本概念、原理和方法,数控编程和操作的基本规则和技巧,以及数控加工工艺和质量控制的方法。
1.机床数控的基本概念、原理和方法:介绍数控系统的结构、功能和工作原理,包括CNC、DNC和MNC等;讲解数控编程的基本规则和技巧,包括线性编程、圆弧编程和刀具补偿等。
2.数控编程和操作的基本规则和技巧:讲解数控程序的结构和编写方法,包括程序的格式、功能指令和编程策略等;讲解数控机床的设置和操作方法,包括机床的选择、刀具的选择和加工参数的设置等。
3.数控加工工艺和质量控制的方法:讲解数控加工工艺的基本原则和加工参数的选择方法,包括切削参数、刀具参数和加工路线等;讲解加工质量的检测方法和质量控制体系的建设。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法、实验法和讨论法等。
1.讲授法:通过教师的讲解和讲解材料的展示,向学生传授机床数控的基本概念、原理和方法,引导学生理解和掌握相关知识。
2.案例分析法:通过分析具体的机床数控加工案例,使学生了解数控编程和操作的实际应用,培养学生解决实际问题的能力。
数控技术课程设计说明书(doc 32页)
数控技术课程设计说明书(doc 32页)《数控编程》课程设计姓名:武刚刚系别:机电工程学院专业:机械设计制造及其自动化班级:12级机自专升本1班指导教师:陈小静学号:12042010119目录1.................................. 课程设计任务书21.1、 ................................ 目的与要求21.2、课程设计内容 (2)1.3、课程设计步骤与方法 (2)1.4、课程设计说明书与图纸 (3)1.5、课程设计进度表 (3)2................................ 零件的数控工艺分析42.1、工艺分析 (4)2.2、工件定位与装夹 (6)2.3、机床的合理选用 (7)2.4、选择刀具和确定切削用量 (7)2.5、确定走刀路线 (9)3.................................. 轨迹坐标的计算113.1、基点坐标计算 (11)4................................ 数控加工程序的编制144.1、左半部分程序的编制 (14)4.2、右半部分程序的编制 (14)5............................. 加工程序的调试及运行结果165.1、仿真软件简介 (16)5.2、加工仿真过程叙述 (16)5.3、加工仿真结果 (21)总结 (29)参考文献 (30)1.课程设计任务书1.1、目的与要求数控技术课程设计是学习数控技术课程后进行的一个重要的实践教学环节,可提高学生的数控编程能力,加深对数控原理及数控机床结构的理解,为学生进一步学习数控机床知识及从事相关工作打下基础。
教学目的:本课程设计是学完数控技术之后,进行的实践性教学环节,它一方面要求学生能根据零件图,编制数控加工工艺,用ISO码编制数控加工程序,熟悉加工程序输入、检查、编辑及执行的方法,另一方面,为今后的毕业设计、今后从事数控加工进行一次综合训练。
《数控技术》课程设计
《数控技术》课程设计一、教学目标本课程的教学目标是使学生掌握数控技术的基本概念、原理和方法,能够运用数控技术解决实际问题。
具体目标如下:知识目标:学生能够理解数控技术的定义、发展历程和应用领域;掌握数控编程的基本原理和方法;了解数控机床的结构和工作原理。
技能目标:学生能够熟练使用数控编程软件进行编程;能够操作数控机床进行加工;能够对数控机床进行简单的故障排除和维护。
情感态度价值观目标:学生能够认识到数控技术在现代制造业中的重要地位和作用;培养学生的创新意识和团队合作精神;培养学生的动手能力和实践能力。
二、教学内容根据课程目标,教学内容主要包括数控技术的基本概念、数控编程原理、数控机床的结构和工作原理、数控加工工艺等。
具体安排如下:第一章:数控技术概述第二章:数控编程原理第三章:数控机床的结构和工作原理第四章:数控加工工艺第五章:数控编程软件的使用三、教学方法为了达到课程目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
具体方法如下:讲授法:通过讲解和演示,使学生掌握数控技术的基本概念和原理;讨论法:通过小组讨论,培养学生的思考能力和团队合作精神;案例分析法:通过分析实际案例,使学生能够将理论知识应用于实际问题;实验法:通过操作数控机床和编程软件,培养学生的动手能力和实践能力。
四、教学资源我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。
具体资源如下:教材:《数控技术》参考书:《数控编程技术与应用》、《数控机床原理与维护》多媒体资料:数控技术介绍视频、数控编程软件教程实验设备:数控机床、编程软件以上是本课程的教学设计,希望能够帮助学生更好地学习和掌握数控技术。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多种评估方式,包括平时表现、作业、考试等。
具体评估方式如下:平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等,评估学生的学习态度和理解程度;作业:布置适量的作业,让学生巩固所学知识,通过批改作业了解学生的掌握情况;考试:进行期中和期末考试,测试学生对知识的掌握和运用能力。
数控课程设计任务书
数控课程设计任务书一、教学目标本课程旨在让学生掌握数控技术的基本原理、方法和应用,培养学生的数控编程、操作和维护能力。
具体目标如下:1.知识目标:了解数控技术的基本概念、发展历程和分类;掌握数控编程的基本原理和方法;熟悉数控系统的组成、功能和工作原理。
2.技能目标:能够熟练使用数控编程软件进行编程;具备数控机床的基本操作能力;能对数控系统进行简单的故障诊断和维修。
3.情感态度价值观目标:培养学生对数控技术的兴趣和好奇心,提高学生的人文素养和创新精神;使学生认识到数控技术在我国制造业中的重要地位,增强学生的社会责任感和使命感。
二、教学内容1.数控技术的基本概念、发展历程和分类。
2.数控编程的基本原理和方法。
3.数控系统的组成、功能和工作原理。
4.数控机床的基本操作和维护。
5.数控技术在制造业中的应用案例。
三、教学方法1.讲授法:用于讲解数控技术的基本概念、原理和编程方法。
2.讨论法:学生就数控技术的应用和发展进行讨论,培养学生的创新意识和团队协作能力。
3.案例分析法:分析数控技术在制造业中的应用案例,使学生更好地理解数控技术的实际应用。
4.实验法:让学生亲自动手操作数控机床,提高学生的实际操作能力。
四、教学资源1.教材:选用权威、实用的数控技术教材,为学生提供系统、全面的知识学习。
2.参考书:提供相关的数控技术参考书籍,丰富学生的知识视野。
3.多媒体资料:制作精美的课件和教学视频,提高学生的学习兴趣。
4.实验设备:配置完善的数控机床和实验器材,确保学生能够进行实际操作训练。
五、教学评估为了全面、客观地评估学生的学习成果,本课程采用多种评估方式,包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和课堂表现。
2.作业:布置适量的作业,评估学生的知识掌握和运用能力。
3.考试:设置期中考试和期末考试,全面测试学生的数控技术知识、技能和应用能力。
4.实践操作:通过数控机床操作实验,评估学生的实际操作能力。
数控机床课程设计说明书
广西科技大学《数控机床》课程设计说明书课题名称X-Y数控工作台设计学院机械工程学院专业机械工程及自动化班级学号姓名指导教师2015年 6 月 25 日数控技术及数控机床在当今机械制造业中的重要地位和巨大效益,显示了其在国家基础工业现代化中的战略性作用,并已成为传统机械制造工业提升改造和实现自动化、柔性化、集成化生产的重要手段和标志。
数控技术及数控机床的广泛应用,给机械制造业的产业结构、产品种类和档次以及生产方式带来了革命性的变化。
X-Y数控工作台是数控机床的重要组成部分,其制造精度对数控机床的精度有着重要的影响。
X-Y数控工作台通常由导轨座、移动滑块、工作、滚珠丝杠螺母副以及伺服电动机等部件构成。
本次课程设计内容主要是对数控铣床的X-Y数控工作台的滚珠丝杠螺母副、步进电机、导轨副的计算和选用。
关键词:数控机床开环控制滚珠丝杠步进电动机滚动导轨一、设计的目的 (1)二、设计任务 (1)三、设计主要步骤 (1)(一)确定设计总体方案 (1)1. 机械传动部件的选择。
(1)2. 控制系统的设计,完成进给控制系统原理框图及步进电机的控制驱动。
.. 2(二)机械传动部件的计算与选型 (2)1.导轨上移动部件的重量估算。
(2)2. 计算切削力。
(3)(三)滚珠丝杠传动的设计计算及效验。
(4)1. 最大工作载荷的计算。
(4)2. 最大计算动载荷的确定。
(4)3. 规格型号的初选。
(5)4. 传动效率的计算。
(6)5. 刚度的验算。
(7)6. 稳定性的验算。
(7)7. 临界转速的验算。
(8)8. 滚珠丝杠的选型及安装连接尺寸的确定。
(9)(四)步进电动机的传动计算及电动机选用。
(12)1.传动计算 (12)2.步进电动机的计算及选型。
(12)3. 步进电动机转轴上的等效负载转矩M的计算。
(15)(五)滚动导轨的设计计算 (18)1.工作载荷的计算。
(18)2. 小时额定工作寿命的计算。
数控技术课程设计说明书32
目录1 概述 (1)1.1 PLC控制交流主轴电机的内容 (1)1.2 数控技术课程设计的目的 (1)2 电动机的选择 (1)2.1 电机参数的选择 (1)2.2 三相交流异步电动机的工作原理 (2)3 基本元器件的选择 (4)3.1 开关的选择 (4)3.2 热继电器的选择 (4)4 变频器的选择 (5)4.1 变频器基础知识 (5)4.2 变频器的工作原理 (6)4.3 变频器参数的选择 (6)4.4产品技术指标及规格 (6)4.5变频器的基本运行配线图 (9)4.6变频器的外部配置及应注意的问题 (11)5 控制系统设计 (11)5.1 输入输出信号分析 (12)5.2 PLC改造I/O分配图 (12)5.3 PLC选型 (12)5.4 动作序列图 (13)5.5 模拟块的选择 (13)5.6 系统接线图 (17)5.7 梯形图和程序指令设计 (18)总结 (20)参考文献 (21)1概述:1.1 PLC控制交流主轴电机的内容:PLC作为控制器对机床电气控制系统的改造越来越突出,其主要部分是对数控机床的典型执行元件交流主轴电机的控制。
在电动机发生故障时,为了保护电动机,减轻故障的损坏程度,继电保护装置的快速性和可靠性十分重要。
在单机容量日益增大的情况下,电机的额定电流可达数千甚至几万安,这就给电动机的继电保护提出了更高的要求。
传统的继电保护装置已经无法满足要求,因此微机保护应运而生。
PLC是用来取代传统的继电器控制的,与之相比,PLC在性能上比继电器控制逻辑优异,特别是可靠性高、设计施工周期短、调试修改方便、而且体积小、功耗低、使用维护方便。
1.2 数控技术课程设计的目的:通过本课程设计的训练,使学生在机床数控技术、机床电气控制等相关课程知识的基础上,能够运用所学独立完成主轴系统的自动控制系统设计,从而使学生进一步加深和巩固对所学知识的理解和掌握,并提高学生的实际操作能力。
(1)运用所学的知识,进行数控系统设计的初步训练,培养学生的综合设计能力;(2)掌握三相交流异步电动机的原理和控制方法;(3)掌握变频器的基本工作原理及使用控制方法;(4)掌握PLC控制系统设计的基本技能,具备查阅和运用标准、手册、图册等有关技术资料的能力;基本掌握编写技术文件的能力。
XY数控机床设计说明文书
《数控机床》课程设计说明书设计题目:X-Y数控机床工作台设计学院:机械工程学院专业:机械自动化班级:机自Y126学号: 201200608003姓名:王舒恒指导老师:冰摘要当今世界电子技术迅速发展,微处理器、微型计算机在各技术领域得到了广泛应用,对各领域技术的发展起到了极大的推动作用。
一个较完善的机电一体化系统,应包含以下几个基本要素:机械本体、动力与驱动部分、执行机构、传感测试部分、控制及信息处理部分。
机电一体化是系统技术、计算机与信息处理技术、自动控制技术、检测传感技术、伺服传动技术和机械技术等多学科技术领域综合交叉的技术密集型系统工程。
新一代的CNC系统这类典型机电一体化产品正朝着高性能、智能化、系统化以及轻量、微型化方向发展。
关键字:机电一体化组成要素滚珠丝杠滚动导轨步进电机AbstractNow the world electronic technology rapidly expand, the microprocessor, the microcomputer obtain the widespread application in various area of technology, to various domains technology development enormous promotion effect. A perfect integration of machinery system, should contain the following several base elements: Basic machine, power and actuation part, implementing agency, sensing measurement component, control and information processing part. The integration of machinery is the system technology, the computer and the information processing and management technology, the automatic control technology, the examination sensing technology, the servo drive technology and the mechanical skill and so on multi-disciplinary area of technology synthesis overlapping technology-intensive systems engineering. New generation's CNC system this kind of model integration of machinery product toward the high performance, the intellectualization, the systematization as well as the featherweight, the microminiaturized direction develops. key words: Integration of machinery foundation basic component elements characteristic trend of development.目录第一章前言 (1)第二章设计主要步骤 (2)第一节确定设计总体方案 (2)一、机械传动部件的选择 (2)二、方案的比较及确定 (2)第二节机械传动部件的计算与选型 (3)一、导轨上移动部件的重量估算 (3)二、计算切削力 (4)三、滚珠丝杆传动的设计计算及效验 (5)四、步进电动机的传动计算及电机选用 (10)五、滚动导轨的设计计算 (17)六、其余附件的选择 (18)第三章致 (21)参考文献 (21)第一章前言当今世界数控技术及装备发展的趋势及我国数控装备技术发展和产业化的现状在我国对外开放进一步深化的新环境下 ,发展我国数控技术及装备、提高我国制造业信息化水平和国际竞争能力的重要性 ,并从战略和策略两个层面提出了发展我国数控技术及装备的几点看法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机床数控技术课程设计说明书指导老师:姓名:班级:学号:2014/01/10目录一课设任务 (1)二课设要求 (1)(一)DDA第四象限直线插补 (1)(二)逐点比较法第2~1象限顺圆弧插补 (2)(一)DDA第四象限直线插补 (5) (5)(二)逐点比较法第1~2象限逆圆弧插补 (6) (6)六源程序 (6)function varargout = f2(varargin) (6)% F2 MATLAB code for f2.fig (6)% F2, by itself, creates a new F2 or raises the existing (6)% singleton*. (6)% (6)% H = F2 returns the handle to a new F2 or the handle to (6)% the existing singleton*. (6)% (6)% F2('CALLBACK',hObject,eventData,handles,...) calls the local (6)% function named CALLBACK in F2.M with the given input arguments. (6)% (6)% F2('Property','Value',...) creates a new F2 or raises the (6)% existing singleton*. Starting from the left, property value pairs are (6)% applied to the GUI before f2_OpeningFcn gets called. An (6)% unrecognized property name or invalid value makes property application (7)% stop. All inputs are passed to f2_OpeningFcn via varargin. (7)% (7)% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one (7)% instance to run (singleton)". (7)% (7)% See also: GUIDE, GUIDATA, GUIHANDLES (7)% Edit the above text to modify the response to help f2 (7)% Last Modified by GUIDE v2.5 09-Jan-2014 10:52:17 (7)% Begin initialization code - DO NOT EDIT (7)gui_Singleton = 1; (7)gui_State = struct('gui_Name', mfilename, ... .. (7)'gui_Singleton', gui_Singleton, ... . (7)'gui_OpeningFcn', @f2_OpeningFcn, ... (7)'gui_OutputFcn', @f2_OutputFcn, ... . (7)'gui_LayoutFcn', [] , ... (7)'gui_Callback', []); (7)if nargin && ischar(varargin{1}) (7)gui_State.gui_Callback = str2func(varargin{1}); (7)end (7)if nargout (7)[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); (7)else (7)gui_mainfcn(gui_State, varargin{:}); (7)end (7)% End initialization code - DO NOT EDIT (7)% --- Executes just before f2 is made visible. (7)function f2_OpeningFcn(hObject, eventdata, handles, varargin) (7)% This function has no output args, see OutputFcn. (7)% hObject handle to figure (7)% eventdata reserved - to be defined in a future version of MATLAB (7)% handles structure with handles and user data (see GUIDATA) (7)% varargin command line arguments to f2 (see VARARGIN) (7)% Choose default command line output for f2 (7)handles.output = hObject; (7)% Update handles structure (7)guidata(hObject, handles); (8)% UIWAIT makes f2 wait for user response (see UIRESUME) (8)% uiwait(handles.figure1); (8)% --- Outputs from this function are returned to the command line. (8)function varargout = f2_OutputFcn(hObject, eventdata, handles) (8)% varargout cell array for returning output args (see VARARGOUT); (8)% hObject handle to figure (8)% eventdata reserved - to be defined in a future version of MATLAB (8)% handles structure with handles and user data (see GUIDATA) (8)% Get default command line output from handles structure (8)varargout{1} = handles.output; (8)% --- Executes on button press in pushbutton1. (8)function pushbutton1_Callback(hObject, eventdata, handles) %绘制直线 (8)global x1 y1 x2 y2 L N x y Mx My Jvx Jrx1 Jrx2 Jrx3 Jvy Jry1 Jry2 Jry3 X Y; (8)x1=str2double(get(handles.edit1,'string')); (8)y1=str2double(get(handles.edit2,'string')); (8)x2=str2double(get(handles.edit3,'string')); (8)y2=str2double(get(handles.edit4,'string')); (8)L=str2double(get(handles.edit7,'string')); (8)N=str2double(get(handles.edit6,'string')); (8)if x1<=0|y1>=0|x2<=0|y2>=0 (8)set(handles.text11,'string','直线不在第四象限!');%判断直线是否在第四象限 (8)else (8)if x1==x2 (8)y=y1:(y2-y1)/100:y2; (8)x=y.*0+x1; (8)plot(x,y,'k'); (8)hold on; (8)else (8)x=x1:(x2-x1)/100:x2; (8)plot(x,y,'k'); (8)hold on; (8)end (8)xmin=min(x); (8)xmax=max(x); (8)ymin=min(y); (8)ymax=max(y); (8)axis equal; (9)axis([xmin-L xmax+L ymin-L ymax+L]); %定义坐标轴的边界 (9)set(handles.text11,'string','绘图完成'); (9)Mx=ceil(abs(x2-x1)/L); %计算插补步数 (9)My=ceil(abs(y2-y1)/L); (9)Jvx=abs(x2-x1); %给寄存器赋值 (9)Jrx2=2^N-1; (9)Jrx3=2^(N-1); (9)Jvy=abs(y2-y1); (9)Jry1=0; (9)Jry2=2^N-1; (9)Jry3=2^(N-1); (9)X=x1; (9)Y=y1; (9)end (9)% hObject handle to pushbutton1 (see GCBO) (9)% eventdata reserved - to be defined in a future version of MATLAB (9)% handles structure with handles and user data (see GUIDATA) (9)function edit1_Callback(hObject, eventdata, handles) (9)% hObject handle to edit1 (see GCBO) (9)% eventdata reserved - to be defined in a future version of MATLAB (9)% handles structure with handles and user data (see GUIDATA) (9)% Hints: get(hObject,'String') returns contents of edit1 as text (9)% str2double(get(hObject,'String')) returns contents of edit1 as a double (9)% --- Executes during object creation, after setting all properties. (9)function edit1_CreateFcn(hObject, eventdata, handles) (9)% hObject handle to edit1 (see GCBO) (9)% eventdata reserved - to be defined in a future version of MATLAB (9)% handles empty - handles not created until after all CreateFcns called (9)% Hint: edit controls usually have a white background on Windows. (9)% See ISPC and COMPUTER. (9)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (9)set(hObject,'BackgroundColor','white'); (9)end (9)function edit2_Callback(hObject, eventdata, handles) (10)% hObject handle to edit2 (see GCBO) (10)% eventdata reserved - to be defined in a future version of MATLAB (10)% handles structure with handles and user data (see GUIDATA) (10)% Hints: get(hObject,'String') returns contents of edit2 as text (10)% str2double(get(hObject,'String')) returns contents of edit2 as a double (10)% --- Executes during object creation, after setting all properties. (10)function edit2_CreateFcn(hObject, eventdata, handles) (10)% hObject handle to edit2 (see GCBO) (10)% eventdata reserved - to be defined in a future version of MATLAB (10)% handles empty - handles not created until after all CreateFcns called (10)% Hint: edit controls usually have a white background on Windows. (10)% See ISPC and COMPUTER. (10)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (10)set(hObject,'BackgroundColor','white'); (10)end (10)function edit3_Callback(hObject, eventdata, handles) (10)% hObject handle to edit3 (see GCBO) (10)% eventdata reserved - to be defined in a future version of MATLAB (10)% handles structure with handles and user data (see GUIDATA) (10)% Hints: get(hObject,'String') returns contents of edit3 as text (10)% str2double(get(hObject,'String')) returns contents of edit3 as a double (10)% --- Executes during object creation, after setting all properties. (10)function edit3_CreateFcn(hObject, eventdata, handles) (10)% hObject handle to edit3 (see GCBO) (10)% eventdata reserved - to be defined in a future version of MATLAB (10)% handles empty - handles not created until after all CreateFcns called (10)% Hint: edit controls usually have a white background on Windows. (10)% See ISPC and COMPUTER. (10)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (10)set(hObject,'BackgroundColor','white'); (10)end (10)function edit4_Callback(hObject, eventdata, handles) (11)% hObject handle to edit4 (see GCBO) (11)% eventdata reserved - to be defined in a future version of MATLAB (11)% handles structure with handles and user data (see GUIDATA) (11)% Hints: get(hObject,'String') returns contents of edit4 as text (11)% str2double(get(hObject,'String')) returns contents of edit4 as a double (11)% --- Executes during object creation, after setting all properties. (11)function edit4_CreateFcn(hObject, eventdata, handles) (11)% hObject handle to edit4 (see GCBO) (11)% eventdata reserved - to be defined in a future version of MATLAB (11)% handles empty - handles not created until after all CreateFcns called (11)% Hint: edit controls usually have a white background on Windows. (11)% See ISPC and COMPUTER. (11)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (11)set(hObject,'BackgroundColor','white'); (11)end (11)function edit5_Callback(hObject, eventdata, handles) (11)% hObject handle to edit5 (see GCBO) (11)% eventdata reserved - to be defined in a future version of MATLAB (11)% handles structure with handles and user data (see GUIDATA) (11)% Hints: get(hObject,'String') returns contents of edit5 as text (11)% str2double(get(hObject,'String')) returns contents of edit5 as a double (11)% --- Executes during object creation, after setting all properties. (11)function edit5_CreateFcn(hObject, eventdata, handles) (11)% hObject handle to edit5 (see GCBO) (11)% eventdata reserved - to be defined in a future version of MATLAB (11)% handles empty - handles not created until after all CreateFcns called (11)% Hint: edit controls usually have a white background on Windows. (11)% See ISPC and COMPUTER. (11)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (11)set(hObject,'BackgroundColor','white'); (12)end (12)function edit6_Callback(hObject, eventdata, handles) (12)% hObject handle to edit6 (see GCBO) (12)% eventdata reserved - to be defined in a future version of MATLAB (12)% handles structure with handles and user data (see GUIDATA) (12)% Hints: get(hObject,'String') returns contents of edit6 as text (12)% str2double(get(hObject,'String')) returns contents of edit6 as a double (12)% --- Executes during object creation, after setting all properties. (12)function edit6_CreateFcn(hObject, eventdata, handles) (12)% hObject handle to edit6 (see GCBO) (12)% eventdata reserved - to be defined in a future version of MATLAB (12)% handles empty - handles not created until after all CreateFcns called (12)% Hint: edit controls usually have a white background on Windows. (12)% See ISPC and COMPUTER. (12)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (12)set(hObject,'BackgroundColor','white'); (12)end (12)function edit7_Callback(hObject, eventdata, handles) (12)% hObject handle to edit7 (see GCBO) (12)% eventdata reserved - to be defined in a future version of MATLAB (12)% handles structure with handles and user data (see GUIDATA) (12)% Hints: get(hObject,'String') returns contents of edit7 as text (12)% str2double(get(hObject,'String')) returns contents of edit7 as a double (12)% --- Executes during object creation, after setting all properties. (12)function edit7_CreateFcn(hObject, eventdata, handles) (12)% hObject handle to edit7 (see GCBO) (12)% eventdata reserved - to be defined in a future version of MATLAB (12)% handles empty - handles not created until after all CreateFcns called (12)% Hint: edit controls usually have a white background on Windows. (12)% See ISPC and COMPUTER. (13)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) (13)set(hObject,'BackgroundColor','white'); (13)end (13)% --- Executes on button press in pushbutton2. (13)function pushbutton2_Callback(hObject, eventdata, handles) %直线单步插补 (13)% hObject handle to pushbutton2 (see GCBO) (13)% eventdata reserved - to be defined in a future version of MATLAB (13)% handles structure with handles and user data (see GUIDATA) (13)global x1 y1 x2 y2 L N x y Mx My Jvx Jrx1 Jrx2 Jrx3 Jvy Jry1 Jry2 Jry3 X Y; (13)if (get(handles.radiobutton1,'Value')==0)... . (13)&(get(handles.radiobutton2,'Value')==0)... . (13)&(get(handles.radiobutton3,'Value')==0) (13)set(handles.text11,'string','请选择插补方式'); (13)else (13)if (Mx<=0)&(My<=0) (13)set(handles.text11,'string','插补结束'); (13)else (13)Jrx1=Jvx+Jrx1; (13)Jry1=Jvy+Jry1; (13)Jrx2=Jvx+Jrx2; (13)Jry2=Jvy+Jry2; (13)Jrx3=Jvx+Jrx3; (13)Jry3=Jvy+Jry3; (13)if get(handles.radiobutton1,'Value')==1 %普通DDA (13)if (x1<=x2)&(y1<=y2) %转化后直线在第一象限 (13)if (Jrx1>=2^N) (13)Jrx1=Jrx1-2^N; (13)X=X+L; (13)x=linspace(X-L,X,100); (13)Mx=Mx-1; (13)else (13)x=zeros(1,100)+X; (13)end (13)if (Jry1>=2^N) (13)Jry1=Jry1-2^N; (13)y=linspace(Y-L,Y,100); (13)My=My-1; (13)else (13)y=zeros(1,100)+Y; (13)end (13)plot(x,y,'r'); (13)hold on; (14)elseif (x1>x2)&(y1<=y2) %转化后直线在第二象限 (14)if (Jrx1>=2^N) (14)Jrx1=Jrx1-2^N; (14)X=X-L; (14)x=linspace(X+L,X,100); (14)Mx=Mx-1; (14)else (14)x=zeros(1,100)+X; (14)end (14)if (Jry1>=2^N) (14)Jry1=Jry1-2^N; (14)Y=Y+L; (14)y=linspace(Y-L,Y,100); (14)My=My-1; (14)else (14)y=zeros(1,100)+Y; (14)end (14)plot(x,y,'r'); (14)hold on; (14)elseif (x1>x2)&(y1>y2) %转化后直线在第三象限 (14)if (Jrx1>=2^N) (14)Jrx1=Jrx1-2^N; (14)X=X-L; (14)x=linspace(X+L,X,100); (14)Mx=Mx-1; (14)else (14)x=zeros(1,100)+X; (14)end (14)if (Jry1>=2^N) (14)Jry1=Jry1-2^N; (14)Y=Y-L; (14)y=linspace(Y+L,Y,100); (14)My=My-1; (14)y=zeros(1,100)+Y; (14)end (14)plot(x,y,'r'); (14)hold on; (14)else %转化后直线在第四象限 (14)if (Jrx1>=2^N) (14)Jrx1=Jrx1-2^N; (14)X=X+L; (14)x=linspace(X-L,X,100); (14)Mx=Mx-1; (14)else (15)x=zeros(1,100)+X; (15)end (15)if (Jry1>=2^N) (15)Jry1=Jry1-2^N; (15)Y=Y-L; (15)y=linspace(Y+L,Y,100); (15)My=My-1; (15)else (15)y=zeros(1,100)+Y; (15)end (15)plot(x,y,'r'); (15)hold on; (15)end (15)elseif get(handles.radiobutton2,'Value')==1 %全加载 (15)if (x1<=x2)&(y1<=y2) (15)if (Jrx2>=2^N) (15)Jrx2=Jrx2-2^N; (15)X=X+L; (15)x=linspace(X-L,X,100); (15)else (15)x=zeros(1,100)+X; (15)end (15)if (Jry2>=2^N) (15)Jry2=Jry2-2^N; (15)Y=Y+L; (15)y=linspace(Y-L,Y,100); (15)My=My-1; (15)else (15)y=zeros(1,100)+Y; (15)end (15)plot(x,y,'r'); (15)hold on; (15)elseif (x1>x2)&(y1<=y2) (15)if (Jrx2>=2^N) (15)Jrx2=Jrx2-2^N; (15)X=X-L; (15)x=linspace(X+L,X,100); (15)Mx=Mx-1; (15)else (15)x=zeros(1,100)+X; (15)end (15)if (Jry2>=2^N) (15)Jry2=Jry2-2^N; (16)Y=Y+L; (16)y=linspace(Y-L,Y,100); (16)My=My-1; (16)else (16)y=zeros(1,100)+Y; (16)end (16)plot(x,y,'r'); (16)hold on; (16)elseif (x1>x2)&(y1>y2) (16)if (Jrx2>=2^N) (16)Jrx2=Jrx2-2^N; (16)X=X-L; (16)x=linspace(X+L,X,100); (16)Mx=Mx-1; (16)else (16)x=zeros(1,100)+X; (16)end (16)if (Jry2>=2^N) (16)Jry2=Jry2-2^N; (16)y=linspace(Y+L,Y,100); (16)My=My-1; (16)else (16)y=zeros(1,100)+Y; (16)end (16)plot(x,y,'r'); (16)hold on; (16)else (16)if (Jrx2>=2^N) (16)Jrx2=Jrx2-2^N; (16)X=X+L; (16)x=linspace(X-L,X,100); (16)Mx=Mx-1; (16)else (16)x=zeros(1,100)+X; (16)end (16)if (Jry2>=2^N) (16)Jry2=Jry2-2^N; (16)Y=Y-L; (16)y=linspace(Y+L,Y,100); (16)My=My-1; (16)else (16)y=zeros(1,100)+Y; (16)end (17)plot(x,y,'r'); (17)hold on; (17)end (17)else %半加载 (17)if (x1<=x2)&(y1<=y2) (17)if (Jrx3>=2^N) (17)Jrx3=Jrx3-2^N; (17)X=X+L; (17)x=linspace(X-L,X,100); (17)Mx=Mx-1; (17)else (17)x=zeros(1,100)+X; (17)end (17)if (Jry3>=2^N) (17)Jry3=Jry3-2^N; (17)Y=Y+L; (17)y=linspace(Y-L,Y,100); (17)My=My-1; (17)else (17)end (17)plot(x,y,'r'); (17)hold on; (17)elseif (x1>x2)&(y1<=y2) (17)if (Jrx3>=2^N) (17)Jrx3=Jrx3-2^N; (17)X=X-L; (17)x=linspace(X+L,X,100); (17)Mx=Mx-1; (17)else (17)x=zeros(1,100)+X; (17)end (17)if (Jry3>=2^N) (17)Jry3=Jry3-2^N; (17)Y=Y+L; (17)y=linspace(Y-L,Y,100); (17)My=My-1; (17)else (17)y=zeros(1,100)+Y; (17)end (17)plot(x,y,'r'); (17)hold on; (17)elseif (x1>x2)&(y1>y2) (17)if (Jrx3>=2^N) (18)Jrx3=Jrx3-2^N; (18)X=X-L; (18)x=linspace(X+L,X,100); (18)Mx=Mx-1; (18)else (18)x=zeros(1,100)+X; (18)end (18)if (Jry3>=2^N) (18)Jry3=Jry3-2^N; (18)Y=Y-L; (18)y=linspace(Y+L,Y,100); (18)My=My-1; (18)else (18)y=zeros(1,100)+Y; (18)end (18)plot(x,y,'r'); (18)hold on; (18)else (18)if (Jrx3>=2^N) (18)X=X+L; (18)x=linspace(X-L,X,100); (18)Mx=Mx-1; (18)else (18)x=zeros(1,100)+X; (18)end (18)if (Jry3>=2^N) (18)Jry3=Jry3-2^N; (18)Y=Y-L; (18)y=linspace(Y+L,Y,100); (18)My=My-1; (18)else (18)y=zeros(1,100)+Y; (18)end (18)plot(x,y,'r'); (18)hold on; (18)end (18)end (18)end (18)end (18)% --- Executes on button press in pushbutton3. (18)function pushbutton3_Callback(hObject, eventdata, handles) %直线连续插补 (19)% hObject handle to pushbutton3 (see GCBO) (19)% eventdata reserved - to be defined in a future version of MATLAB (19)% handles structure with handles and user data (see GUIDATA) (19)global x1 y1 x2 y2 L N x y Mx My Jvx Jrx1 Jrx2 Jrx3 Jvy Jry1 Jry2 Jry3 X Y; (19)if (get(handles.radiobutton1,'Value')==0)... . (19)&(get(handles.radiobutton2,'Value')==0)... . (19)&(get(handles.radiobutton3,'Value')==0) (19)set(handles.text11,'string','请选择插补方式'); (19)else (19)while (Mx>0)|(My>0) (19)Jrx1=Jvx+Jrx1; (19)Jry1=Jvy+Jry1; (19)Jrx2=Jvx+Jrx2; (19)Jry2=Jvy+Jry2; (19)Jrx3=Jvx+Jrx3; (19)Jry3=Jvy+Jry3; (19)if get(handles.radiobutton1,'Value')==1 (19)if (x1<=x2)&(y1<=y2) (19)if (Jrx1>=2^N) (19)Jrx1=Jrx1-2^N; (19)X=X+L; (19)Mx=Mx-1; (19)else (19)x=zeros(1,100)+X; (19)end (19)if (Jry1>=2^N) (19)Jry1=Jry1-2^N; (19)Y=Y+L; (19)y=linspace(Y-L,Y,100); (19)My=My-1; (19)else (19)y=zeros(1,100)+Y; (19)end (19)plot(x,y,'r'); (19)hold on; (19)pause(0.1); (19)elseif (x1>x2)&(y1<=y2) (19)if (Jrx1>=2^N) (19)Jrx1=Jrx1-2^N; (19)X=X-L; (19)x=linspace(X+L,X,100); (19)Mx=Mx-1; (19)else (20)x=zeros(1,100)+X; (20)end (20)if (Jry1>=2^N) (20)Jry1=Jry1-2^N; (20)Y=Y+L; (20)y=linspace(Y-L,Y,100); (20)My=My-1; (20)else (20)y=zeros(1,100)+Y; (20)end (20)plot(x,y,'r'); (20)hold on; (20)pause(0.1); (20)elseif (x1>x2)&(y1>y2) (20)if (Jrx1>=2^N) (20)Jrx1=Jrx1-2^N; (20)X=X-L; (20)x=linspace(X+L,X,100); (20)Mx=Mx-1; (20)else (20)x=zeros(1,100)+X; (20)if (Jry1>=2^N) (20)Jry1=Jry1-2^N; (20)Y=Y-L; (20)y=linspace(Y+L,Y,100); (20)My=My-1; (20)else (20)y=zeros(1,100)+Y; (20)end (20)plot(x,y,'r'); (20)hold on; (20)pause(0.1); (20)else (20)if (Jrx1>=2^N) (20)Jrx1=Jrx1-2^N; (20)X=X+L; (20)x=linspace(X-L,X,100); (20)Mx=Mx-1; (20)else (20)x=zeros(1,100)+X; (20)end (20)if (Jry1>=2^N) (20)Jry1=Jry1-2^N; (21)Y=Y-L; (21)y=linspace(Y+L,Y,100); (21)My=My-1; (21)else (21)y=zeros(1,100)+Y; (21)end (21)plot(x,y,'r'); (21)hold on; (21)pause(0.1); (21)end (21)elseif get(handles.radiobutton2,'Value')==1 (21)if (x1<=x2)&(y1<=y2) (21)if (Jrx2>=2^N) (21)Jrx2=Jrx2-2^N; (21)X=X+L; (21)x=linspace(X-L,X,100); (21)Mx=Mx-1; (21)else (21)x=zeros(1,100)+X; (21)end (21)if (Jry2>=2^N) (21)Y=Y+L; (21)y=linspace(Y-L,Y,100); (21)My=My-1; (21)else (21)y=zeros(1,100)+Y; (21)end (21)plot(x,y,'r'); (21)hold on; (21)pause(0.1); (21)elseif (x1>x2)&(y1<=y2) (21)if (Jrx2>=2^N) (21)Jrx2=Jrx2-2^N; (21)X=X-L; (21)x=linspace(X+L,X,100); (21)Mx=Mx-1; (21)else (21)x=zeros(1,100)+X; (21)end (21)if (Jry2>=2^N) (21)Jry2=Jry2-2^N; (21)Y=Y+L; (21)y=linspace(Y-L,Y,100); (22)My=My-1; (22)else (22)y=zeros(1,100)+Y; (22)end (22)plot(x,y,'r'); (22)hold on; (22)pause(0.1); (22)elseif (x1>x2)&(y1>y2) (22)if (Jrx2>=2^N) (22)Jrx2=Jrx2-2^N; (22)X=X-L; (22)x=linspace(X+L,X,100); (22)Mx=Mx-1; (22)else (22)x=zeros(1,100)+X; (22)end (22)if (Jry2>=2^N) (22)Jry2=Jry2-2^N; (22)Y=Y-L; (22)y=linspace(Y+L,Y,100); (22)My=My-1; (22)y=zeros(1,100)+Y; (22)end (22)plot(x,y,'r'); (22)hold on; (22)pause(0.1); (22)else (22)if (Jrx2>=2^N) (22)Jrx2=Jrx2-2^N; (22)X=X+L; (22)x=linspace(X-L,X,100); (22)Mx=Mx-1; (22)else (22)x=zeros(1,100)+X; (22)end (22)if (Jry2>=2^N) (22)Jry2=Jry2-2^N; (22)Y=Y-L; (22)y=linspace(Y+L,Y,100); (22)My=My-1; (22)else (22)y=zeros(1,100)+Y; (22)end (23)plot(x,y,'r'); (23)hold on; (23)pause(0.1); (23)end (23)else (23)if (x1<=x2)&(y1<=y2) (23)if (Jrx3>=2^N) (23)Jrx3=Jrx3-2^N; (23)X=X+L; (23)x=linspace(X-L,X,100); (23)Mx=Mx-1; (23)else (23)x=zeros(1,100)+X; (23)end (23)if (Jry3>=2^N) (23)Jry3=Jry3-2^N; (23)Y=Y+L; (23)y=linspace(Y-L,Y,100); (23)My=My-1; (23)else (23)y=zeros(1,100)+Y; (23)plot(x,y,'r'); (23)hold on; (23)pause(0.1); (23)elseif (x1>x2)&(y1<=y2) (23)if (Jrx3>=2^N) (23)Jrx3=Jrx3-2^N; (23)X=X-L; (23)x=linspace(X+L,X,100); (23)Mx=Mx-1; (23)else (23)x=zeros(1,100)+X; (23)end (23)if (Jry3>=2^N) (23)Jry3=Jry3-2^N; (23)Y=Y+L; (23)y=linspace(Y-L,Y,100); (23)My=My-1; (23)else (23)y=zeros(1,100)+Y; (23)end (23)plot(x,y,'r'); (23)hold on; (24)pause(0.1); (24)elseif (x1>x2)&(y1>y2) (24)if (Jrx3>=2^N) (24)Jrx3=Jrx3-2^N; (24)X=X-L; (24)x=linspace(X+L,X,100); (24)Mx=Mx-1; (24)else (24)x=zeros(1,100)+X; (24)end (24)if (Jry3>=2^N) (24)Jry3=Jry3-2^N; (24)Y=Y-L; (24)y=linspace(Y+L,Y,100); (24)My=My-1; (24)else (24)y=zeros(1,100)+Y; (24)end (24)plot(x,y,'r'); (24)hold on; (24)pause(0.1); (24)if (Jrx3>=2^N) (24)Jrx3=Jrx3-2^N; (24)X=X+L; (24)x=linspace(X-L,X,100); (24)Mx=Mx-1; (24)else (24)x=zeros(1,100)+X; (24)end (24)if (Jry3>=2^N) (24)Jry3=Jry3-2^N; (24)Y=Y-L; (24)y=linspace(Y+L,Y,100); (24)My=My-1; (24)else (24)y=zeros(1,100)+Y; (24)end (24)plot(x,y,'r'); (24)hold on; (24)pause(0.1); (24)end (24)end (24)end (25)set(handles.text11,'string','插补结束'); (25)end (25)% --- Executes on button press in pushbutton3. (25)function pushbutton4_Callback(hObject, eventdata, handles) %绘制圆弧 (25)% hObject handle to pushbutton3 (see GCBO) (25)% eventdata reserved - to be defined in a future version of MATLAB (25)% handles structure with handles and user data (see GUIDATA) (25)global x1 y1 x y r x2 y2 A x0 y0 M F X Y Mx My L a1 a2 a ; (25)x1=str2double(get(handles.edit1,'string')); (25)y1=str2double(get(handles.edit2,'string')); (25)x2=str2double(get(handles.edit3,'string')); (25)y2=str2double(get(handles.edit4,'string')); (25)r=str2double(get(handles.edit5,'string')); (25)L=str2double(get(handles.edit7,'string')); (25)A=sqrt(r^2-((x2-x1)^2+(y2-y1)^2)/4); %圆心到弦中点的长度 (25)if sqrt(((x2-x1)^2+(y2-y1)^2))>(2*r) (25)set(handles.text11,'string','无法构成圆弧'); (25)else (25)x0=(x1+x2)/2+A*(y1-y2)/sqrt((x2-x1)^2+(y2-y1)^2); %圆心坐标 (25)y0=(y1+y2)/2-A*(x1-x2)/sqrt((x2-x1)^2+(y2-y1)^2); (25)a1=atan((y1-y0)/(x1-x0)); (25)a2=atan((y2-y0)/(x2-x0)); (25)if (x1<x0&y1>y0) (25)a1=pi-abs(a1); (25)else (25)a1=a1; (25)end (25)if (x2<x0&y0<y2) (25)a2=pi-abs(a2); (25)elseif(x2<x0&y2<y0) (25)a2=pi+a2; (25)else (25)a2=a2; (25)end (25)a=a1:0.01:a2; (25)x=x0+r.*cos(a); (25)y=y0+r.*sin(a); (25)plot(x,y,'k'); (25)xmin=min([x,x0]); (25)xmax=max([x,x0]); (25)ymin=min([y,y0]); (25)ymax=max([y,y0]); (26)axis equal; (26)axis([xmin-L xmax+L ymin-L ymax+L]); %坐标轴边界 (26)hold on; (26)set(handles.text11,'string','画图完成'); (26)F=0; (26)X=x1; (26)Y=y1; (26)if(y1<=y0&x1>x0) (26)Mx=ceil((x1-x2)/L)+ceil(2*abs(x0+r-x1)/L); (26)elseif(x2<x0&y0>=y2) (26)Mx=ceil((x1-x2)/L)+ceil(2*abs(x2-x0+r)/L); (26)else (26)Mx=ceil((x1-x2)/L); (26)end (26)if (x2<x0&x0<x1) (26)My=ceil(abs(y0+r-y1)/L)+ceil(abs(y0+r-y2)/L); (26)else (26)My=ceil(abs(y1-y2)/L); (26)end (26)M=Mx+My; %计算插补步数 (26)end (26)% --- Executes on button press in pushbutton3. (26)function pushbutton5_Callback(hObject, eventdata, handles) (26)% hObject handle to pushbutton3 (see GCBO) (26)% eventdata reserved - to be defined in a future version of MATLAB (26)% handles structure with handles and user data (see GUIDATA) (26)global x y r x0 y0 M F X Y L; (26)if M<=0 (26)set(handles.text11,'string','插补结束!'); (26)else (26)if X>=x0 (26)if Y>=y0 %相对于圆心在第一象限内插补 (26)if F>=0 %圆外 (26)X=X-L; (26)x=linspace(X+L,X,100); (26)y=x.*0+Y; (26)plot(x,y,'r') (26)F=(X-x0)^2+(Y-y0)^2-r^2; (26)else %圆内 (26)Y=Y+L; (26)y=linspace(Y-L,Y,100); (26)x=y.*0+X; (26)plot(x,y,'r') (27)F=(X-x0)^2+(Y-y0)^2-r^2; (27)end (27)else %相对于圆心在第四象限内插补 (27)if F>=0 %圆外 (27)Y=Y+L; (27)y=linspace(Y-L,Y,100); (27)x=y.*0+X; (27)plot(x,y,'r'); (27)F=(X-x0)^2+(Y-y0)^2-r^2; (27)else %圆内 (27)X=X+L; (27)x=linspace(X-L,X,100); (27)y=x.*0+Y; (27)plot(x,y,'r'); (27)F=(X-x0)^2+(Y-y0)^2-r^2; (27)end (27)end (27)else (27)if Y>=y0; %第二象限 (27)if F>=0 %圆外 (27)Y=Y-L; (27)y=linspace(Y+L,Y,100); (27)x=y.*0+X; (27)F=(X-x0)^2+(Y-y0)^2-r^2; (27)else %圆内 (27)X=X-L; (27)x=linspace(X+L,X,100); (27)y=x.*0+Y; (27)plot(x,y,'r'); (27)F=(X-x0)^2+(Y-y0)^2-r^2; (27)end (27)else %第三象限 (27)if F>=0 %圆外 (27)X=X+L; (27)x=linspace(X-L,X,100); (27)y=x.*0+Y; (27)plot(x,y,'r'); (27)F=(X-x0)^2+(Y-y0)^2-r^2; (27)else %圆内 (27)Y=Y-L; (27)y=linspace(Y+L,Y,100); (27)x=y.*0+X; (27)plot(x,y,'r'); (28)F=(X-x0)^2+(Y-y0)^2-r^2; (28)end (28)end (28)end (28)M=M-1; (28)end (28)% --- Executes on button press in pushbutton6. (28)function pushbutton6_Callback(hObject, eventdata, handles) (28)% hObject handle to pushbutton6 (see GCBO) (28)% eventdata reserved - to be defined in a future version of MATLAB (28)% handles structure with handles and user data (see GUIDATA) (28)global x y r x0 y0 M F X Y L; (28)while M>0 (28)if X>=x0 (28)if Y>=y0 %相对于圆心在第一象限内插补 (28)if F>=0 %圆外 (28)X=X-L; (28)x=linspace(X+L,X,100); (28)y=x.*0+Y; (28)plot(x,y,'r') (28)F=(X-x0)^2+(Y-y0)^2-r^2; (28)else %圆内 (28)Y=Y+L; (28)。