浅谈数控编程中加工轨迹的确定及算法实现_第1页
浅谈数控编程中加工轨迹的确定及算法实现_第2页
浅谈数控编程中加工轨迹的确定及算法实现_第3页
浅谈数控编程中加工轨迹的确定及算法实现_第4页
浅谈数控编程中加工轨迹的确定及算法实现_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持浅谈数控编程中加工轨迹的确定及算法实现摘 要:对数控编程中的轮廓加工轨迹生成方法及原理进行了介绍,在此基础上对加工轨迹的生成算法进行了详细说明,重点对二维轮廓中交点相切的相邻直线或圆弧,以及相邻互不相切的直线或圆弧间的等距机制和补偿算法进行了研究,其结果对数控程序的开发及准确代码的生XX 有着重要的意义。关键词:数控编程;加工轮廓;刀具轨迹;算法数控编程是随着数控机床的诞生而发展起来的一门技术,随着生产的要求而不断的发展完善。数控编程技术经过手工编程,基于语言的计算机自动编程和基于图形的自动编程三个阶段,现在数控技术的发展正处于第三

2、阶段,即利用CAD 软件的图形编辑功能将零件的几何图形绘制到计算机上,形成零件的图形文件,然后调用数控编程模块,采用人机交互的方式在计算机屏幕上指定被加工的部位,再输入相应的加工参数,计算机便可自动进行必要的数字处理并编制出数控加工程序,同时在计算机屏幕上动态地显示出刀具的加工轨迹。基于图形的自动化编程得到了越来越广泛的应用。数控编程的一大基本功能,是根据用户输入的零件参数自动输出数控代码。一般情况下,用户输入的零件参数是零件的设计参数,而数控代码的编制则是以加工轨迹为基准。因此加工轨迹的确定是整个 CAMBC统的根本。在数控加工中,由于刀具直径不能忽略,刀具中心的行走轨迹往往与零件的设计轮廓

3、并不重合,再加上特殊加工工艺,需要人为地对零件设计轮廓进行偏移。因此,为了获得正确的数控代码,有必要对设计轮廓的偏移策略进行研究。另外,一般情况下,用户在绘制零件轮廓时,并不会严格遵循加工的顺序,因此在进行轨迹偏移之前需要进行轮廓排序等预处理。1 轨迹生成步骤与原理1.1 创建刀具库在 SQL Server 中,创建名称为CutterBase 的数据库,表单中的字段为刀具的属性参数。然后在windows 操作系统的控制面板中找到“管理工具”图标,双击这个图标可以看到“数据源”图标,打开ODBC数据源管理器,根据提示创建 CutterBase 数据库的数据源,名称为 CutterBaseSour

4、ce 。ODBC是为客户应用程序访问关系数据库时提供的一个标准接口,对不同的数据库,ODBC!供了一套统一的 API,使得应用程序可以应用所提供的API,访问任何提供了 ODBC驱动程序的数据库。而且,由于ODBC已经成为一种标准,所以现在几乎所有的关系数据库都提供了ODBC勺驱动程序,从而使得ODBCS用更加广泛。用VC开发工具的 MFC类库就可以自动生成刀具库对话框。MFC寸装了 ODBC勺 Cdatabase 和 CrecordSet 类。前者 用于应用程序建立同数据源的连接,后者实现对结果集的数据操作。1.2 加工轮廓排序图形元素的排序也就是确定加工轨迹,加工轨迹一般是一条连续的曲线,

5、由首尾相接的一系列单元轮廓构成。因此轮廓排序的基本思想就是: 以用户选择的加工起始点为起点,以用户选择的加工方向为排序方向,将杂乱无章的轮廓按首尾相接的要求顺序排列,组成连续的有向曲线。图 1 所示的三个双向链表是实现此项技术的关键:第一条链表 m_Figure 主要是存储图形的输入与编辑后的数据结构;把复制结果粘贴在第二链表m_CopyFig中;排序结果存放在第三链表m_FigSort 中,通过几个链表的操作来实现图形元素的排序。图形元素的排序操作也就是对链表 m_CopyFig 进行操作。系统根据零件轮廓线上前、后图素邻接的原则,确定了加工方向和起始点,然后对该链表进行排序,排好序的单元轮

