694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc

上传人:laozhun 文档编号:3931075 上传时间:2023-03-28 格式:DOC 页数:34 大小:1.62MB
返回 下载 相关 举报
694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc_第1页
第1页 / 共34页
694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc_第2页
第2页 / 共34页
694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc_第3页
第3页 / 共34页
694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc_第4页
第4页 / 共34页
694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc》由会员分享,可在线阅读,更多相关《694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc(34页珍藏版)》请在三一办公上搜索。

1、课 程 设 计课程名称_ 数控技术课程设计 题目名称_非圆曲线逼近的算法实现 学生学院_ _专业班级_ _学 号 学生姓名_ _ _ _指导教师_ _年 月 日广东工业大学数控技术课程设计任务书题目名称数控中非圆曲线逼近的算法实现学生学院专业班级姓 名学 号一、课程设计的内容用计算机高级编程语言(如VB,VC+等)来实现非圆曲线的逼近,可任选(1)直线逼近(如等间距法、等弦长法、等误差法等)、或(2)圆弧逼近。要求在满足允许误差的前提下,使得逼近的直线段或圆弧段的数量最少(即最优解)。二、课程设计的要求与数据具体的要求如下:(1)列出一般的直线或圆弧逼近的算法(流程图)。(2)列出改进的直线或

2、圆弧逼近的算法(流程图)即优化算法。比较改进前与改进后的两种算法结果。(3)针对任意给定的某一由非圆曲线所构成的平面轮廓,根据指定的走刀方向、起刀点,自动生成CNC代码的生成。(4)在屏幕上显示该非圆曲线所构成的平面轮廓。三、课程设计应完成的工作每个学生应在规定时间内,独立完成所选题目。运用VB编程语言,编写计算机软件在WINDOWS实现数控装置的计算机仿真。要求清楚地分析问题、提出算法、确定人机界面、列出流程图,最后用程序验证,完成软件测试,并且提交程序说明书。对选择典型零件编程题目的学生,要求用编写计算机软件的方法解决数控过程的一个问题。可以任选用本人熟悉的一种编程语言,要求清楚地分析问题

3、、提出算法、列出流程图,最后用程序验证,并且提交程序说明书。四、课程设计进程安排序号设计各阶段内容地点起止日期11、布置任务,领取课程设计任务书,了解课程设计的目的、内容和要求;了解课程设计的步骤;2、理解本课程设计题目的具体内容要求,根据各自不同情况选择题目;教室第17周 第19周2了解和掌握有关软件开发的知识,如VB编程、VC编程、软件工程、软件开发的常用技巧及注意事项;3调查研究,收集资料,查阅文献。学生对所选题目进行论证及确定设计方案, 4掌握数控结构设计要求,具体技术指标和计算要求; 进行机械结构设计或者软件设计;5进行数控系统和算法的软件编程与开发,初步实现系统的基本功能6通过多个

4、实例来验证和改进系统功能,完善软件界面7对所开发的软件程序进行标识和说明8按要求的格式编制课程设计说明书9课程设计答辩五、应收集的资料及主要参考文献1机床设计手册第三分册2廖效果.数字控制机床.武汉:华中理工大学出版社.1992.93廖效果.数控技术. 武汉:湖北科学技术出版社.2000.74刘又午.数字控制机床.北京:机械工业出版社5龚浦泉.机床电气控制.重庆:重庆大学出版社6 谭浩强.Basic语言结构化程序设计教程.北京:中国科学技术出版社.19907 杨林,李继良. Visual Basic编程高手.北京:北京大学出版社.20008 一组专用凸轮的计算机辅助设计.机械工程师1998,(

5、4): p58-599 凸轮曲线的快速画法.机械工程师1998,(6): p22-2310 平面凸轮机构CAD系统的研究与开发.机械设计与制造2000,(5):p12-1311 圆柱非圆曲线槽凸轮的数控加工.制造技术与机床2000,(8):p3412 圆柱凸轮的参数化设计及数控加工.精密制造及自动化2001,11: p2813 参数化凸轮轮廓转换及NC代码自动生成.机床与液压2001,6, p2931发出任务书日期: 年 月 日 计划完成日期: 年 月 日 指导教师签名:基层教学单位责任人签章:主管院长签章:目 录一、概述11.1、摘要11.2、设计的目的和意义11.3、逼近算法的发展概况1二

