我们上学时学过椭圆公式,加工椭圆的宏程序应该很容易理解!
椭圆标准方程X*X/a*a Y*Y/b*b=1,其中a为长半轴,b为短半轴,若将X和Y用参数变量代替可改写为#1*#1/a*a #2*#2/b*b=1
椭圆可沿长半轴#1方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。如下图所示:
假设椭圆a=30,b=20,只加工半个椭圆,则此段椭圆精加工轨迹为:
G0X0
G1Z0F0.1
#1=30
N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示开平方
#3=#1-30 椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20
#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。
G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。
IF [#1GE0] GOTO 10 条件判断是否到达终点。
G1X42 直线切出外圆
如果要再加上分层的粗加工,设偏移量为#5,则程序改为
T0101
M3S800
G0X42Z5
#5=36
N5 G0X[#5]
G1Z0F0.1
#1=30
N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示开平方
#3=#1-30 椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20
#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。
G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。
IF [#1GE0] GOTO 10 条件判断是否到达终点。
G1X42 直线插补切出外圆
G0Z5
#5=#5-4
IF [#5 GE 0] GOTO 5
G0X150Z150
M5
M30
以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条四分之一椭圆弧。