6、廓将按顺序存入轨迹链表,以备后用。排序后轨迹链表中的曲线一般包括直线、圆弧和自由曲线等。要求前一段曲线的终点为下一段曲线的起点,其基本拓扑数据结构如图2 所示。在曲线有序化过程中,系统程序要求对分段曲线是否连续进行判断,判断的方法很简单,就是判断前后两段曲线的终点和起点是否相同,如果不是同一点,则需要重新修改曲线。串连生成的曲线可以是封闭的,也可以是开放的。1.3 定义刀具轨迹进刀 / 退刀线是为了防止过切、碰撞和飞边而设置的。图 3 所示是使有三个参数指定进入和退出一个切削操作的刀具轨迹示意图。在轮廓加工中,由于刀具总有一定的半径( 如铣刀半径或线切割的钼丝半径等) ,刀具中心的运动轨迹与所

7、需加工零件的实际轮廓并不重合。在进行内轮廓加工时,刀具中心偏离零件的内轮廓表面一个刀具半径值。在进行外轮廓加工时,刀具中心偏离零件的外轮廓表面一个刀具半径值。这种偏离,习惯上称为刀具半径补偿12 。根据 ISO标准,当刀具中心轨迹在编程轨迹( 即零件轮廓) 前进方向的右边时,称为右刀补,用 G42表示;反之,称为左刀补,用G41 表示。在实际的轮廓加工过程中,刀具半径补偿执行过程一般分为三步,即刀具补偿建立、刀具补偿进行、刀具补偿撤销。刀具补偿机制也是实现数控代码正确生成的重要前提。2 加工轨迹生成算法二维轮廓轨迹的生成算法是平面区域加工轨迹生成算法的基础,二维轮廓的等距轨迹在CAD/CA僻各

8、个领域中起着很重要的作用,迄今为止,对二维轮廓的等距线轨迹算法已有许多文献论述,但是所设计的算法大都比较复杂、实现困难且不具通用性。现在的算法都是在对被加工轮廓按直线和圆弧段等距后构造两条直线,然后分4 种不同情况分别处理而获得最终的刀具轨迹。这种方法求解复杂、编程困难,往往得不到理想的结果。本文的这种方法大大简化了等距轨迹的生成算法,其基本思想是:交点相切的相邻两直线或圆弧在等距后其等距线首尾相连且交点仍然相切;被加工平面零件的二维轮廓,在相邻两条互不相切的直线或圆弧之间插入一个半径为零的过渡圆弧等价于二维轮廓。2.1 轮廓轨迹的定义被加工零件的轮廓轨迹不同于刀具运行的轨迹,刀具运行的轨迹是

9、刀具中心轨迹,而加工轮廓是刀具切削刃的轨迹。如数控机床上用立铣刀加工外轮廓表面或内轮廓表面,其刀具中心轨迹分别为图4中的O1和O2,从两种刀具中心轨迹可以看出:轮廓线段相接处有相接和相切方式连接,完全相切连接时刀具中心轨迹运行,不能完全保证获得工件轮廓的理想轨迹,有些地方无法加工,如加工凹面时线段相交处或当刀具半径r 大于圆半径时,有些地方往往会产生刀具干涉破坏加工表面,在软件中可通过修正刀具轨迹的方法来处理。用C代表X, Y平面内的一曲线段,T代表在C处奥一点- 5 -文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支

10、持Q上的单位切矢,N=ZX T为Q点的法矢,Z为矢量。则P=Ci 1 <i <n这一组曲线的集合就称为二维轮廓,在这个二维轮廓中Ci段曲线的终点与 Ci+1段的起始点相接,并规定在Ci中曲线段无相交,在程序中用一个单向的 链表数据结构来定义:typedefsshort flag;double spot2;double cpot2;doubleepot2;struct jn-loop *next; JN-loop;它实际上是所有曲线段顶点以及圆弧的圆心坐标组成的一个链表,通称为环,这个环可以是开环,也可以是闭环。P=Ci中,规定Qis为第i段曲线的起点,Qie为终 点,Ti和Ni分别

11、代表切矢和法矢。如 d是一个非零实数, 则对应于曲线段 C的等距线可表示为:O=Ct d N2.2 基本元素的等距直线段等距:设直线段起点为S,终点为E,等距值为d,N为单位法矢:N=-(Ey-Sy)/|SE|,(Ex-Sx)/|SE|则等距后的直线段起点和终点矢量值为:Os=S ± d Ns, Os=E ± d , Ne圆弧段等距:设圆弧的圆心为C(Cx,Cy), 起点为 S, 终点为 E, 等距值为d, N 为单位法矢:Ns=-(Sx-Cx)/|CS|, (Sy-Cy)/|CS|Ne=-(Ex-Cx) /|CE|, (Ex-Cy)/|CE|则等距后的圆弧段起点和终点矢量