6、、算法的设计思路及实现3 3.1、等间距法33.2、等弦长法63.3、等误差法8 3.4、伸缩步长法12三、算法优化的工作流程图14四、软件开发介绍184.1主界面介绍 184.2数控加工抛物线界面介绍 194.3数控加工椭圆曲线界面介绍 26五、设计总结 30六、参考文献30一、概 述1.1、摘要数控系统一般都只有直线和圆弧插补的功能,对于非圆曲线的轮廓,只有用到直线或圆弧去逼近它。这就要求我们对非圆曲线的逼近的数学处理要有一定的了解。而关键的是我们要知道什么是节点,如何求节点。非圆曲线的逼近方法可以分为直线逼近和圆弧逼近,每一种又可以有若干种方法求节点坐标。本设计是有关抛物线和椭圆曲线的逼

7、近,利用VB编程,用各种直线逼近方法得到最优的算法。,关键词:非圆曲线, 逼近, 等间距法, 等弦长法,等误差法,伸缩步长法1.2、设计的目的和意义数控机床课程设计是机电专业教学活动的一个重要的实践性环节,是对学生所学数控机床课程和其它有关课程知识和技能的一次综合性练习,旨在使之巩固、充实、系统化,并得到进一步扩展。课程设计是培养学生理论联系实际、解决生产实际问题的机会。通过对非圆曲线逼近编程的具体问题的解决,使学生对数控机床的结构原理、设计方法以及用编程方法处理实际问题的一般步骤和具体技巧得到训练,提高运用所学专业知识分析问题和解决问题的能力。CAD/CAM(计算机辅助设计/计算机辅助制造)

8、的能力和水平是一个国家自动化程度的标志之一。而曲线曲面造型技术则是CAD/CAM的基础,曲线曲面表示的精确度和造型灵活性是评定CAD系统功能强弱的重要因素。1.3、逼近算法的发展概况数控系统一般都只有直线和圆弧插补的功能,对于非圆曲线的轮廓,只有用到直线或圆弧去逼近它。这就要求我们对非圆曲线的逼近的数学处理要有一定的了解。节点,是非圆曲线的关键。节点就是逼近线段与非圆曲线的交点。一个已知曲线方程的节点数主要取决于所用逼近线段的形状(直线段还是圆弧段)、曲线方程的特性以及允许的逼近误差。早在数控技术出现以前,曲线的逼近就已经人们所认识和研究。1854年,德国的黎曼建立了更广泛的一类非欧几何学黎曼

9、几何学,并提出多维拓扑流形的概念。同年,俄国的车比雪夫开始建立函数逼近论,利用初等函数来逼近复杂的函数。再后来,美籍荷兰数学家路布劳威尔,发现不动点原理,后来又发现了维数定理、单纯形逼近法、使代数拓扑成为系统理论。二十世纪以来,由于电子计算机的应用,使函数逼近论有很大的发展,并广泛运用在数控技术当中。从逼近简单的规则的曲线到逼近复杂的非圆曲线,再到逼近列表曲线,为数控加工提供了可靠的加工方法。目前在国内外金属加工业中广泛使用的数控机床中,半闭环位置伺服系统是一种比较普遍采用的技术方案。半闭环位置伺服系统将机床本身的机械传动链排除在位置闭环之外,伺服系统的电气控制部分和执行机械相对独立,由于闭环

10、中非线性因素少,因此系统容易整定,可以方便地实现间隙补偿等,以提高位置控制精度。但是在逼近的运用的处理上,发达国家倚其雄厚的数控机床的基础,掌握着最高端的技术,在高级精密处理上有其独特的方法。而国内仍只能进行较为普通的处理,但是由于我国的后发优势,相信在不久的将来,中国将可以赶上并超越其它国家,甚至是大多数发达国家,成为名副其实的世界工厂。二、算法的设计思路及实现2.1、等间距法(1)基本原理等间距法是使一坐标的增量相等,然后求出曲线上相应的节点,将相邻节点连成直线,用这些直线段组成的折线代替原来的轮廓曲线。它计算简单,坐标增量可取大可取小,取得越小则加工精度越高,同时节点会增多,相应的编程也

11、会增加。如图3-1所示,沿X轴方向取等间距长,根据已知曲线的方程y=f(x),可由、求得、,即=f()、=+X、f()。如此求得一系列的点就是节点。由于要求曲线与相邻两节点连线间的法向距离小于允许的程序编制误差,X值不能任意设定。一般先取X0.1进行试算并校验曲线各段误差。图1 等间距逼近(2)误差校验的方法设需校验的曲线为mn,m点(),n点()已求出,则m,n两点的直线方程为: (1)令 A,B,C=则Ax+By=C即为过mn两点的直线方程,距mn直线为的等距线的直线方程可表示如下: (2)式中,当所求直线在mn上边时取“+”号,在mn下边时取“-”号。为与mn两直线间得距离。联立方程求解

