数控加工中复杂空间曲线的编程处理
在采用数控机床加工零件时,往往会遇到零件形状是由复杂的空间曲线构成。已知条件是曲线的方程,这些方程可能是直接得到的,或者是通过轮廓形状上的一些关键点,通过似合的方法得到近似的曲线方程。数控加工的目的在于按照已知的曲线方程加工出零件,因此将曲线转换为数控机床需要的数控代码是很重要的一个环节。生成复杂零件数控代码的工作一般都通过编程软件来实现,而广大普通用户使用的编程软件一般不具备根据用户方程自动画出零件曲线的功能。所以实际只能在编程软件中根据曲线方程求解出尽可能多的节点并逐点连接成曲线。手工从事这部分工作既麻烦又难以保证曲线的准确,对于复杂的空间曲线,手工操作难以胜任。笔者采用Autolisp语言根据已知空间曲线方程编写绘图程序,在AutoCAD中实现曲线参数化设计,自动生成曲线,然后通过dxf文件格式,输人到MasterCAM软件中,再设置刀具路径等工艺参数和后置处理,最后生成NC代码,供数控机床加工零件。图1 钢管焊接靠模曲线
1 空间复杂曲线方程
已知空间曲线如图1所示。该零件是自动焊接钢管时所用的靠模,在焊接加工中利用它控制焊枪的两个方向作运动,一个是水平运动,例如X方向当琴件绕2轴回转时,椭圆的圆柱轮廓象一个平面凸轮,使与它配合的焊枪水平移动焊枪的另一个运动是沿着Z轴。从图1可见,零件的上端部轮廓由余弦曲线构成,能使焊枪垂直上下移动空间曲线在XY平面的投影是一个椭圆,用极坐标表示XY平面的椭圆数学表达式为:
x=rcost
(1)
Y=rsint
(2)
其中除t是变量外,r也是变量。已知椭圆方程为
x2
+
y2
=1
a2
b2
式中a和b分别是椭圆的长短半轴。将(1)和(2)式代入(3),并整理后得变量r的表达式为:
r=
ab
(a2sin2t+b2cos2t)½
再将(4)式代入(1)和(2)式,得到投影到XY平面并用极坐标表示的椭圆方程:
x=
abcost
(a2sin2t+b2cos2t)½
y=
absint
(a2sin2t+b2cos2t)½
图2 曲线展开图
图3 程序流程图
由(5)和(6)式可确定XY平面椭圆曲线上的每一点的坐标。将图1曲线沿圆周展开的曲线如图2所示。与平面上的每一点所对应的Z轴坐标为:
z=hcos(2t-p)
(7)
由(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中生成的曲线
页:
[1]