找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 27498|回复: 24
打印 上一主题 下一主题

【转帖】数控加工理论与编程技术.doc

[复制链接]
跳转到指定楼层
1
发表于 2004-10-25 11:15:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
第一章、概述
第一节、数控机床的基本概念
1.1、数控机床分类
数控机床的种类、型号繁多,按机床的运动方式进行分类,现代数控机床可分为点位控制(Position Control)、二维轮廓控制(2D Contour Control)和三维轮廓控制(3D Contour Control)数控机床三大类。
点位控制数控机床的数控装置只能控制刀具从一个位置精确地移动到另一个位置,在移动过程中不作任何加工。这类机床有数控钻床、数控镗床、数控冲孔机床等。
二维轮廓控制数控机床的数控系统能同时对两个坐标轴进行连续轨迹控制,加工时不仅要控制刀具运动的起点和终点,而且要控制整个加工过程中的走刀路线和速度。二维轮廓控制数控机床也称为两坐标联动数控机床。
三维轮廓控制数控机床的数控系统能同时对三个或三个以上的坐标轴进行连续轨迹控制。三维轮廓控制数控机床又可进一步分为三坐标联动、四坐标联动和五坐标联动数控机床。
1.2、数控加工及数控编程
数控加工(NC Machining)——根据零件图样及工艺要求等原始条件编制零件数控加工程序(简称为数控程序),输入数控系统,控制数控机床中刀具与工件的相对运动,从而完成零件的加工。
数控程序(NC Program)——输入NC或CNC机床,执行一个确定的加工任务的一系列指令,称为数控程序或零件程序。
数控编程(NC Programming)——生成用数控机床进行零件加工的数控程序的过程,称为数控编程。
第二节、数控机床的坐标系统
数控机床的坐标系统,包括坐标系、坐标原点和运动方向,对于数控加工及编程,是一个十分重要的概念。每一个数控编程员和数控机床的操作者,都必须对数控机床的坐标系统有一个完整且正确的理解,否则,程序编制将发生混乱,操作时更会发生事故。
2.1、坐标系
数控机床的坐标系采用右手直角坐标系,其基本坐标轴为X、Y、Z直角坐标,相对于每个坐标轴的旋转运动坐标为A、B、C。
2.2、坐标轴及其运动方向
不论机床的具体结构是工件静止、刀具运动,还是工件运动、刀具静止,数控机床的坐标运动指的是刀具相对静止的工件坐标系的运动。
(由图1-5、1-6说明)ISO对数控机床的坐标轴及其运动方向均有一定的规定:Z轴定义为平行于机床主轴的坐标轴,如果机床有一系列主轴,则选尽可能垂直于工件装夹面的主要轴为Z轴,其正方向定义为从工作台到刀具夹持的方向,即刀具远离工作台的运动方向;X轴作为水平的,平行于工件装夹平面的坐标轴,它平行于主要的切削方向,且以此方向为主方向;Y轴的运动方向则根据X轴和Z轴按右手法则确定。旋转坐标轴A、B、C相应地在X、Y、Z坐标轴正方向上,按右手螺纹前进方向来确定。
2.3、坐标原点
机床原点——现代数控机床一般都有一个基准位置(set location),称为机床原点(machine origin 或home position)或机床绝对原点(machine absolute origin),是机床制造商设置在机床上的一个物理位置,其作用是使机床与控制系统同步,建立测量机床运动坐标的起始点。
机床参考点——与机床原点相对应的还有一个机床参考点(reference point),它也是机床上的一个固定点,一般不同于机床原点。一般来说,加工中心的参考点为机床的自动换刀位置。
程序原点——对于数控编程和数控加工来说,还有一个重要的原点就是程序原点(program origin),是编程人员在数控编程过程中定义在工件上的几何基准点,有时也称为工件原点(part origin)。程序原点一般用G92或G54~G59(对于数控镗铣床)和G50(对于数控车床)指定。
装夹原点——除了上述三个基本原点以外,有的机床还有一个重要的原点,即装夹原点(fixture origin)。装夹原点常见于带回转(或摆动)工作台的数控机床或加工中心,一般是机床工作台上的一个固定点,比如回转中心,与机床参考点的偏移量可通过测量存入CNC系统的原点偏移寄存器(origin offset register)中,供CNC系统原点偏移计算用。
2.4、原点偏移
(由图1-8说明)现代CNC系统一般都要求机床在回零操作,即使机床回到机床原点或机床参考点之后,通过手动或程序命令(比如G92X0 Y0 Z0)初始化控制系统后,才能启动。机床参考点和机床原点之间的偏移值存放在机床常数中。初始化控制系统是指设置机床运动坐标X,Y,Z,A,B等的显示为零。
对于程序员而言,一般只要知道工件上的程序原点就够了,与机床原点、机床参考点及装夹原点无关,也与所选用的数控机床型号无关。但对于机床操作者来说,必须十分清楚所选用的数控机床上上述各原点及其之间的偏移关系。数控机床的原点偏移,实质上是机床参考点向编程员定义在工件上的程序原点的偏移。
2.5、绝对坐标编程及增量坐标编程
数控系统的位置/运动控制指令可采用两种编程坐标系统进行编程,即绝对坐标编程(absolute programming)和增量坐标编程(incremental programming)。
绝对坐标编程——在程序中用G90指定,刀具运动过程中所有的刀具位置坐标是以一个固定的编程原点为基准给出的,即刀具运动的指令数值(刀具运动的位置坐标),与某一固定的编程原点之间的距离给出的。
增量坐标编程——在程序中用G91指定,刀具运动的指令数值是按刀具当前所在位置到下一个位置之间的增量给出的。
第三节、现代数控机床的刀具补偿
为了简化零件的数控加工编程,使数控程序与刀具形状和刀具尺寸尽量无关,CNC系统一般都具有刀具长度和刀具半径补偿功能。前者可使刀具垂直于走刀平面(比如XY平面,由G17指定)偏移一个刀具长度修正值;后者可使刀具中心轨迹在走刀平面内偏移零件轮廓一个刀具半径修正值,两者均是对二坐标数控加工情况下的刀具补偿。
在现代CNC系统中,有的已具备三维刀具半径补偿功能。对于四、五坐标联动数控加工,还不具备刀具半径补偿功能,必须在刀位计算时考虑刀具半径。刀具长度补偿也要视情况而定,一般而言,刀具长度补偿对于二坐标和三坐标联动数控加工是有效的,但对于刀具摆动的四、五坐标联动数控加工,刀具长度补偿则无效,在进行刀位计算时可以不考虑刀具长度,但后置处理计算过程中必须考虑刀具长度。
3.1、刀具长度补偿
刀具长度补偿可由数控机床操作者通过手动数据输入方式实现,也可通过程序命令方式实现,前者一般用于定长刀具的刀具长度补偿,后者则用于由于夹具高度、刀具长度、加工深度等的变化而需要对切削深度用刀具长度补偿的方法进行调整。
在现代CNC系统中,用MDI方式进行刀具长度补偿的过程是:机床操作者在完成零件装夹、程序原点设置之后,根据刀具长度测量基准采用对刀仪测量刀具长度,然后在相应的刀具长度偏置寄存器中,写入相应的刀具长度参数值。当程序运行时,数控系统根据刀具长度基准使刀具自动离开工件一个刀具长度距离,从而完成刀具长度补偿。
在加工过程中,为了控制切削深度,或进行试切加工,也经常使用刀具长度补偿。采用的方法是:加工之前在实际刀具长度上加上退刀长度,存入刀具长度偏置寄存器中,加工时使用同一把刀具,而调整加长后的刀具长度值,从而可以控制切削深度,而不用修正零件加工程序。
(由图1-11说明)程序命令方式由刀具长度补偿指令G43和G44实现:G43为刀具长度正补偿或离开工件补偿,G44为刀具长度负步长或趋向工件补偿。使用非零的Hnn代码选择正确的刀具长度偏置寄存器号,正补偿将刀具长度值加到指令的轴坐标位置,负补偿则将刀具长度值从指令的轴坐标位置减去。
值得进一步说明的是,数控编程员则应记住:零件数控加工程序假设的是刀尖(或刀心)相对于工件的运动,刀具长度补偿的实质是将刀具相对于工件的坐标由刀具长度基准点(或称刀具安装定位点)移到刀尖(或刀心)位置。
3.2、二维刀具半径补偿
对于铣削和车削数控加工,尽管二维刀具半径补偿的原理相同,但由于刀具形状和加工方法区别较大,刀具半径补偿方法仍有一定的区别。
⑴铣削加工刀具半径补偿
在二维轮廓数控铣削加工过程中,由于旋转刀具具有一定的刀具半径,刀具中心的运动轨迹并不等于所需加工零件的实际轮廓,而是偏移零件轮廓表面一个刀具半径值。如果之间采用刀心轨迹编程(cutter centerline programming),则需要根据零件的轮廓形状及刀具半径采用一定的计算方法计算刀具中心轨迹。因此,这一编程方法也称为对刀具的编程(programming the tool)。当刀具半径改变时,需要重新计算刀具中心轨迹;当计算量较大时,也容易产生计算错误。
数控系统的刀具半径补偿(cutter radius compensation)就是将计算刀具中心轨迹的过程交由CNC系统执行,编程员假设刀具半径为零,直接根据零件的轮廓形状进行编程,因此,这种编程方法也称为对零件的编程(programming the part),而实际的刀具半径则存放在一个可变成刀具半径偏置寄存器中。在加工过程中,CNC系统根据零件程序和刀具半径自动计算刀具中心轨迹,完成对零件的加工。当刀具半径发生变化时,不需要修改零件程序,只需修改存放在刀具半径偏置寄存器中的刀具半径值或者选用存放在另一个刀具半径寄存器中的刀具半径所对应的刀具即可。
(由图1-13说明)铣削加工刀具半径补偿分为刀具半径左补偿,用G41定义,和刀具半径右补偿,用G42定义,使用非零的Dnn代码选择正确的刀具半径偏置寄存器。根据ISO标准,当刀具中心轨迹沿前进方向位于零件轮廓右边时称为刀具半径右补偿;反之称为刀具半径左补偿;当不需要进行刀具半径补偿时,则用G40取消刀具半径补偿。
(由图1-14说明)在实际轮廓加工过程中,刀具半径补偿执行过程一般分为三步:
a、刀具半径补偿建立——刀具由起刀点以进给速度接近工件,刀具半径补偿偏置方向由G41(左补偿)或G42(右补偿)确定。
b、刀具半径补偿进行——一旦建立了刀具半径补偿状态,则一直维持该状态,直到取消刀具半径补偿为止。
c、刀具半径补偿取消——刀具撤离工件,回到退刀点,取消刀具半径补偿。
⑵车削加工刀尖半径补偿
对于车削数控加工,由于车刀的刀尖通常是一段半径很小的圆弧,而假设的刀尖点并不是刀刃圆弧上的一点,因此,在车削锥面、倒角或圆弧时,可能会切削不足或切削过量的现象。因此,当使用车刀来切削加工锥面时,必须将假设的刀尖点的路径作适当的修正,使之切削加工出来的工件能获得正确尺寸,这种修正方法称为刀尖半径补偿。
(由图1-17说明)与铣削加工刀具半径补偿一样,车削加工刀尖半径补偿也分为左补偿(G41指令)和右补偿(用G42指令)。与二维铣削加工方法一样,采用刀尖半径补偿时,刀具运动诡计指的不是刀尖,而是刀尖上刀刃圆弧的中心位置,这在程序原点设置时就需要考虑。
二维刀具半径补偿仅在指定的二维走刀平面内进行,走刀平面由G17(X-Y平面)、G18(Y-Z平面)和G19(Z-X平面)指定,刀具半径或刀刃半径值则通过调用相应的刀具半径偏置寄存器(用H或D指定)来取得。
现代CNC系统的二维刀具半径补偿不仅可以自动完成刀具中心轨迹的偏置,而且还能自动完成直线与直线转接、圆弧与圆弧转接和直线与圆弧转接等尖角过渡功能。
3.3、三维刀具半径补偿
⑴若干概念
加工表面上切触点坐标及单位矢量(由图1-18说明)
刀具类型及刀具参数(由图1-19说明)
刀具中心(由图1-19说明)
⑵三维刀具补偿原理(由图1-20、1-21、1-22说明)
设刀具与加工表面切触点 的坐标为 ,加工表面在 点的单位法矢向量为 ,对于环形刀 ,其刀心坐标为:
          