12、(3)(4)求解时,的选择有两种办法,其一为取为未知,利用联立方程组求解只有唯一解的条件,可求出实际误差,然后用与进行比较,以便修改间距值;其二为取,若方程无解,则与无交点,表明。(3)基于数值分析方法的等间距算法设计如图31, M、N两点的直线方程为:Y= ()() (X)+ (5)令x=0,由此求得直线MN在y轴上的截距。设直线MN的方程为,其中斜K的值和MN的斜率相等,即K= ()(),联立方程组: Y=f(X) (6) (7)求当MN与曲线只有一个交点时的值。具体算法如下:以抛物线为例,抛物线方程为+bx+c,将代入抛物线,整理后,得到一个关于X的一元二次方程:a+(b-k)x+(c-

13、)=0 (8)因为MN与曲线只有一个交点,所以=0,即,整理可得,于是可以通过和值求出误差。如图3-1-1所示,在直角三角形中,有:=()cos (9)其中 (10)将求得的与相比较,若,则重新回到原点,缩短间距,进行校验。图2 求误差实际处理时,并非任意相邻两点间的误差都要验算,对于曲线曲率半径变化较少处,只需验算两节点间距离最长处的误差,而对曲线曲率半径变化较大处,应验算曲率半径较少处的误差,通常由轮廓图形直接观察确定校验的位置。如抛物线,针对对称线,结合允许误差可直接求得最大的节点间距。2.2、 等弦长法(1) 基本原理等弦长法就是使每个程序段的段长度相等。如图3-2,由于零件轮廓曲线的

14、曲率各处不等,因此首先求出该曲线的最少曲率半径,由及确定允许的步长,然后从曲线起点a开始,按等步长一次截取曲线,得b,c,d点,则ab=bc=即为所求各直线段。图3 等弦长逼近(2)计算步骤1、求最少曲率半径。设曲线为,则其曲率半径为: (11)取 (12)即 (13)根据依次求出,代入(13)求x,再将x代入式(12)即得。2、 确定允许长。以为半径作的圆弧,由几何关系可知 (14)3、求出曲线起点a的坐标,并以该点为圆心,以为半径,所得圆方程与曲线方程联立求解,可求得下一点b的坐标,再以点b为圆心进一步求得出c点,直到求出所有点。求解方法 (15) (16)(3)二分法实现等弦线逼近已知等

15、弦L,一条逼近的直线中,起点为(a,b),终点为(x,y),首先以x轴坐标加L,x=(x+L)后,求出比较求出两点间距离,K=sqr(x+L)-x)2+(-)2)比较K与L,当KL时,x=x-L/2,再将L与K进行比较,如K=sqr(x+L)-x)2+(-)2)L,则x=x+L/4,当KLx=x-L/4,如此循环下去,当实际弦长K大于理想弦长L时,K减去一个进给量,相反加上一个进给量,这个量是每进给一次减少一半,可以无限接近接近等弦长点,即x=,这是利用二分法原理实现。图4 二分法寻等弦长点但无论怎么样进给量减半,都无法完全与理想等弦长点,只能限制实际弦长与理想弦长的差,如L-K0.00001

16、。由于本程序是通过二分法求出最大等弦点,弦长为最大允许弦长,故实际弦长必须小于或等于理想弦长,否则插补有可能超出允许误差.所以0L-KDx ,就把此中间点作为下一插补点,坐标为(X1,Y1),绘出(X0,Y0)到(X1,Y1)的直线,并把(X1,Y1)作为下一条直线段的起点再次进行上边的计算,再与曲线端点位置进行比较,如果插补点在范围之外,则将端点设为(X1,Y1),结束编码,如此循环,可得到所有的节点,最后输出NC代码。曲线的起点为(x(i),y(i)),给定微小增量dx后,求的下一点坐标为(m,f(m)),其中m=x(i)+dx,y=f(m)任一点的切线斜率为,过点(m,f(m))的切线方