12、值为:Os=S± d N, Os=E ± d N2.3 刀具轨迹的生成整个二维轮廓的刀具轨迹生成由程序实现可分为如下4个步骤: 二维轮廓的获取;过渡圆弧插入;二维轮廓的等距;轮廓等距后自交的处理。二维轮廓的获取在CAD/CA原统中,通过人机交互方式设计由的一个平面加工零件,其轮廓是由各种曲线组成的,而现有的数控机床只能进行直线和圆弧插补,所以加工非圆曲线就必须用一连串直线段或圆弧来拟合,只要原曲线误差不超过允许范围即可。一般CAD所设计的二维轮廓线段,在几何数据库中不一定是按首尾相接的顺序存放的,为此建立一个环的捡取程序,指定环的起始段和终止段,通过判断每一段的终点坐标与起

13、始坐标是否相等来确定曲线段的连接关系,如有分枝则屏幕提示由交互方式来确定轮廓的走向,当捡取到非圆弧曲线段时,执行曲线拟合程序,然后建立一个首尾相连的由直线和圆弧段的起点坐标、终点坐标和圆心坐标等数据组成的链表。如二维轮廓起始段和终止段首尾相接则为闭环轮廓,否则为开环轮廓。二维轮廓的预处理检查相邻两直线或圆弧是否相切,如不相切则在相交点插入一个半径为零的过渡圆弧,具体算法如下:遍历整个链表,计算出每一个结点的起点和终点的单位切矢 Tsi 、 Tei , 比较 Ci 终点的单位切矢Tei 与 Ci+1 的起点的单位切矢Tsi+1 的值,如两端点单位切矢不等,则表明两曲线段在该处不相切,故需插入一个

14、半径为零的过渡圆弧:设lp为指向Ci的指针,计算Tei, Tsi+1 ,如果Tei丰 Tsi+1 则:lp1=(jn-loop*) malloc(sizeof(jn-loop);lp1->spot=lp1->epot=lp1->cpot=lp->epot;lp2=lp->next;lp->next=lp1;lp1->next=lp2;否则: lp=lp->next;由于经过处理后的二维轮廓是一个首尾相连的直线和圆弧线段的组合,且相邻两线段的交点都是相切的,故其轮廓的等距变成了直线和圆弧的等距,等距算法变得很简单。等距后的一个曲线段组合也是一个两两

15、相连并且相切的二维轮廓,其曲线段数与等距前的环相同,把它放在一个链表中,其结构同原来二维轮廓的结构相同。等距算法:记环 P= Ci , i=1n (nni),等距环为 OP=Oii+1 n (n >1);a.等距Ci得其等距线Oi, i =1;b. 如果 Ci 是零半径圆则进行零半径圆弧段的等距;c.否则等距Ci,得其等距线 Oi, 1<i <no 零半径圆弧段的等距:设 Ci 线段为零半径过渡圆弧,因其半径为零,所以|Ce|=|Cs|=0, 不能用式求等距。根据交点相切的相邻两直线或圆弧在等距后其等距线首尾相连且交点仍然相切的原则,其等距后圆弧起点应为上一等距线段的终点 O

16、ei-1 ,终点为下一线段的始点Osi+1, 故可以得到等距圆弧为 Oi,其起点为 Osi=Oei-1,终点为 Oei=Osi-1,圆心坐标为第i-1 段曲线 Ci-1 的终点坐标。设 lp 为指向 Ci 的指针, op1 为指向 Oi-1 的指针,如果lp1->spot=lp1->epot=lp1->cpot,op2= (jn-loop*)malloc(sizeof(jn-loop),计算 Osi+1 ,op=(jn-loop*)malloc(sizeof(jn-loop),op->spot=op1->epot ,op->epot=op2->spot ,op->cpot=lp->epot ,否则 lp=lp->next;3 结论本文用 SQL Server 数据库在windows 操作系统下创建了刀具库,并定义了加工轨迹的排序方法,在此基础上对内、外轮廓加工轨迹的生成算法进行了详细说明。加工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论