数控加工中复杂空间曲线的编程处理
时间:2011-02-27 11:04:01 来源:
在采用数控机床加工零件时,往往会遇到零件形状是由复杂的空间曲线构成。已知条件是曲线的方程,这些方程可能是直接得到的,或者是通过轮廓形状上的一些关键点,通过似合的方法得到近似的曲线方程。数控加工的目的在于按照已知的曲线方程加工出零件,因此将曲线转换为数控机床需要的数控代码是很重要的一个环节。生成复杂零件数控代码的工作一般都通过编程软件来实现,而广大普通用户使用的编程软件一般不具备根据用户方程自动画出零件曲线的功能。所以实际只能在编程软件中根据曲线方程求解出尽可能多的节点并逐点连接成曲线。手工从事这部分工作既麻烦又难以保证曲线的准确,对于复杂的空间曲线,手工操作难以胜任。笔者采用Autolisp语言根据已知空间曲线方程编写绘图程序,在AutoCAD中实现曲线参数化设计,自动生成曲线,然后通过dxf文件格式,输人到MasterCAM软件中,再设置刀具路径等工艺参数和后置处理,最后生成NC代码,供数控机床加工零件。
图1 钢管焊接靠模曲线
1 空间复杂曲线方程
已知空间曲线如图1所示。该零件是自动焊接钢管时所用的靠模,在焊接加工中利用它控制焊枪的两个方向作运动,一个是水平运动,例如X方向当琴件绕2轴回转时,椭圆的圆柱轮廓象一个平面凸轮,使与它配合的焊枪水平移动焊枪的另一个运动是沿着Z轴。从图1可见,零件的上端部轮廓由余弦曲线构成,能使焊枪垂直上下移动空间曲线在XY平面的投影是一个椭圆,用极坐标表示XY平面的椭圆数学表达式为:
其中除t是变量外,r也是变量。已知椭圆方程为
式中a和b分别是椭圆的长短半轴。将(1)和(2)式代入(3),并整理后得变量r的表达式为:
再将(4)式代入(1)和(2)式,得到投影到XY平面并用极坐标表示的椭圆方程:
x= |
abcost |
|
(a2sin2t+b2cos2t)½ | |
(5) |
y= |
absint |
|
(a2sin2t+b2cos2t)½ | |
(6) |
图2 曲线展开图
图3 程序流程图
由(5)和(6)式可确定XY平面椭圆曲线上的每一点的坐标。将图1曲线沿圆周展开的曲线如图2所示。与平面上的每一点所对应的Z轴坐标为:
由(5)(6)和(7)可确定所求曲线的空间点的坐标值(x,y,z)。
2 计算机程序原理
Autolisp是AutoCAD内嵌的编程工具,具有许多专用函数,可以用于AutoCAD作二次开发,实现图形参数化设计。计算机绘制复杂空间曲线的程序流程如图3所示。
运行程序时首先要输入有关参数变量,包括每段曲线自变量的初始值、终值和步距,如:t0、te1、te2…ten和dt,接着轴入每段曲线的函数x1(t)、x2(t)、…、xn(t),y1(t)、y2(t)、…、yn(t),z1(t)、z2(t),…、zn(t),以及其他参数。然后程序便自动按dt自变量,求出相应曲线上各节点的坐标,将各节点用直线连接。一段曲线绘完后,调出下一段函数继续计算和画连线,直到所有曲线段都完成为止,本例中的曲线仅由一段曲线方程构成。因此按顺序分别输入t0=0,te1=360,x1(t)、y1(t)和z1(t)分别为式(5)、(6)和(7),dt=0.5,以及a=16,b=13,h=10等输入参数的工作完成后,在AutoCAD环境中就会逐点生成所要求的整个零件的曲线轮廓, 如图4所示。
图4 在AutoCAD中生成的曲线
|
3 生成数控代码
由于AutoCAD软件没有CAM功能,必须将运行Autolisp程序生成的图4转换为dxf文件格式。MasterCAM是目前机械加工行业使用很普遍的CAD/CAM软件,它既能绘制二维和三维零件图形,又能设置刀具路径、刀具参数、切削用量等加工工艺参数,并可模拟刀具路径,最后生成用于多种数控机床的NC代码具体步骤如下:
- File-Converters-dxf读取图4图形文件;
- Toolpath-Contour选择轮廓加工模式为外形加工;
- Chain方法定义外形,加工路径用串连的连线确定;
- 输入刀具和外形铣削参数(如选择刀具直径、主轴转速、切削深度等加工参数);
- 显示刀具路径;
- NC-Utils-Backplot刀具路径模拟以检查刀具和切削参数是否合理;
- NC-Utils-Post Proc-Run刀具路径经后置处理生成可加工图1零件的数控代码。
以下仅列出典型位置的代码:
由于要求在零件端面轮廓上加工出一条曲线。所以数控程序中进行刀具半径左或右补偿都是不合适的,因此要将刀具补偿的选项关闭,使刀具中心线沿曲线移动;设置参数时要将刀具选为球头铣刀,直径设为6mm,刀具直径太大可能导致刀具过切严重;下刀点应选在曲线的最低点。避免加工时出现意想不到的刀其垂直进给过量;运行生成的数控代码正好能加工曲线一周,如果仅用此程序加工零件,在波谷处切削量太大。因此该程序只能作为子程序。还要编制一个简单的主程序,完成Z 轴的深度进给,即Z轴每进给一次,调用子程序加工零件一周,直至加工出完整的曲线轮廓,主程序方结束(主程序略)。
上述处理只解决了零件上端部的复杂空间曲线的编程和加工问题作为图1零件,还有椭圆圆柱轮廓等需要加工,但剩下的形状在MasterCAM中是容易造型和处理的,所以可以直接用MasterCAM处理,这里不再详叙。
4 结论
- 大部分CAD软件都只有直线和团弧绘图功能,对干复杂的非圆几何曲线,特别是空间曲线,一般只能用描点法去人工拟合,结果很难精确。采用直线遥近的方法,将复杂曲线编程和运行,能自动生成满足精度要求的图形。
- 采用Autolisp语言编程,绘制出要求的零件轮廓曲线,再通过MasterCAM软件选择加工参数和后置处理,生成NC代码,在数控机床上加工零件的方法是成功的,能确保零件的轮廓精度要求。这种方法不但可以处理平面非圆几何曲线,也可以处理复杂的空间曲线等曲线轮廓。