17、程为L1:y=kx+c, 由点到直线的距离公式,可以求得点(x(i),y(i)到切线的距离,当距离等于时,就可以求出切线斜率。过(x(i),y(i)点做斜率等于k的直线y=y(i)=k(x-x(i),求出该直线与曲线y=f(x)的交点即为下一个要求的节点。以抛物线方程为例,其斜率为k=2ax。过点(m, )的切线方程设为L2:y=2*x+c。由点到直线的距离公式 ,得到点(x(i),y(i)到切线L1的距离为: (21), 其中当a0时,c=y-2* = -然后通过D与允许误差的比较,不满足|D- |0.000001时,减少dx,重新计算,直到满足要求。此时可求得满足误差要求的切线斜率k,过(

18、x(i),y(i))作一斜率为k的直线L3:y-y(i)=k(x-x(i),联立方程(22)求得下一结点(x(i+1,y(i+1)) (23)再以此节点为起点,重复上一步骤,即可求得所有节点。2.4、伸缩步长法(1)介绍伸缩步长法是一种用直线逼近非圆曲线的方法。采用这种方法计算,数学模型简单,无需用计算机叠代法处理非线性方程组,也不必求曲线的曲率半径或计算曲线的切线方程,因此适合用于各种非圆曲线。特别是在进行计算机处理时,是依照给定的编程允许误差来确定节点的位置,每两个节点之间的步长不一定都相等,因此,相对于等间距法来说,方法比较灵活,所需的节点个数较少。(2) 计算的原理设给定的平面轮廓曲线

19、可用y=f(x)表达其函数关系,如图34所示。并给出曲线的起点,终点,节点计算的过程是从起点A开始进行的,在X方向上根据初定的步长S(一般取得较大一些),求出下一个节点B,根据初始给定的允许误差,慢慢地缩短步长,调整B点的位置,直到满足的条件为止,这样就确定了一个新的节点B。然后又以B点为起点,确定步长为计算AB时定的步长S的若干倍,得到一新的节点C。重复前面过程,不断缩短步长,直到C点也满足编程允许误差的要求。重复以上的步骤,就能求出所有节点的坐标数据。由于每计算一个新节点,先使步长伸长以增大误差,然后再不断缩短步长,使其进入编程允许误差的范围,所以名为伸缩步长法。下面就伸缩步长法做具体分析

20、。图7 伸缩步长法逼近首先求出起点A的坐标为,为求下一个节点B,沿X轴方向初定一个步长S使,则。用弦线联结AB两点,然后求弦线与曲线在A,B两点间的最大误差。为使计算机求解弦线与曲线间的误差方便,沿弦线方向按等分弦线的方法取若干个点,求出与之对应的误差值,并从中取最大值作为A,B间用直线段逼近曲线的最大误差。若这个最大的误差小于,则该点可被采纳,若其误差大于给定的误差,则应不断缩短步长,直到误差小于。假设图中M点是等分弦线后所求出的一点,则对于M点,就有一个误差与之对应,与之间具有一下关系,首先过M点作线段垂直于X轴,交曲线于N点,过N作,则 (24)式中 (25) (26)三、算法优化的工作

21、流程图3.1、等间距法算法流程图根据算法,用前一点算出后一点坐标,然后再比较实际误差与允许误差的大小,小于或等于则通过,大于则缩小间距。再由后一点算出下一点坐标,再比较误差,如此反复循环到结束。图8 等间距法逼近的计算流程图3.2、等弦长算法流程图根据算法原理,先确定该曲线的最小曲率半径,由及确定允许的步长,然后从曲线起点A开始,按等步长一次截取曲线,得B,C,D点,用直线段将各点按顺序连接起来,再输出CNC代码,如此循环,直到加工结束。其间要判断是否到达加工终点,若到达终点,则最后的节点为加工终点。图9 等弦长逼近的计算流程图3.3、等误差算法流程图从起点开始,横坐标增加一个微小步长Dx,得

22、出曲线上的点作为临时计算点,用起点到这点的切线的距离和误差m的大小进行比较,两者相差较大,则横坐标再增一个微小步长的临时节点,再比较起点到这点的切线的距离和误差m的大小,如此循环,直到两者非常接近为止。以相接近的点作为相对于起点的下一节点,用直线段连接起点和节点,输出CNC代码,再以此节点为起点用同样的方法来求下一节点,如此循环,直到加工结束。其间要判断是否到达加工终点,若到达终点,则最后的节点为加工终点。图10 等误差逼近的计算流程图3.4、伸缩步长法算法流程图计算机算法流程图如图4-4所示。其中初选步长S时,可取S等于5-10倍,系数用于缩短步长,可取0.80.99,系数用于伸长步长,应根

23、据曲线曲率变化规律等情况取13。框图中表示每次节点计算时的最大误差。即图3-4中不同M点时的最大。图11 伸缩步长法逼近的计算流程图四、软件开发介绍4.1、主界面介绍如图12所示,主界面给用户选择曲线类型,包括椭圆方程和抛物线方程两种非圆曲线可以选择。图12 数控加工主界面主要程序如下:Private Sub Form_Load() Print Print Print Spc(30); 机电工程学院 Print Print Spc(16); 08级机械设计制造及其自动化(微电子方向)1班 Print Print Spc(32); 张伟南 Print Print Spc(30); 3108000

24、634End Sub4.2、数控加工抛物线界面介绍如图13所示,数控抛物线界面给用户选择抛物线参数,各优化算法的步长,弦长,设定误差,加工方向,主轴转速,而后根据所选生成图像,CNC代码,以此比较直线插补的四种算法优劣性。图13 数控加工抛物线界面(1)功能设置第一步:在“抛物线方程”窗口中设定抛物线函数参数,如图14所示,以生成所要进行插补计算的曲线。图14 设置抛物线函数参数第二步:在“加工参数”窗口中设定加工参数,如图15所示,以生成CNC代码内容和置入各算法初始条件。图15 设置加工参数第三步:生成抛物线曲线,并单击各算法按钮,在文本框内生成相对应的CNC代码。如图16。.图16 生成

25、对应算法的CNC代码第四步:将四种算法逐一实现,然后在“结果对比”窗口中记录对应的直线段数,比较算法的优劣性。如图17图17 各算法结果比较第五步:保存代码,清屏,或继续设定下一组抛物线,或进入下一个用户窗口界面。(2)各主要VB程序段简介1、生成抛物线 Picture1.Cls Picture1.DrawWidth = 2 Picture1.DrawStyle = vbDash Picture1.Scale (-500, 50)-(500, -50) Picture1.Line (-500, 0)-(500, 0), RGB(255, 0, 0) Picture1.Line (0, -500

26、)-(0, 500), RGB(255, 0, 0) a = Val(Text1.Text) b = Val(Text2.Text) Picture1.DrawWidth = 1 Picture1.DrawStyle = vbSolid Picture1.CurrentX = 500 Picture1.CurrentY = Sqr(500 - b) / a) For step1 = 500 To b Step -0.05 Picture1.Line -(step1,Sqr(step1 - b) / a) 画上抛物线 Next Picture1.CurrentX = b Picture1.Cur

27、rentY = 0 For step1 = b To 500 Step 0.05 Picture1.Line -(step1, -Sqr(step1 - b) / a) 画下抛物线 Next2、等间距法d = Val(Text6.Text) x = 2 * Sqr(a * d) / a 参考前面介绍的等间距算法公式 If Combo2.Text = 顺时针 Then Text3.Text = N10 G92 X0 Y0 & vbCrLf & N20 G17 G90 G00 X500 Y & -Round(Sqr(500 - b) / a), 2) & M03 S & Combo1.Text &

28、 LF For j = -Sqr(500 - b) / a) To Sqr(500 - b) / a) Step x Y1 = j Y1 = Format(Y1, #.#) X1 = a * Y1 2 + bX1 = Format(X1, #.#)Text3.Text = Text3.Text & vbCrLf & N & (ii) * 10 & G01 X & X1 & Y & Y1 & LFPicture1.Line -(X1, Y1), vbBlueii = ii + 1Next jText3 = Text3 & vbCrLf & N & ii * 10 & G01 X500 Y & R

29、ound(Sqr(500 - b) / a), 2) & LFii = ii + 1Text3.Text = Text3 & vbCrLf & N & ii * 10 & G00 X0 Y0 M02 & LFText3.Text = Text3.Text & vbCrLf & %MsgBox 代码生成完毕, 49, 提示End If3、等弦长法Doi = 1DoY1 = y0 + i * Dxx0 = a * y0 2 + bX1 = a * Y1 2 + bLchang = Sqr(Y1 - y0) 2 + (X1 - x0) 2)i = i + 1Loop Until (Lxch - Lc

30、hang) = Sqr(500 - b) / a) Then 判断加工范围Y1 = Sqr(500 - b) / a)End IfX1 = a * Y1 2 + bx0 = X1y0 = Y1Picture1.Line -(X1, Y1), vbGreenDuan = Duan + 1Text3.Text = Text3.Text + N & 0 & (Duan + 3) & 0 & X & Format(X1, 000.00) & Y & Format(Y1, 000.00) & LF & vbCrLfLoop While Y1 -Sqr(500 - b) / a) And Y1 Sqr(5

31、00 - b) / a)4、等误差法If Combo2.Text = 顺时针 Then 顺和绝对F = 1n0 = 0y0 = -Sqr(500 - b) / a)x0 = a * y0 * y0 + bText3.Text = % & vbCrLf & G92 X0 Y0 & LF & vbCrLf Text3.Text = Text3.Text + N & 0 & 0 & 1 & G90 G17 G00 X & Format(x0, 000.00) & Y & Format(y0, 000.00) & LF & vbCrLfText3.Text = Text3.Text + N & 0 &