对于端铣刀 ,其刀心坐标为:
          
对于球形刀 ,其刀心坐标为:
          
需要注意的是:当 时,其刀心坐标为:
          
第四节、数控编程概述
4.1、数控编程的定义
生成用数控机床进行零件加工的数控程序的过程,称为数控空编程(NC programming),有时也称为零件编程(part programming)。
数控编程可以手工完成,即手工编程(manual programming),也可以由计算机辅助完成,即计算机辅助数控编程(computer aided NC programming)。采用计算机辅助数控编程需要一套专用的数控编程软件,现代数控编程软件主要分为以批处理命令方式为住的各种类型的APT语言和以CAD软件为基础的交互式CAD/CAM—NC编程集成系统。
4.2、数控编程的步骤
一般来说,数控编程过程主要包括:分析零件图样、工艺处理、数学处理、编写程序单、输入数控系统几程序检验。(由图1-23说明)
   
图1-23 数控编程过程
4.3、数控编程的方法
数控编程的分类方法有多种,大致可归纳为:
根据编程地点进行分类:办公室和车间;
根据变成计算机进行分类:CNC内部计算机,个人计算机(PC)或工作站;
根据变成软件进行分类:CNC内部编程软件,APT语言或CAD/CAM集成数控编程软件。
   
图1-24 数控编程的分类
⑴手工编程
是指编制零件数控加工程序的各个步骤,即从零件图样分析、工艺处理、确定加工路线和工艺参数、几何计算、编写零件的数控加工程序单直至程序的检验,均由人工来完成。
⑵APT语言自动编程
APT是一种自动编程工具(Automatically Programmed Tool)的简称,是一种对工件、刀具的几何形状及刀具相对于工件的运动等进行定义时所用的一种接近于英语的符号语言。把用APT语言书写的零件加工程序输入计算机,经计算机的APT语言编程系统编译产生刀位文件(CLDATA file),然后进行数控后置处理,生成数控系统能接受的零件数控加工程序的过程,称为APT语言自动编程。
⑶CAD/CAM集成系统数控编程
是以待加工零件CAD模型为基础的一种集加工工艺规划及数控编程为一体的自动编程方法。其中零件CAD模型的描述方法多种多样,适用于数控编程的主要有表面模型和实体模型,其中以表面模型在数控编程中应用较为广泛。
CAD/CAM集成系统数控编程的主要特点是零件的几何形状可在零件设计阶段采用CAD/CAM集成系统的几何设计模块在图形方式下进行定义、显示和修改,最终得到零件的几何模型。数控编程的一般过程包括刀具的定义或选择,刀具相对于零件表面的运动方式的定义,切削加工参数的确定,走刀轨迹的生成,加工过程的动态图形仿真显示、程序验证直到后置处理等,一般都是在屏幕菜单及命令驱动等图形交互方式下完成的,具有形象、直观和高效等优点。
第二章、手工编程
第一节、数控编程常用指令及其格式
1.1、程序段的一般格式
一个程序段中各指令的格式为:
N35 G01 X26.8 Y32. Z15.428 F152.
其中N35为程序段号,现代CNC系统中很多都不要求程序段号,即程度段号可有可无;G代码为准备功能;X、Y、Z为刀具运动的终点坐标位置;F为进给速度代码。在一个程度段中,可能出现的编码字符还有S、T、M、I、J、K、A、B、C、D、H、R等。
1.2、常用的编程指令
(1)准备功能指令
准备功能指令由字符G和其后的1~3位数字组成,常用的从G00~G99,很多现代CNC系统的准备功能已扩大到G150。准备功能的主要作用是指定机床的运动方式,为数控系统的插补运算作准备。常用的G指令如下:
a、坐标快速定位与插补指令
这是一组模态指令,即同时只能有一个有效,缺省为G00。
G00——坐标快速定位
G01——线性插补
G02、G03——圆弧插补
b、G17、G18、G19——坐标平面选择
c、G40、G41、G42——刀具半径补偿
d、G43、G44、G49——刀具长度补偿
e、G54~G59——选择程序原点1~6
f、G90、G91——绝对坐标及增量坐标编程
g、G92——设定工件坐标系
h、G73~G89——固定循环加工
(2)辅助功能指令
辅助功能指令亦称“M”指令,由字母M和其后的两位数字组成,从M00~M99共100种。这类指令主要是用于机床加工操作时的工艺性指令。常用的M指令有:
a、M00——程序停止
b、M01——计划程序停止
c、M02——程序结束
d、M03、M04、M05——分别为主轴顺时针旋转、主轴逆时针旋转及主轴停止
e、M06——换刀
f、M08——冷却液开
g、M09——冷却液关
h、M30——程序结束并返回
(3)其它常用功能指令
a、T功能——刀具功能
b、S功能——主轴速度功能
c、F功能——进给速度进给率功能
第二节、车削数控加工及其手工编程
2.1、普通数控车床的车削加工
普通数据控车床能完成端面、内外圆、倒角、锥面、球面及成形面、螺纹等的车削加工,主切削运动是工件的旋转,工件的成形则由刀具在ZX平面内的插补运动保证,如图所示。
数控车削加工与普通车削加工的工艺和刀具选择没有本质的区别。与普通车削加工不同的是,要保证车削加工精度,特别是锥面和成形表面的精度,需要准确测量车刀刀尖刀刃圆弧半径,并采用刀尖半径补偿(TNR)方法进行加工。
(1)坐标的取法及坐标指令  数控车床以径向为X轴,纵向为Z轴。从主轴箱指向尾架方向为+Z方向,而从尾架指向主轴箱方向为-Z轴,从主轴轴心线指向操作者方向为+X轴方向,如图所示。
(2)数控车削加工的程序原点  一般取工件装夹端面(定位面)的中心位置为程序原点,工件坐标系的坐标方向与车床坐标系一致,当工件装在车床上时,其程序原点与工件坐标素如图所示。一般来说,数控车床的参考点在Z坐标和X坐标的极限行程处,与机床原点一致,如图所示。对于数控车削加工中心,其参考点为换刀位置。当做,某些情况下,程序原点也可以取在工件轴心线上的其它位置,要根据工件的实际情况进行确定。
(3)X和Z坐标指令  在按绝对坐标编程时使用代码X和Z,按增量坐标编程时使用代码U和W。切削圆弧时,使用I和K表示圆心相对于圆弧起点的坐标值,I对应X轴,K对应Z轴。在一个零件的程序中或一个程序段中,可以按绝对坐标编程或增量坐标编程,也可用绝对坐标与增量坐标混合编程。
由于车削加工图样上的径向尺寸及测量的径向尺寸使用的是直径值,因此在数控车削加工的程序中输入的X及U坐标值也是“直径值”,即按绝对坐标编程时,X为直径值,按增量坐标编程时,U为径向实际位移值的二倍,交附上方向符号(正向省略)。
2.2、轴类零件数控车削加工及其编程举例
已知某立由的待加工零件图如图所示,要求精车所有外形(不包括螺纹),一次成形,不留加工余量。
(1)工艺分析
此零件的车削加工包括车端面、倒角、外圆、圆弧过渡面和切槽加工,而且要分两次,从零件装夹才能完成全部加工。
a、选择刀具  从零件图样来看,除切槽加工外,可以采用90°强力车刀(1#)进行所有车削加工,切槽加工采用3mm宽的切柄刀(2#),如图所示。
b、零件的安装方式  零件装夹于机床主由与尾架顶尖间,采用双顶鸡心夹方式定位。
c、工艺路线  第一次装增值完成右端的加工,其走刀过程为:首先车削外形,然后切槽加工,程序原点定为W点,其走刀路线和工艺尺寸如图所示。
第二闪装增值完成左端的加工,只需采用90°强力车刀进行外形加工,程序原点为O点,其走刀路线和工艺尺寸如图所示。
d、切削用量  车外圆主轴转速定了S630,进给速度为F140;车端面主轴速度定为S400,进给速度为F100;车倒角和圆弧过渡面主由速度定为S500,进给速度为F100;切槽时,主轴速度为S300,进给速度为F10。
(2)数控编程
由于该工件的外形既有倒角又有圆弧过渡面,90°强力车刀刀尖有R0.5mm的刀刃圆弧半径,为了保证车削工件的外形正确,需要采用刀尖半径补偿方法进行编程。假定90°强力车刀刀尖的起始位置为(300,214.5),其车削加工程序及程序说明如下:
2.3、盘类零件数控车削加工及其手工编程
已知某调节盘的待加工零件图样,其中两端面和中心孔已加工好,要求精车其它外形,一次成形,不留加工余量。
选择刀具——采用圆弧车刀和切槽刀;
零件安装方式——零件装夹于机床主轴与尾架顶尖间,采用专有心轴方式定位。
工艺路线——此工序为精车加工,其走刀过程是:首先车外形,后切槽,程序原点为W点,其走刀路线和工艺尺寸如图所示。
编程参数计算——计算求得图中的中点坐标为:
数控编程——此零件加工采用圆弧车刀,应用刀具半径补偿进行编程,其数控程序及程序说明如下:
2.4、带螺纹的轴类零件数控车削加工及其手工编程
如图所示为某立轴的零件图样,需进行精车加工,图中   不加工。选用具有直线—圆弧插补功能的数控车床加工该零件,编制精加工程序。
(1)工艺路线
a、先倒角→切削螺纹的实际外圆        →切削锥度部分→车削     外圆→倒角→车削    外圆→切削圆弧部分→车削    外圆
b、切槽
c、车螺纹
(2)选择刀具及画出刀具布置图  根据加工要求,选用三把刀具。I号刀车外圆,II号刀车螺纹。III号刀车螺纹。刀具布置如图所示。采用对刀仪对刀,螺纹刀尖相对于I号刀尖在Z向偏置15mm。
编程之前,应正确地选择换刀点,以便在换刀过程中,刀具与工件,机床和夹具不会碰撞。本例中,换刀点为A,如图所示。
(3)确定切削用量  车外圆,主轴转速为S630,进给速度为F150。切槽时,主轴转速为S315,进给速度为F10。切削螺纹时,主轴转速为S200,进给速度为F150。
(4)编写程序  确定O为工件坐标系的原点(参见图),并将A点(换刀点)作为程序的起点。该零件的加工程序及程序说明如下:
第三节、镗铣数控加工及其手工编程
3.1、镗铣数控加工中的基本工艺问题
(1)工件坐标系的确定及程序原点的设置——工件坐标系采用与机床运动坐标系一致的坐标方向,工件坐标系的原点(即程序原点)要选择便于测量或对刀的基准位置,同时要便于编程计算。
(2)安全高度——对于铣削加工,起刀点和退刀点必须离开加工零件上表面一个安全高度,保证刀具在停止状态时,不与加工零件和夹具发生碰撞。在安全高度位置时刀具中心(或刀尖)所在的平面也称为安全面,如图所示。
(3)进刀/退刀方式——对于铣削加工,刀具切入工件的方式,不仅影响加工质量,同时直接关系到加工的安全。对于二维轮廓加工,一般要求从侧向进刀或沿切线方向进刀,尽量避免垂直进刀,如图所示。退刀方式也应从侧向或切向退刀,刀具从安全面高度下降到切削高度时,应离开工件毛坏边缘一个距离,不能直接贴着加工零件理论轮廓直接下刀,以免发生危险,如图所示。下刀运动过程不工要用快速(G00)运动,而要用(G01)直线插补运动。
对于型腔的粗铣加工,一般应先钻一个工艺孔至型腔底面(留一定精加工余量),并扩孔,以便所使用的立铣刀能从工艺孔进行型腔粗加工。
(4)刀具半径补偿——二维轮廓加工,一般均采用刀具半径补偿。在刀具半径补偿有效之前,刀具应远离零件轮廓适当距离,且应与选定好的切入点和进刀当时协调,保证刀具半径补偿的有效。
(5)刀具半径确定——对于铣削加工,精加工刀具半径选择的主要依据是零件加工轮廓和加工轮廓凹处的最小曲率半径或圆弧半径,刀具半径应小于该最小曲率半径值。另外还要考虑刀具尺寸与零件尺寸的协调问题,即不要用一把很大的刀具加工一个很小的零件。对于粗加工,如果加工轮廓个别地方圆弧半径很小,可以考虑采用较大的刀具进行粗加工,但必须避免加工中的干涉。
3.2、点位数控加工及其编程
下面举例说明点位数控加工及其编程方法。
3.3、二维外形轮廓数控铣削加工及其编程
简单外形轮廓零件的数控铣削加工及其编程
  
简单凸轮的数控铣削加工及其编程举例
  
简单内轮廓及型腔的数控加工及其编程
  
简单连杆的数控加工及其编程
  
第四节、现代CNC系统中的高级编程方法
4.1、轮廓描述
  
4.2、车削加工循环
  
4.3、极坐标编程
  
4.4、孔加工循环
  
4.5、型腔加工循环
  
4.6、子程序
  
4.7、宏程序
  
4.8、镜像编程
  
4.9、旋转与缩放编程
  
第三章、二坐标数控加工刀具轨迹生成
第一节、概述
1.1、二坐标数控加工对象分类
二坐标数控加工对象包括以下几大类:
外形轮廓——平面上的外形轮廓分为内轮廓和外轮廓,其刀具中心轨迹为外形轮廓线的等距线。
二维型腔——二维型腔分为简单型腔和带岛型腔,其数控加工分为环切和行切良种切削加工方式。
孔——包括钻孔、镗孔和攻螺纹等操作,要求的几何信息仅为平面上的二维坐标点,至于孔的大小一般由刀具来保证。
二维字符——平面上的刻字加工也是一类典型的二坐标加工,按设计要求输入字符后,采用雕刻刀雕刻加工所设计的字符,其刀具轨迹一般就是字符轮廓轨迹,字符的线条宽度一般由雕刻刀刀尖直径来保证。
1.2、二坐标数控加工刀具半径补偿
刀具半径补偿将刀具中心轨迹向待加工零件轮廓指定的一侧偏移一个刀具半径值。
手工编程时,一般根据零件的外形轮廓采用G41或G42实现刀具半径补偿,刀具半径存放在一个刀具半径补偿寄存器中,由机床数控系统实现刀具半径补偿。采用计算机辅助数控编程,刀具半径补偿除了可由数控系统实现外,还可由数控编程系统实现,即根据给定的刀具半径值和待加工零件的外形轮廓,由数控编程系统计算出实际的刀具中心轨迹。
1.3、数控加工编程参数
采用计算机辅助数控编程,数控加工编程参数要预先给定。对于二维轮廓零件的数控加工编程,最基本的编程参数包括:
加工余量:即在加工表面上留出一定厚度的加工余量或精加工余量。
进给速度。
主轴转速。
安全面高度:开始启动主轴之前,刀具所在平面的高度。工件加工结束时,刀具将迅速抬起回到安全面高度;加工过程中需要抬刀分段切削加工时(如遇岛屿),刀具也先抬起到安全面高度。
进刀、退刀线——防止进刀/退刀过程出现碰撞、过切和飞边而采用的进刀/退刀轨迹。
第二节、外形轮廓铣削加工刀具轨迹生成
外形轮廓铣削数控加工的刀具轨迹是刀具沿着预先定义好的工件外形轮廓运动而生成的刀具路径。外形轮廓通常为二维轮廓,加工方式为二坐标加工。某些特殊情况下,也有三维轮廓需要加工。
2.1、外形轮廓的串联和有序化
对于二维外形轮廓的数控加工,要求外形轮廓曲线是连续和有序的,这在手工编程时是直接用数控加工程序来保证的,而采用计算机辅助数控编程,则必须用一定的数据结构和计算方法来保证。
分段有序曲线的数据结构——在二维外形轮廓中,曲线一般包括直线、圆弧和自由曲线。分段有序曲线要求前一段曲线的终点为下一段曲线的起点。
分段曲线的有序化串联——对于CAD生成的分段曲线,在确定好起刀点位置和刀具运动方向之后,首先对曲线进行有序化串联,生成分段有序曲线的数据结构。在串联操作过程中,系统程序要求对分段曲线是否连续进行判断,判断的方法很简单,就是判断前两段曲线的终点和起点时候相同,如果不是同一个点,则需要重新修改曲线。串联生成的曲线可以是封闭的,也可以是开放的。
2.2、定义进刀、退刀线
进刀/退刀线是为了防止过切、碰撞和飞边而设置的。
2.3、刀具轨迹基本参数的定义
对于一个外形轮廓的加工,可以分为粗加工和精加工等多个加工工序。最简单的粗精加工刀具轨迹生成方法可通过刀具半径补偿途径来实现,即在采用同一刀具的情况下,通过改变刀具半径补偿控制寄存器中的刀具半径值的方式进行粗精加工刀具轨迹规划。另外,也可以通过设置粗精加工次数及步进距离来规划粗精加工刀具轨迹。后者将粗精加工在同一个程序中完成。
第三节、二维型腔数控加工刀具轨迹生成
二维型腔是指以平面封闭轮廓为边界的平底直壁凹坑。二维型腔加工的一般过程是:沿轮廓边界留出精加工余量,先用平底端铣刀用环切或行切法走刀,铣去型腔的多余材料,最后沿型腔底面和轮廓走刀,精铣型腔底面和边界外形。当型腔较深时,则要分层进行粗加工,这时还需要定义每一层粗加工的深度以及型腔的实际深度,以便计算需要分多少层进行粗加工。
3.1、行切法加工刀具轨迹生成
这种加工方法的刀具轨迹计算比较简单,其基本过程是:首先确定走刀路线的角度(与X轴的夹角),然后根据刀具半径及加工要求确定走刀步距,接着根据平面型腔边界轮廓外形(包括岛屿的外形)、刀具半径和精加工余量计算各切削行的刀具轨迹,最后将各行刀具轨迹线段有序连接起来,连接的方式可以是单向,也可以是双向,根据工艺要求而定。单向连接因换刀需要抬刀,遇到岛屿时也需要抬刀。计算过程中对于有岛屿的刀具轨迹线段连接,需要采用以下计算步骤:
(1)平面型腔边界(含岛屿的边界)轮廓的串联和有序化:身成封闭的边界轮廓。
(2)边界(含岛屿的边界)轮廓等距线的生成:该等距线距离边界轮廓的距离为精加工余量与刀具半径之和。
(3)行切加工各行刀具轨迹计算:
(4)刀具轨迹线段的有序串联;
(5)沿型腔和岛屿的等距线运动,生成最后一条刀具轨迹。
3.2、环切法加工刀具轨迹生成
环切法加工一般是沿型腔边界走等距线,刀具轨迹的计算相对比较复杂,其优点是铣刀的切削方式不变(顺铣或逆铣)。环切法加工分为由内至外环切和由外至内环切。
平面型腔的环切法加工刀具轨迹的计算在一定意义上可以归纳为平面封闭轮廓曲线的等距线计算。目前应用较为广泛的一种等距线计算方法是直接偏置法,其算法步骤如下:
(1)按一定的偏置距离对封闭轮廓曲线的每一条边界曲线分别计算等距线;
(2)对各条等距线进行必要的裁剪或延拓,连接形成封闭曲线。
(3)处理等距线的自相交,并进行有效性测试,判断时候和岛屿、边界轮廓曲线干涉,去掉多余环,得到基于上述偏置距离的封闭等距线。
(4)重复上述过程,直到遍历完所有待加工区域。
这种算法可以处理边界为任意曲线的封闭轮廓,其不足之处是必须对各段偏置曲线的连接处进行复杂的处理,去掉偏置过程中产生的多余环,进行大量的有效性测试以避免干涉,算法效率布告,而且在某些情况下多余环的判断处理是相当困难的。
现代比较先进的环切加工刀具轨迹计算方法是将待加工区域分成若干个子区域,每个子区域均可用大刀具进行粗加工,最后用小刀具进行精加工成形。Voronoi图是一种有效的环切加工子区域划分方法,其核心思想是每个子区域内的所有点距封闭轮廓曲线的某一段(直线或圆弧)轮廓边最近,当子区域划分结束后,在每个子区域内构造对应轮廓边的等距线,可以保证作出的等距线相互正确衔接,避免了不同等距线之间的求交、干涉检查和裁剪处理等。
3.3、基于Voronoi图的型腔环切加工刀具轨迹生成
(1)Voronoi图
构成多边形的每一条直线段或圆弧称为边界元素,元素e的Voronoi区是到e比到其它元素距离小的点的集合,两个元素Voronoi区的公共边称为Voronoi边,它上面的点到两个边界元素的距离相等,所以也称为平分线,两个边界元素称为平分线的定义元素。遇到凸角时,分别作两相邻边的垂线作为Voronoi边。Voronoi边表示为参数形式,以Voronoi边上的点到边界元素的距离作为参数。Voronoi边的两个端点中,到边界距离较小的点,也就是对应于Voronoi边参数区域下界的点,称为Voronoi边的尾;到边界距离较大的点,也就是对应于Voronoi边参数区域上界的点,称为Voronoi边的头。
Voronoi边的交点称为Voronoi节点。一个Voronoi节点至少与两条Voronoi边相连。如果一个Voronoi节点是一条Voronoi边的头,则称该Voronoi边为这个Voronoi节点的入边;反之,该Voronoi边是这个Voronoi边的出边。
平面多边形的Voronoi图就是将多边形的内部区域划分为各个边界元素Voronoi区。
(2)基于Voronoi图的型腔环切加工刀具轨迹生成
当一个型腔区域的Voronoi图生成之后,就可以着手生成刀具轨迹,方法是:从一个边界元素的Voronoi区开始,按给定的偏置距离d计算该边界元素的等距线,该等距线与该Voronoi区的两条Voronoi边相交,对应的两条Voronoi边的交点的参数均为d,两个交点之间的等距线即为一段刀具路径。遍历型腔所有的边界元素,并将参数为d的所有等距线在Voronoi边的交点处连接起来,当遍历过程回到起始边界元素时,即形成一条封闭的刀具轨迹。然后减小偏置距离d,重复上述过程,可以生成彝族封闭的刀具轨迹。
第四节、二维字符数控加工刀具轨迹生成
平面上的字符雕刻是一种常见的切削加工,其数控雕刻加工刀具轨迹生成方法依赖于所要雕刻加工的字符。
原则上讲,字符雕刻加工刀具轨迹采用外形轮廓铣削加工方法沿着字符轮廓生成。对于线条型字符和斜体字符,直接利用字符轮廓生成字符雕刻加工刀具轨迹,同一字符不同笔划间和不同字符间采用抬刀——移位——下刀的方法将分段刀具轨迹连接起来。这种刀具轨迹不考虑刀具半径补偿,字符线条的宽度直接由刀尖直径确定。
对于有一定线条宽度的方块字符和罗马字符,则要采用外形轮廓铣削加工方式生成刀具轨迹,这时刀尖直径一般小于线条宽度。如果线条特别宽,而又不能用大刀具,则要采用二维型腔铣削加工方式生成刀具轨迹。
第四章、多坐标数控加工刀具轨迹生成
第一节、概述
1.1、多坐标数控加工的加工对象
多坐标数控加工可以解决任何复杂曲面零件的加工问题。根据零件的形状特征进行分类,可以归纳为如下几种加工对象(或加工特征):
多坐标点位加工。
空间曲线加工。
曲面区域加工。
组合曲面加工。
曲面交线区域加工。
曲面间过渡区域加工。
裁剪曲面加工。
复杂多曲面加工。
曲面型腔加工。
曲面通道加工。
1.2、刀具轨迹生成方法
一种较好的刀具轨迹生成方法,不仅应该满足计算速度快、占用计算机内存少的要求,更重要的是要满足切削行距分布均匀、加工误差小且分布均匀、走刀步长分布合理、加工效率高等要求。
目前,比较常用的刀具轨迹生成方法主要有如下几种:
(1)参数线法——适用于曲面区域和组合曲面的加工编程;
(2)截平面法——适用于曲面区域、组合曲面、复杂多曲面和曲面型腔的加工编程;
(3)回转截面法——适用于曲面区域、组合曲面、复杂多曲面和曲面型腔的加工编程。
(4)投影法——适用于有干涉面存在的复杂多曲面和曲面型腔的加工编程。
(5)三坐标球形刀多面体曲面加工方法——适用于三角域曲面和三乱数据描述的曲面加工编程。
1.3、与刀具轨迹生成有关的几个基本概念
(1)切触点(cutting contact point)
指刀具在加工过程中与被加工零件曲面的理论接触点。对于曲面加工,不论采用什么刀具,从几何学的角度来看,刀具与加工曲面的接触关系均为接触。
(2)切除点曲线(cutting contact curve)
指刀具在加工过程中由切触点构成的曲线。切触点曲线是生成刀具轨迹的基本要素,既可以显式地定义在加工曲面上,如曲面的等参数线、二曲面的交线等,也可以隐式定义,使其满足一些约束条件,如约束刀具沿导动线运动,而导动线的投影可以定义刀具在加工曲面上的切触点,还可以定义刀具中心轨迹,切触点曲线由刀具中心轨迹隐式定义。这就是说,切除点曲线可以是曲面上实在的曲线,也可以是对切触点的约束条件所隐含的“虚拟”曲线。
(3)刀位点数据(cutter location data,简称为CLData)
指准确确定刀具在加工过程中的每一位置所需的数据。一般来说,刀具在工件坐标系中的准确位置可以用刀具中心点和刀轴矢量来进行描述,其中刀具中心点可以是刀心点,也可以是刀尖点,视具体情况而定。
(4)刀具轨迹曲线
指在加工过程中由刀位点构成的曲线,即曲线上的每一点包含一个刀轴矢量。刀具轨迹曲线一般由切触点曲线定义刀具偏置计算得到,计算结束存放于刀位文件(CLData file)之中。
(5)导动规则
指曲面上切触点曲线的生成方法(如参数线法、截平面法)及一些有关加工精度的参数,如步长、行距、两切削行间的残余高度、曲面加工的盈余容差(out tolerance)和过切容差(inner tolerance)等。
(6)刀具偏置(tool offset)
指由切触点生成刀位点的计算过程。
1.4、曲面加工刀具轨迹生成计算过程
由以上定义,可以将曲面加工刀具轨迹的计算过程简略地表述为:给出一张或多张待加工曲面(零件面),按导动规则约束生成切触点曲线,由切触点曲线按某种刀具偏置计算方法生成刀具轨迹曲线。由于一般的数控系统有线性、圆弧等少数几种插补功能,所以一般需将切除点曲线和刀具轨迹曲线按点串方式给出,并保证加工精度。
在个别情况下也有例外,如用球形刀三坐标加工比较光顺的曲面时,可以直接根据曲面计算得到其等距面,刀具轨迹曲线完全由等距面确定。这时切触点曲线的定义和刀具偏置计算融合在等距面的构造过程中,导动规则约束了等距面的离散,即刀位点的生成过程。
第二节、参数线法
曲面参数线加工方法是多坐标数控加工中生成刀具轨迹的主要方法,特点是切削行沿曲面的参数线分布,即切削行沿u线或v线分布,适用于网格比较规整的参数曲面的加工。
基于曲面参数线加工的刀具轨迹计算方法的基本思想是利用Bezier曲线曲面的细分特性,将加工表面沿参数线方向进行细分,生成的点位作为加工时刀具与曲面的切触点。因此,曲面参数线加工方法也称为Bezier曲线离散算法。
Bezier曲线离散算法按照离散方式可分为四叉离散算法和二叉离散算法。由于前者占用的存储空间大,因此在刀具轨迹的计算中一般采用二叉离散算法。
在加工中,刀具的运动分为切削行的走刀和切削行的进给两种运动。刀具沿切削行走刀是所覆盖的一个带状曲面区域,称为加工带。二叉离散过程首先沿切削行的行进给方向对曲面进行离散,得到加工带,然后在加工带上沿走刀方向对加工带进行离散,得到切削行。
二叉离散算法要求确定一个参数线方向为走刀方向,假定为u参数曲线方向,相应的另一参数曲线v方向即为沿切削行的行进给方向,然后根据允许的残余高度计算加工带的宽度;并以此为基础,根据v参数曲线的弧长计算刀具沿v参数曲线的走刀次数(即加工带的数量);加工带在v参数曲线方向上按等参数步长(或局部按等参数步长)分布。球形刀与环行刀加工带宽的计算方法不同。
基于参数线加工的刀具轨迹计算方法有多种,比较成熟的有等参数步长法、参数筛选法、局部等参数步长法、参数线的差分算法及参数线的对分算法等。
2.1、等参数步长法
最简单的曲线离散算法是等参数步长法,即在整条参数线上按等参数步长计算点位。参数步长和曲面加工误差没有一定关系,为了满足加工精度,通常步长的取值偏于保守且凭经验。这样计算的点位信息比较多。由于点位信息按等参数步长计算,没有用曲面的曲率来估计步长,因此,等参数步长法没有考虑曲面的局部平坦性。但这种方法计算简单,速度快,在刀位计算中常被采用。
2.2、参数筛选法
按等参数步长法计算离散点列,步长取值使离散点足够密,然后按曲面的曲率半径、加工误差从离散点列中筛选出点位信息。
参数筛选法克服了等参数步长的缺点,但计算速度稍慢一些。这个方法的优点是计算的点位信息比较合理且具有一定的通用性。
2.3、局部等参数步长法
在实际应用中,也常采用局部等参数步长离散算法:即加工带在v参数曲线方向上按局部等参数步长(曲面片内)分布;在走刀路线上,走刀步长根据容差进行计算,方法是在每一段u参数曲线上,按最大曲率估计步长,然后按等参数步长进行离散。采用局部等参数步长离散算法来求刀位点,不仅考虑了曲率的变化对走刀步长的影响,而且计算方法也比较简单。
(1)局部最小走刀步长估计
走刀步长的计算依据是控制加工误差的大小,加工精度要求越高,走刀步长越小,编程速度和加工效率越低。因此,在满足加工精度要求的前提下,尽量加大走刀步长,提高编程速度和加工效率。经验表明,局部最小走刀步长估计可用直线逼近误差作为控制误差的依据。
(2)离散点数估计
从上述描述可知,在每一段走刀参数曲线上,离散点数可按下述方法进行估计:N=S/L。
局部等参数步长二叉离散算法计算速度较快、省空间,但要用到堆栈,多片拼接时,堆栈也很大,控制不灵活。无论u向或v向,离散只能在原曲面片内进行,不能跨越曲面边界或整个曲面片,故刀位点也较多,这在一定程度上增加了后续处理的计算量。
2.4、参数线的差分算法
对于走刀路线上的一批等参数步长离散点的位置,采用向前差分方法将大大加快计算速度。
(1)求u线方程
(2)计算插值点的差分公式
参数线的差分算法是效率较高的局部等参数步长离散算法,在参数曲面加工的刀具轨迹计算中应用较为广泛。
2.5、参数线的对分算法
参数线的对分算法是曲线离散算法的一种,即在曲线离散算法中,在曲线段参数的中点将曲线离散一次,得到两个曲线段。参数线的对分算法适用于刀具诡计的局部加密(在刀具轨迹的交互编辑中可用到)。
2.6、曲面参数线加工算法的优缺点
参数线加工算法是各种曲面零件数控加工编程系统中生成切削行刀具轨迹的主要方法,优点是刀具轨迹计算方法简单,计算速度快;不足之处是当加工曲面的参数线分布不均匀时,切削行刀具轨迹的分布也不均匀,加工效率也不高。
第三节、截面线法
3.1、截平面法加工的基本思想
截平面法加工的基本思想是指采用一组平面去截取加工表面,截出一系列交线,刀具与加工表面的切触点就沿着这些交线运动,完成曲面的加工。该方法使刀具与曲面的切触点轨迹在同一平面上。
截平面可以定义为一组平行的平面,也可以定义为一组绕某直线旋转的平面。一般来说,截平面平行于刀具轴线,即与Z坐标轴平行。平行截面与X轴的夹角可以为任意角度。
截平面法一般采用球形刀加工曲面,一些特殊情况下也可以采用环行刀或平底刀。对于采用球形刀加工曲面,由于刀心实际上是在加工表面的等距面上运动。因此,截平面法加工曲面也可以采用构造等距面的方法,使刀具沿截平面与加工表面等距面的交线运动,完成曲面的加工。
需要指出的是,刀具沿截平面与加工表面的交线运动一般为三轴联动运动方式,这是因为尽管刀具与加工表面的切触点在同一截平面内,但由于在截交线上的曲面法矢的转动,刀心一般并不在同一截平面内;刀具沿截平面与加工表面等距面的交线运动为二轴联动运动方式,刀具与加工表面的切触点一般不在同一截平面内,但偏离截面不太远。
对于曲面区域和组合曲面的加工,无论采用何种截平面法均可,不过采用刀具沿截平面与加工表面的交线运动加工效果要好一些,这是因为刀具与加工表面的切触点被限制在同一截平面内。对于复杂曲面及曲面型腔的加工,采用截平面与加工表面等距面的求交生成刀具轨迹计算方法要简单得多,这是因为:当两曲面相交时,截平面与两加工表面的交线在同一截平面内,而两条刀心轨迹是两条空间曲线,并不在同一截平面内,一般情况下不相交,这样在曲面相交处的刀位点计算很困难。采用截平面与加工表面等距面的交线作为刀具轨迹,这个问题便不存在,当然,这时需要解决加工表面等距面的生成问题。
另外,假如所选用的数控机床为三轴二联动机床,则必须采用截平面与加工表面等距面的交线作为刀具轨迹,以适应机床坐标运动的要求。
截平面法对于曲面网格分布不太均匀及由多个曲面形成的组合曲面的加工非常有效,这是因为刀具与加工表面的切触点在同一平面上,从而使加工轨迹分布相对比较均匀内,加工效率也比较高。
3.2、截平面的选择
截平面法加工中最常用的截平面为平行于XZ平面或YZ平面的一组平行平面,有的情况下也采用与X轴成一定角度的一组平行平面作为截平面。对于具有较为平坦曲面的组合曲面的加工,采用斜截平面法加工,效果比较好。在一些特殊情况下也可以采用一组绕Z轴旋转的平面作为截平面。
3.3、等距曲面的生成
对于雕塑曲面。目前还没有比较好的等距面表示方法。在数控编程系统中,一般都先将加工表面在一定的精度控制下进行离散,求出加工表面上所有离散点的等距点,再采用一定的数学方法将这些等距点拟合成等距曲面,或直接用等距点网格代替等距面。
3.4、截平面与加工表面等距面求交(刀具轨迹生成)
顺序取一截平面S;
求S与加工表面等距面的交线;
在同一截面内求交线之间的交点,并对交线轨迹进行裁剪;
采用参数筛选法或参数线差分算法生成轨迹。
第四节、回转截面法
回转截面法加工的基本思想是指采用一组回转圆柱面去截取加工表面,截出一系列交线,刀具与加工表面的切触点就沿着这些交线运动,完成曲面的加工。一般情况下,作为截面的回转圆柱面的轴心线平行于Z坐标轴。
该方法要求首先建立一个回转中心,接着建立一组回转截面,并求出所有的回转截面与待加工表面的交线,然后对这些交线根据刀具运动方式进行串联,形成一条完整的刀具轨迹。其主要难点是回转截面与加工表面的求交。
回转截面法加工可以从中心向外扩展,也可以由边缘向中心靠拢。
第五节、投影法
投影法加工的基本思想是使刀具沿一组事先定义好的导动曲线运动,同时跟踪待加工表面的形状。导动曲线在待加工表面上的投影一般为切触点轨迹,也可以是刀尖点轨迹。切触点轨迹适合于曲面特征的加工,而对于有干涉面的场合,限制刀心点更为有效。由于待加工表面上每一点的法矢均不相同,因此限制切触点轨迹不能保证刀尖轨迹落在投影方向上,所以限制刀尖容易控制刀具的准确位置,可以保证在一些临界位置和其它曲面不发生干涉。
导动曲线的定义依加工对象而定。对于曲面上要求精确成形的轮廓线,如曲面上的花纹、文字和图形,可以事先将轮廓线投影到工作平面上作为导动曲线。多个嵌套的内环与一个外环曲线作为导动曲线可用于限制曲面上的加工区域。对于曲面型腔的加工,便可采用平面型腔的加工方法:首先将型腔底面与边界曲面和岛屿边界曲面的交线投影到工作平面上,按平面型腔加工方法生成一组刀具轨迹,然后将该刀具轨迹投影到型腔曲面上,限制刀尖位置,便可生成曲面型腔型面的刀具轨迹。
投影法加工以其灵活且易于控制等特点在现代CAD/CAM系统中获得了广泛的应用,常用来处理其它方法难以取得满意效果的组合曲面和曲面型腔的加工。
第六节、三坐标球形刀多面体曲面加工刀具轨迹生成
6.1、三角域曲面加工方法
对于三角域曲面来说,每一曲面片在边界(包括边界线和边界点)上至少一阶几何连续,就是说整个曲面在任何位置的法矢矢量方向唯一,从而可以采用离散方法构造曲面的等距面网孔,继而可以采用截平面法,用一系列截平面截取加工表面的等距面,生成的一系列截交线作为数控加工的刀具轨迹。
6.2、三角网多面体加工方法
对于三角网多面体来说,每一曲面片在边界上一般为0阶连续,无法构造等距面。对于这类曲面的加工,一般采用平行截面法,即先用一系列平行截平面去截取待加工表面,生成一系列截交线,然后设法使刀具与加工表面的切触点沿截交线运动,从而将曲面加工出来。
第七节、曲面交线加工刀具轨迹生成
7.1、曲面交线加工概述
曲面交线加工的典型情况是刀具沿零件面(Part Surface,简称PS)和导动面(Drive Surface,简称DS)的交线,以一定的步长控制方式,走到检查面(Check Surface,简称CS)。
对于三坐标数控加工,曲面交线加工中刀轴不受其它临界线或边界约束面的影响。但对于多坐标(主要是指五坐标)数控加工,曲面交线加工中,除了以上三个控制面以外,可能还有其它临界线或边界约束面的约束。
曲面交线加工的复杂性主要表现在以下两个方面:在多坐标数控加工的情况下,除球形刀外,刀心的位置与刀轴方向有关,因此不可能通过构造等距面的交线生成交线加工刀具轨迹;曲面交线加工必须处理刀具与复杂的控制表面和约束表面之间的关系,不仅要保证刀具头部切削刃与曲面之间的误差,而且刀杆也不能与约束表面发生干涉和碰撞。
按交线形式进行分类,曲面交线加工可分为曲面交线清根加工及曲面间过渡区域交线加工。
7.2、曲面交线三坐标数控加工处理过程
由于三坐标数控加工刀轴是固定的,不受其它因素影响,一般只能采用球形刀(某些特殊的情况下可以采用环行刀或端铣刀),这样一来,两张曲面交线的最终状态只能是在相交处留有工艺上所允许的最小刀具圆角半径,而不可能加工出严格的交线。
采用球形刀三坐标数控加工曲面交线,可以采用构造加工表面等距面的交线的计算方法来生成交线加工刀具轨迹,过程如下:
根据曲面交线加工工艺要求及相交曲面形态,选择刀具半径R尽可能大的球形刀;构造两加工表面的等距面,距离等于刀具半径R;求两等距面的交线,一般以离散点列表示;以交线点列为基础,采用参数筛选法生成交线加工刀具轨迹,也可以直接采用交线点列作为交线加工刀具轨迹;按交线两端处的检查面终止刀具运动,对交线加工刀具轨迹进行裁剪。
7.3、曲面交线五坐标数控加工处理过程
对于五坐标数控加工,由于刀轴可以控制,曲面交线清根加工不仅可以采用球形刀,也可以根据相交曲面及约束面形态采用环行刀或端铣刀。
(1)曲面交线球形刀五坐标数控加工处理过程
球形刀五坐标加工曲面交线,应分两种情况,一种是与球形刀三坐标加工曲面交线类似的情况,即刀心沿加工表面等距面的交线运动,而不受其它因素的影响;另一种情况是,交线加工是在零件面(或导动面)的加工中同时被加工出来的,刀轴主要受控于零件面的加工,刀心被约束在导动面的等距面上,而受刀轴位置和刀轴方向的影响,典型的例子是整体叶轮叶型的精加工与清根交线加工同时完成。在此我们只讨论第一种情况,其处理过程如下:
按球形刀三坐标数控加工曲面交线的处理过程生成五坐标加工刀心轨迹;在每一刀心点作刀心轨迹的法截面,此截面作为刀心点处的摆刀平面;求摆刀平面与两加工表面临界线的交点;过刀心点作对角平分线,此平分线即为刀轴矢量。
(2)曲面交线环行刀五坐标数控加工处理过程
在五坐标数控加工中,采用环行刀加工曲面交线,每个控制表面与刀具的切触点均被限制在刀刃圆环面上,每个控制表面与刀刃表面的公法线均通过刀刃圆环中心线,而不是通过刀心点。其刀具轨迹计算方法为:
根据曲面交线加工工艺要求及相交曲面形态,选择环行刀刀刃半径几刀具半径;构造两加工表面的等距面,距离等于刀刃半径;求两等距面的交线,并以离散点列表示;求离散点到两控制面的垂足,三个点形成的平面作为该点处的摆刀平面,采用环行刀加工曲面交线,要求夹角小于90度,否则不宜用环行刀加工;求解该点处的刀轴矢量及刀心坐标。
第八节、曲面间过渡区域加工刀具轨迹生成
曲面间过渡区域加工是一种比较独特的区域加工方法,一般采用截平面法进行加工,或定义成过渡曲面后,用参数线法进行加工。曲面间过渡区域一般要求为等半径圆弧过渡曲面或变半径圆弧过渡曲面。
一般来说两曲面之间要求有过渡曲面,一方面是造型设计的要求,另一方面是加工工艺的要求。在实际设计生产中,往往不事先构造过渡曲面(一些特殊要求的除外),而是直接通过母面生成过渡区域加工刀具轨迹。
最简单的过渡区域加工刀具轨迹生成方法是两曲面间采用等半径圆弧过渡,该半径正好是加工所用球形刀的刀具半径,可直接采用曲面交线清根加工刀具轨迹的生成方法。
8.1、截平面法
设两曲面S1和S2相交于交线C,在S和S之间要求等半径的圆弧过渡曲面,采用球形刀加工,刀具半径为r(r<R),要求用截平面法生成过渡区域加工刀具轨迹,处理过程如下:
生成的等距面,距离为R;求两等距面的交线;给定一参数步长,在交线上取点列,求该点列到曲面的垂足;过交点和两个垂足点作截平面,并以交点为圆心,过垂足作圆弧,其半径为R;以交点为圆心,作一系列半径为(R-r)的圆弧,该圆弧与的交点为,与的交点为,圆弧段即为该过渡区域截平面法加工的刀具轨迹。
在上述算法中,要用到等距面生成算法一次,曲面求交算法一次,点到曲面求垂足算法多次,而这些算法都是非常复杂的,而且实际加工效率也不高。因此,可能的话,应尽可能采用刀具半径等于过渡区域圆角半径的刀具,采用前面介绍的交线清根刀具轨迹生成方法一次生成过渡曲面加工的刀具轨迹。
8.2、半径递减法
当两曲面间过渡圆弧半径很小时,在加工曲面时,一般不宜采用半径等于过渡圆弧半径的刀具,而是采用半径较大的刀具,这是因为刀具半径太小会大大增加加工曲面的刀位点,降低加工效率,而用较大的刀具加工两张相交曲面,无论用什么方法加工,在交线处留的总是这把刀具的圆角半径,如果这时再用小刀具沿交线加工一次,又会在交线两侧小刀具与大刀具的交接处留有较高的残痕,钳工极不好修理。
为了解决好这个问题,可采用半径递减法,用大刀具加工曲面,用小刀具在交线的两侧来回加工几次,形成光滑的过渡区域。
设两曲面相交与交线C,在之间要求等半径的圆弧过渡曲面,采用球形刀加工,刀具半径为r。
第九节、裁剪曲面加工刀具轨迹生成
裁剪曲面一般表现为两种形式:孔边界裁剪和岛屿边界裁剪。裁剪曲面的数控加工刀具轨迹可利用裁剪曲面的特点进行计算,使生成的刀具轨迹分布合理,提高加工效率。一般来说,裁剪曲面的数控加工刀具轨迹具有以下特点:
(1)裁剪之前的曲面是连续的,而且往往是光滑的,可以利用参数线法或截平面法生成数控加工刀具轨迹。
(2)被孔裁剪的裁剪曲面,不论孔的形状如何,如果孔的直径远小于待加工曲面的话,数控加工编程时可以不考虑孔的存在,而将裁剪曲面作为一个整体进行刀具轨迹规划。
(3)如果孔的直径比较大的话,为了提高加工效率,可将跨越孔的刀具轨迹提高进给速度。这时需要对整体刀具轨迹进行裁剪,将加工区域刀具轨迹线段与跨越孔的刀具轨迹线段分开。由于进给速度不同,一般需要对孔的边界指定一个负的加工余量,保证加工区域的刀具轨迹线段延伸到孔中一定的距离,这样将避免刀具在快速跨越孔的边界时撞击零件的边缘。
(4)被岛屿裁剪的裁剪曲面的加工,可以按带岛屿的型腔加工刀具轨迹计算方法生成刀具轨迹。另外,也可以直接利用参数线法或截平面法生成整个曲面数控加工的刀具轨迹,接着用岛屿的边界(内环)对整体刀具轨迹进行裁剪,去掉跨越岛屿的刀具轨迹线段。裁剪刀具轨迹时,需要对岛屿的边界指定一个正的加工余量,加工余量应略大于刀具半径。然后设置刀具回避岛屿的方式:抬刀或沿岛屿最短边界绕行。如果回避方式为抬刀,则当刀具沿刀具轨迹与动到裁剪曲面的内环边界而切削行尚未结束时,刀具快速自动退刀安全平面,并继续快速运动到此切削行的下一段刀具轨迹的起点,然后再下降到加工表面,沿此切削行的下一段刀具轨迹进行切削加工。如果回避方式为沿岛屿最短边界绕行,则当刀具轨迹运动到裁剪曲面的内环边界而切削行尚未结束时,刀具自动沿岛屿最短边界路径运动,直到此切削行的下一段刀具轨迹的起点,然后沿此切削行的下一段刀具轨迹进行切削加工。
(5)如果要求裁剪曲面与岛屿的边界精确成形,最后应沿岛屿边界按交线加工方式进行清根加工。
第十节、曲面型腔加工刀具轨迹生成
曲面型腔是机械零件上比较典型的加工单元,种类繁多,形状各异,但归纳起来可以分为两大类:普通曲面型腔和带岛屿曲面型腔。曲面型腔可看作是在一张具有封闭内环的曲面上沿给内环边界挖腔而生成的。在三坐标数控机床上加工曲面型腔,要求型腔型面沿Z坐标方向单调。曲面型腔的加工一般分为粗铣型腔和型腔型面精加工。粗铣性的目的是挖去型腔的大部分加工余量,切削出型腔的基本形状;型腔型面精加工是在型腔型面留有少量加工余量的基础上加工型腔型面。
10.1、曲面型腔粗加工
(1)不具备型腔基本型的曲面型腔粗加工
确定铣削加工余量在毛坯上的最高位置;
确定型腔分层铣削的切削深度;
从铣削加工余量在毛坯上的最高位置开始,根据分层深度依次用垂直于Z轴的截平面去截曲面型腔,形成一系列封闭的截交线,当没有截交线时,即终止分层切削扫描;
在每一截平面内按平面型腔的行切或环切加工方式确定每一层的刀具轨迹;
如果曲面型腔带岛屿,不宜采用螺旋线或斜线进刀,则需要预先钻一个工艺孔,作为截平面铣削的起刀位置。工艺孔一般选在型腔最深的位置。
粗铣型腔加工的操作顺序是:先钻工艺孔,然后分层铣削,直到铣削完最后一层。
(2)具备型腔基本型的曲面型腔粗加工
当型面加工余量较大时,宜采用上述垂直于Z坐标的截平面法,用环切加工方式走刀,一般走一条最多二条刀具轨迹即可,且无需钻工艺孔;
当型面加工余量较小时,可直接采用型腔精加工方法。
10.2、曲面型腔精加工
曲面型腔精加工的主要方法有截平面法和投影法,但从本质上讲,曲面型腔型面精加工刀具轨迹的计算可以归结为组合曲面、裁剪曲面、曲面交线区域、曲面间过渡区域以及复杂曲面等加工特征刀具轨迹的计算和编辑。曲面型腔型面的精加工一般采用球形刀,对于一些特殊的型腔,平底刀也有一定的应用。
第十一节、复杂多曲面加工刀具轨迹生成
复杂多曲面是指多张曲面之间的连接关系复杂,曲面与曲面之间可以是切矢连续,也可以是位置连续甚至可以有微小的缝隙或重叠。
复杂曲面在工业中十分普遍,一方面表现为某些曲面经过若干次裁剪、拼接和过渡处理之后,最终成为复杂多曲面,甚至由于CAD系统的曲面造型功能不完善,曲面片与曲面片之间有微小缝隙。另一方面表现在零件设计上,有的零件表面往往由多张不规则曲面片构成,曲面片之间一般没有严格的几何连续性要求。复杂多曲面数控加工刀具轨迹的计算功能降低了CAD/CAM系统对曲面设计能力的要求,是工程中应用的需要。而且复杂多曲面的连续加工能力对于一个曲面数控加工编程系统来说是十分重要的。
复杂多曲面刀具轨迹的计算常用的一种处理方法是:先将多张曲面逼近表示成一张曲面,一般用小三角片逼近表示,然后采用多面体曲面加工刀具轨迹计算方法或离散刀具轨迹计算方法生成逼近曲面加工的刀具轨迹。对于各曲面片之间有缝隙或重叠的情形,多张曲面的整体逼近表示有困难。复杂多曲面加工刀具轨迹的计算的另一种方法是截平面法回投影法。
第五章、多坐标端铣数控加工刀位计算方法
第一节、球形刀端铣数控加工基本原理
采用球形刀端铣加工三维曲面,只要使球形刀的球心位于所加工表面的等距面上,不论刀具路线及刀轴方向如何安排,均能铣削出所要求的曲面形状。球形刀端铣加工三维曲面,刀心约束在加工曲面的的等距面上,刀轴方向则可以根据曲面形状和约束面的形状和位置改变,这就是说,可以采用三坐标、四坐标或五坐标进行加工。
第二节、球形刀三坐标曲面加工刀位计算方法
2.1、基本原理
球形刀三坐标端铣数控加工,要求刀轴方向始终保持不变,并与机床主轴方向一致,这就要求加工表面在刀轴方向上单调。
由于三坐标加工刀轴方向不能改变,因而刀刃上的切触点随加工表面在Z方向上坡度的不同而变化。一般来说,加工表面与Z轴的夹角随曲面上的加工位置的不同而不断变化,这有利于提高球形刀的寿命。球形刀三坐标加工的缺点是切削速度随刀刃上切触点位置的不同而变化,球形刀端点与加工表面切触时切削速度为零,切削性能较差。因此,采用球形刀加工较平坦的曲面时,将加工曲面的平坦方向与XOY平面倾斜一定的角度对加工速度和加工表面质量是有益的,当然应保证加工曲面在Z坐标方向上单调。
2.2、刀位计算方法
球形刀三坐标加工的刀位指的是刀心,其刀轴矢量为(0,0,1)是固定不变的。球形刀铣削加工表面上任一点P的刀心计算公式为:
         
写成分量形式为:
          
2.3、加工误差分析及补偿方法
数控加工中引起加工误差的因素,有机床的运动精度误差,刀具的尺寸误差,机床、刀具及零件的热变形和弹性变形误差,还有编程中的计算误差及加工方法引起的误差等,这里只讨论加工方法引起的误差。
(1)加工误差分析
当球形刀的刀心沿加工表面的等距面上某一曲线作直线插补运动时,加工表面与刀具之间的局部几何关系近似如下图所示。
设 为加工表面在插补段内沿进给方向的法曲率, 为插补段内加工表面法向矢量沿插补直线方向的转动角。假定半径为R的球形刀的刀心从 点沿直线走到 点,则刀具切入曲面的深度 为:
       
式中: 是加工表面法向矢量转动引起的加工误差,称为法向矢量转动误差; 是直线逼近误差。
有上图所示的几何关系可得:
       
即:  
始终, ——加工表面在插补段内的弧长。
   
即:  
所以:  
用弦长L代替弧长,可得:  
由上述推导可以得到如下结论:
插补段内最大加工误差发生在中点附近;加工误差包括直线逼近误差和法向矢量转动误差,且与插补段长度L的平方成正比;矢量转动误差是由于加工表面法向矢量沿插补直线方向的转动引起的,且与刀具半径成正比。
(2)法向矢量转动误差补偿
法向矢量转动误差是由于加工表面法向矢量沿插补直线方向的转动引起的,通过休整刀心位置的方法可以对法向矢量转动误差进行补偿。
2.4、走刀步长和加工带宽度的计算
走刀步长和加工带宽的计算依据是控制加工误差的大小。经验告诉我们,加工精度要求越高,走刀步长和加工带宽就越小,编程效率和加工效率越低。因此,在满足加工精度要求的前提下,应尽量加大走刀步长和加工带宽,提高编程效率和加工效率。
(1)走刀步长的计算
当补偿了法向矢量转动误差之后,剩余的加工误差就只有直线逼近误差(有时也称为弦差:chordal deviation)了,因此可用直线逼近误差作为走刀步长的计算依据。
对任一指定的直线逼近误差极限 ,当 时,有:
          
即走刀步长L可用下式进行计算:
          
(2)加工带宽的计算
切削行宽度,即两条刀具轨迹之间的线间距,与刀具半径R残余高度h密切相关,用球形刀加工曲面时,刀痕在切削行间构成了残余高度h,由几何关系可以看出,残余高度h与切削行宽度dw之间的关系为:
      
若允许的最大残余高度为 ,经推导可得到切削行宽度:
        
式中:R为刀具半径; 为加工表面沿切削行进给方向的法曲率。
加工编程中,可以选择采用固定走刀步长和加工带宽的方式,也可以选择采用固定直线逼近误差和残余高度的方式。选择哪一种方式,大致的原则是:
当加工曲面的曲率半径很大、而且没有尖角时,或者曲面加工精度要求不是很高时,采用固定走刀步长和加工带宽的方式较合理,因为计算简单,编程效果高,程序的可靠性也高;当加工曲面的曲率半径很小,而且有尖角时,或者曲面加工精度要求很高时,应该采用固定弦差和残余高度的方式进行编程。
2.5、刀具半径选择
(1)计算依据
球形刀刀具半径应小于加工表面凹处的最小曲率半径。
(2)影响因素
除考虑加工表面凹处的最小曲率半径之外,刀具半径的选择还需考虑以下因素:
加工效率——刀具半径越大,在同样的残余高度下,切削行越大,加工效率越高;
法向矢量转动误差——法向矢量转动误差与刀具半径成正比。对于凸曲面,理论上刀具半径越大越好,但实际上必须选择恰当的刀具半径,特别是在不进行法向矢量转动误差补偿的情况下,应该核校法向矢量转动误差,如果超差,应减小刀具半径,以减小法向矢量转动误差;
刀具的大小应与加工表面的大小匹配——不应出现一个很小的加工表面,而采用一把半径很大的球形刀,否则刀具容易与非加工表面发生干涉;
取规范围——所取的刀具半径应尽量符合规范或标准系列,以便容易获得所需半径的球形刀。
第六章、刀具轨迹编辑
对于复杂曲面零件的数控加工来说,刀具轨迹计算完成之后,一般需要对刀具轨迹进行一定的编辑与修改。这是因为:对于很多复杂曲面零件及模具来说,为了生成刀具轨迹,往往需要对待加工表面极其约束面进行一定的延伸,并构造一些辅助曲面,这时生成的刀具轨迹一般都超出加工表面的范围,需要进行适当的裁剪和编辑;另外,曲面造型所用的原始数据在很多情况下使生成的曲面并不是很光顺,这时生成得到局轨迹可能在某些刀位点处有异常现象,比如突然出现一个尖点或不连续等现象,需要对个别刀位点进行修改;其次,早刀具轨迹计算中,采用的走刀方式经刀位验证或实际加工检验不合理,需要改变走刀方式或走刀方向;再说,生成的刀具轨迹上刀位点可能过密或过疏,需要对刀具轨迹进行一定的匀化处理,等等,所有这些都要用到刀具轨迹编辑功能。
第一节、刀具轨迹编辑系统的功能
一般来说,刀具轨迹编辑系统允许用户通过图形窗口显示和其他对话窗口对一生成的刀具轨迹进行修正或修改,同时将修改的刀具轨迹显示出来。
刀具轨迹的快速图形显示
刀具轨迹文本显示和修改
刀具轨迹的删除
刀具轨迹的拷贝
刀具轨迹的粘贴
刀具轨迹的插入
刀具轨迹的恢复
刀具轨迹的移动
刀具轨迹的延伸
刀具轨迹的修剪
刀具轨迹的转置
刀具轨迹的反向
刀具轨迹的几何变换
刀具轨迹上刀位点的匀化
刀具轨迹的编排
刀具轨迹的加载与存储
第二节、刀具轨迹编辑系统的数据结构
刀具轨迹的编辑需要将刀具轨迹中的所有数据有规则的存放在一个数据结构中,该数据结构设计是否合理,直接影响刀具轨迹的编辑。下面从CAD/CAM集成系统中的刀具轨迹编辑系统的要求出发,以西北工业大学CAD/CAM研究中心开发的交互式图形数控编程系统NPU/GNCP/SS中的刀具轨迹编辑系统为例,介绍一种基本的刀具轨迹编辑系统的数据结构。
2.1、几个基本概念
刀具轨迹编辑系统的数据结构一般分为五个(也有的分为四个)层次进行管理,最上层为刀具轨迹层,一个完整的数控加工刀具轨迹由若干切削块构成,切削块是刀具轨迹中若干相邻切削行构成的子集,而切削行则由一个或多个切削段构成,一个切削段则由连续的刀位点构成,即:
刀具轨迹=切削块|切削行|切削段|刀位点
刀具轨迹=刀具轨迹缓冲区中的切削行集合
切削块=刀具轨迹中相邻切削行构成的子集
切削行=一个或多个切削段
切削段=切削行中同一曲面上相邻刀位点构成的子集
刀位点=刀心+刀轴矢量+摆刀平面法向矢量
2.2、基本数据结构定义
下面以C语言的格式定义以上几个基本数据结构
(1)刀位点的数据结构
typedef struct {
 &nbsppoint3 &nbspASTLC;  /*刀心
  Vvector3 &nbspASTLA;  /*刀轴矢量
  Vvector3 &nbspASTLN;  /*摆刀平面法向矢量
}CLDATA;
其中,Ppoint3和Vvector3分别为三维点的数据结构和三维矢量的数据结构,分别定义为:
typedef struct {
  double  x;  /*点的x坐标
  double  y;   /*点的y坐标
  double  z;   /*点的z坐标
}Ppoint3;
typedef struct {
  double  x;  /*矢量在x轴上的投影分量
  double  y;   /*矢量在y轴上的投影分量
  double  z;   /*矢量在z轴上的投影分量
}Vvector3;
(2)切削行索引表的数据结构
typedef struct {
  CLDATA  *PASADR;  /*切削行刀位点基地址指针,首地址-1
  Int &nbspASLEN;  /*切削行原始长度
  Int  BEGPTR;  /*切削行首点相对地址(相对于基地址)
  Int  ENDPTR;  /*切削行末点相对地址(相对于基地址)
  CLDATA  BEGPNT;  /*切削行首端外延(插值)点绝对地址指针
  CLDATA  ENDPNT;  /*切削行末端外延(插值)点绝对地址指针
  PASINDEX  PASLNK;  /*切削行索引表的后继链表指针
}PASINDEX;
(3)刀具轨迹编辑控制模块的数据结构
typedef struct {
  int  KPASS;  /*缓冲工作区中的原始切削行数目
  int  NUMPASS;  /*切削行索引表数目
  CLDATA  *KPMSG;  /*自由刀位点缓冲区首地址指针
  PASINDEX  KPASNO;  /*当前切削行索引表指针
  Int  KPSLEN;  /*当前切削行刀位点数目
}Editcont;
(4)原始切削行缓冲区、当前切削行刀位点缓冲区及自由刀位点缓冲区定义
CLDATA  *INIBUF;  /*原始切削行缓冲区
CLDATA  *PASBUF;  /*当前切削行刀位点缓冲区
CLDATA  FREEBUF;  /*自由刀位点缓冲区
2.3、系统数据结构的操作说明
进行刀具轨迹编辑之前,首先打开待编辑的刀具轨迹所在的刀位文件,然后根据编辑对象数据量的大小动态申请分配原始切削行缓冲区INIBUF,并将编辑对象装入原始切削行缓冲区,同时建立切削行索引表的初始状态:PASADR=INIBUF-1,PASLEN=原始切削行刀位点数目,BEGPTR=1,ENDPTR=PASLEN,BEGPNT=NULL,ENDPNT=NULL,PASLNK=指向下一个切削行索引表的首地址,依次类推,直至装完全部待编辑的刀具轨迹为止,最后一个切削行索引表的PASLNK=NULL。
切削行索引表的初始化完成之后,动态申请分配当前切削行刀位点缓冲区PASBUF[MAXBUF]及自由刀位点缓冲区FREEBUF[MAXFRE],并填写刀具轨迹编辑控制模块数据结构Editcont的有关记录。MAXBUF和MAXFRE的大小可由系统默认一个值,用户也可以根据需要进行修改。
对切削行进行编辑之前,将当前切削行(待编辑的切削行)调入当前切削行刀位点缓冲区PASBUF中,以便参与求教等算法过程,并填写刀具轨迹编辑控制模块数据结构Editcont的有关记录。
对切削行进行删除操作时,在切削行索引表中,将ENDPTR的符号变成“-”号,即表示将该切削行删除。因此要恢复被删除的切削行,只要将ENDPTR的符号变成“+”号即可。
对切削行进行裁剪操作时,在切削行索引表中,用BEGPTR,ENDPTR和BEGPNT、ENDPNT表示切削行被裁剪后的有效部分——切削段在原切削行上的映象。其中BEGPTR和ENDPTR分别指向远切削行经裁剪后剩余部分的首、末点;而BEGPNT和ENDPNT则分别指向切削行与裁剪边界面的交点(切削段的段端点)。因此,无论经过多少次裁剪,原始切削行上的点都只被引用而不改变。同一原始切削行可以被分割成多个切削段,通过指针引用。因此,裁剪后的切削行可以被恢复到原始切削行的状态。
每个切削段上只能在两端插入与边界面的交点,并用BEGPNT和ENDPNT指出其存储地址。如果经过裁剪后,原切削行被分成多个有效部分,则每出现一个新的有效部分(不包括第一个有效部分),就建立一个新的切削段索引。新的切削段与原始切削行之间通过PASLNK相链接。
裁剪过程中求交生成的交点(切削段的段端点),顺序地放在自由刀位点缓冲区中,通过指针引用。
第三节、数控加工的进刀与退刀刀具轨迹生成与编辑
对于一个CAD/CAM集成系统来说,刀具轨迹的生成与编辑往往是结合在一起的。进刀(engage)和退刀(retract)是刀具轨迹生成与编辑系统中的一个重要组成部分,用于确定刀具移动进入切削运动或退出切削运动方式。图所示为UGII CAD/CAM系统中采用的一种典型的进/退刀方式。
1、切入点(Engage point)——进刀过程中位于零件毛坯之外进入切削状态之前的某个位置;
2、初始切削点(Initial cut position)——刀具与零件表面的第一个切触点;
3、切入距离(Engage distance)——切入点与初始切削点之间的距离;
4、切入进刀矢量(Engage vector)——切入点到初始切削点之间的单位方向矢量;
5、进给速度(Feed)
接近速度(Approaching speed)——指从起刀点到切入点之间的进给速度;
切入速度(Engage speed)——指从切入点到初始切削点之间的进给速度;
正常切削速度(Cut speed)——指在一个切削段内的进给速度;
Zig-zag方式下的跨越速度(Stepover speed)——一般应小于正常切削速度;
横越速度(Traversal speed)——指抬刀横越岛屿或单向切削需要抬刀的横越速度,可以采用快速移动,但大多数情况下采用5倍左右的正常切削速度。横越时的抬刀高度可以定义,为了提高加工效率,横越抬刀高度一般略高于岛屿高度即可。刀具抬起时可以采用横越速度,但进刀时应该采用一种前面定义的进刀方式和进刀速度。退刀过程比进刀简单,而且退刀速度往往是进刀速度的若干倍。
第四节、刀具轨迹生成与编辑系统的总体结构
根据刀具轨迹生成和刀具轨迹编辑系统的功能要求,刀具轨迹编辑系统的总体结构如下图所示。
4.1、加工参数表及其数据结构
加工参数表存放的是数控加工编程所需的有关参数。对于曲面加工,典型的加工参数包括:步长控制方法(点数控制、走刀步长控制、精度控制)、速度控制参数(快速进给速度、接近进给速度、切入进给速度、正常进给速度、跨越进给速度、横越进给速度以及退刀速度等)、干涉避免参数(安全面高度、干涉抬刀高度)、进刀控制方式(进刀点、进刀方式及其参数)、退刀控制方式(退刀点、退刀方式及其参数)、干涉检查参数(干涉检查曲线、干涉检查曲面、干涉检查余量、干涉处理方式)、刀轴控制方式、刀具轨迹显示参数等。
(1)步长控制
typedef struct {
int    control_mode;  /*步长控制方法:1-点数控制、2-走刀步长控
/*制、3-精度控制
  int    len_number;  /*每切削行刀位点数
  int    over_number;  /*刀具轨迹的切削行数
  double  len_step;  /*走刀步长
  double  over_step;  /*最大切削行距
  double  len_eps;    /*走刀方向上的最大插补误差
  double  over_eps;  /*切削行间的最大残余高度
  double  in_tol;  /*内边界容差
  double  out_tol;  /*外边界容差
  double  floor_stock;  /*底面加工余量
  double  side_stock;  /*侧面加工余量
}Step_Control;
(2)速度控制
typedef struct {
  int  rapid_speed;  /*刀具快速进给速度
  int  engage_speed;  /*刀具切入进给速度
  int  cut_speed;  /*正常切削进给速度
  int  retract_speed;  /*退刀速度
  int  over_speed;  /*切削行之间进给速度
}Speed_Control;
(3)干涉避免
typedef struct {
  double  safe_plane;  /*安全面高度
  double  skip_plane;  /*干涉抬刀高度
  double  engage_plane;  /*快速进刀高度
  Ppoint3  engage_point;  /*进刀点
  Ppoint3  retract_point;  /*退刀点
}Gouge_Control;
(4)干涉检查参数
typedef struct {
  C_LIST  check_boundary;  /*干涉检查曲线
  F_LIST  check_surface;  /*干涉检查曲面
  Double  check_stock;  /*干涉检查余量
  Int  on_collision;  /*干涉处理方式
}Check_Control;
(5)刀轴控制
typedef struct {
  int  control_mode;  /*刀轴控制方式:定轴,四轴,五轴
}Tool_Control;
(6)切削方式控制
typedef struct {
  int  cutting_mode;  /*切削方式:单向,双向,环切,用户自定义方式
}Cut_Control;
(7)刀具轨迹显示控制
typedef struct {
  int  rapid_color;  /*快速运动颜色
  int  approach_color;  /*接近运动颜色
  int  engage_color;  /*切入运动颜色
  int  cut_color;  /*切削运动颜色
  int  stepover_color;  /*跨越运动颜色
  int  traversal_color;  /*横越运动颜色
  int  clearance_color;  /*安全面颜色
}Display_Control;
4.2、曲面加工刀具轨迹及其数据结构
曲面加工的刀具轨迹生成不仅涉及零件面、导动面(线)、检查面(线)的定义,而且与刀具轨迹控制参数密切相关。
(1)曲面加工刀具轨迹的数据结构
typedef struct {
  NCPATH_PARA  para;  /*刀具轨迹控制参数:包括前面描述的7类参数
  PS_LIST  *part_surf;  /*零件面
  DS_LIST  *drive_geometry;  /*导动几何定义
  CS_LIST  *check_geometry;  /*检查几何定义
  Int  (*NC_func)();  /*刀具轨迹生成函数
  NCGROUP  *h_area;  /*切削块首指针
}NCPATH;
其中的刀具轨迹生成函数用于加工参数或零件面修改后自动重新计算刀具轨迹。
(2)切削块的数据结构
typedef struct {
  int  id;  /*切削块标识
  int  flag;  /*切削块属性
  Ppoint3  *engage_point;  /*切削块进刀点
  Ppoint3  *retract_point;  /*切削块退刀点
  NCLINE  *cutting_line;  /*第一个切削行首地址
  NCGROUP  *next;  /*下一个切削块首地址
}NCGROUP;
(3)切削行的数据结构
typedef struct {
  int  id;  /*切削行标识
  int  flag;  /*切削行属性
  NCSEGMENT  *cutting_seg;  /*第一个切削段首地址
  NCLINE  *next;  /*下一个切削行首地址
}NCLINE;
第七章、刀具轨迹验证
第一节、概述
利用计算机图形显示器把加工过程中的零件模型、刀具轨迹、刀具外形一起显示出来,用这种方法来模拟零件的加工过程,检查刀具轨迹计算是否合理、加工过程中是否发生过切,所选用的刀具、走刀路线、进退刀方式是否合理、刀具与约束面是否发生干涉碰撞。这种方法统称为刀具轨迹验证。
刀具轨迹验证的方法很多,最简单最常用的方法是刀具轨迹的显示验证,即将刀位数据(包括刀心坐标与刀轴矢量)的线框图显示出来,判断刀具轨迹是否连续,检查刀位计算是否正确;其次是将刀位数据连同被加工表面的线框图一起显示出来,来判断刀具轨迹的正确性,走刀路线、进退刀方式是否合理。比较复杂的方式是采用各种截面法验证,如纵截面法、横截面法及曲截面法等,将指定刀位点上的刀具截面图与被加工表面及其约束面的截面图一起显示在屏幕上,这样便可以很直观地判断所选择的刀具是否合理,检查刀具与约束面是否发生干涉与碰撞,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
25
发表于 2009-6-20 23:28:34 | 只看该作者
先顶一下先顶一下
24
发表于 2007-3-10 21:46:09 | 只看该作者
ok
23
发表于 2006-8-13 07:51:56 | 只看该作者
原帖由 雪人2000 于 2004-10-31 14:27 发表
数控编程新手不能学一楼的文章,那种文章会误人子弟。


应该有数控理论支持,才能有长足发展。
22
发表于 2006-6-21 21:24:38 | 只看该作者
ding ding
21
发表于 2005-5-27 13:05:00 | 只看该作者
偶也想学
我顶
20
发表于 2005-5-26 14:57:20 | 只看该作者
非常适合初学呀
19
发表于 2005-5-23 14:58:10 | 只看该作者
不错,刚开始学习。
18
发表于 2005-5-13 23:49:32 | 只看该作者
我顶
17
发表于 2005-5-13 08:41:39 | 只看该作者
好东西,谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-26 20:26 , Processed in 0.043866 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表