32、 0 & 2 & G01 & F & 500 & S & Combo1.Text & M03 & LFDon = 1Doy = y0 + n * Dxx = a * y * y + bk = 2 * a * yD0 = x - k * yd = Abs(k * y0 - x0 + D0) / Sqr(k * k + 1)n = n + 1Loop While d mn0 = n0 + 1D1 = x0 - k * y0Del = k * k - 4 * a * (b - D1)Y1 = (F * Sqr(Del) + k) / 2 / aIf Y1 Sqr(500 - b) / a) Then

33、 判断是否超出设定加工范围Y1 = Y1ElseY1 = Sqr(500 - b) / a)End IfX1 = a * Y1 2 + bn = 1Picture1.DrawWidth = 2Picture1.Line (x0, y0)-(X1, Y1), vbYellowText3.Text = Text3.Text & vbCrLf & N & Format(n0 + 2, 000) & G01 & X & Format(X1, 000.00) & Y & Format(Y1, 000.00) & LFx0 = X1y0 = Y1Loop While y0 error0 Thend = d

34、 - 0.00001 缩短步长i = i - 1m = y(i)Exit Ford = d * 1.0001 伸长步长End IfNext tLoop While error1 error0(3)算法比较根据数控加工抛物线软件得到如下表格:表格1 a=1,b=-300,抛物线不同误差下各算法比较允许误差(mm)0.010.030.050.10.2a=1,b=-300等间距法2871681319468a=1,b=-300等弦长法154122575756a=1,b=-300等误差法7040312216a=1,b=-300伸缩步长法2801581208056表格2 a=2,b=-100,抛物线不同误

35、差下各算法比较允许误差(mm)0.010.030.050.10.2a=2,b=-100等间距法2491461148259a=2,b=-100等弦长法8062413535a=2,b=-100等误差法5532251813a=2,b=-100伸缩步长法16894704426结论:用直线段逼近非圆曲线,目前常用的计算方法有等间距法、伸缩步长法、等弦长、等误差法等几种。用等误差直线逼近节点法求得的节点最合理,并且在保证误差的前提下,节点数量最少。也就是在保证非圆曲线零件制造精度的前提下,可以大大地缩短数控程序的长度。但由于它计算繁琐,故在实际运用中,很少使用这种方法。在运行本程序的时候,我们可发现虽然对

36、比等弦长法以及等误差法,伸缩步长法的段数较多,但计算最简单,运行程序是最快的,可迅速实现曲线插补,提高加工的精准性,快速性。4.3、数控加工椭圆曲线界面介绍如图18所示,数控椭圆曲线界面丰富了用户的需求,给予了曲线参数、加工参数,起刀点,逼近方向等选择,并根据用户的需求生成相对应的椭圆曲线以及等间距法,伸缩步长法的CNC 代码,以此比较两种算法的优劣性。图18 数控加工椭圆曲线界面(1)功能设置图19 置入数控加工椭圆曲线的参数第一步:在“椭圆曲线参数”窗口中设定椭圆的曲线参数,加工参数,起刀点,逼近方向。如图19所示。第二步,单击等间距法或伸缩步长法按钮,生成曲线以及CNC代码,如图20所示

37、。图20 生成各算法代码第三步,比较等间距法和伸缩步长法的逼近直线段数,并比较两者的反应时间,得出两者优劣。图21 比较算法优劣第四步:保存代码,清屏,或继续设定下一组椭圆曲线,或退出用户窗口界面。(2)各主要VB程序段简介1、等间距法i = 0 实际误差与允许误差的比较流程Do 等间距算法x = x / 2 缩短间距i = 0For t = x To a Step xi = i + 1x(i) = ty(i) = Sqr(a * a * b * b - b * b * t * t) / a / a)k = (y(i) - y(i - 1) / (x(i) - x(i - 1)b0 = y(i) - k * x

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号