程序一:
参数方程:x=A*cost y=B*sint [A,B是长半轴和短半轴,t是角度,变量值]
[因为吃刀量根据角度来计算不能保证吃刀量的稳定性。]
开进刀槽,退刀槽。程序略
T0101 G99 G97 (编写前半部分椭圆开粗[右边])
M3 S500
G0 X43.
Z2.
#1=90 (最高点的角度值,90°是最大值。角度递减)
WHILE[#1GT0]DO1 (角度递减循环)
#2=30*COS[#1]-30(计算Z值,长半轴圆心在x0y0,偏移一个长半轴距离,使其端面位置到X0Y0)
#3=20*SIN[#1]*2(计算X值,*2是计算直径。)
G0 Z2.
G0 X#3(定位到计算好的X值)
G1 Z#2(切削计算好的Z值,)
G0 U2 Z2.
#1=#1-2.5(角度递减,数值越大,吃刀量越大。)
END1
G0 X45(加工后半部分椭圆粗车[左边])
Z-53
#11=90(加工后半部分,角度从90开始。角度递增。)
WHILE[#11LT138]DO2(同上面的,138是后半部分的角度。)
#12=30*COS[#11]-30
#13=20*SIN[#11]*2
G0 Z-53.
G0 X#13
G1 Z#12
G0 U2 Z-53.
G0 X43
#11=#11+2.(后半部分,角度递加。)
END2
G0 X43.(精车 同上。)
Z2.
#27=0(精车从开始加工,开始角度0)
#28=138(精车,椭圆结束角度值。)
G0 X0
Z0.
N5
#30=30*COS[#27]-30
#31=20*SIN[#27]*2
G1 X#31 Z#30
#27=#27+1(角度递增,数值越小,精度越高,越接近椭圆。反之。)
IF[#27LT#28]GOTO5
G1 Z-60
G1 X37
G1 X40 W-1.5
G0 X50
G0 Z150
M30
程序二:
标准方程:X²/A²+Y²/B²=1,及其变形。
[吃刀量根据用户输入的变量的。]
开进刀槽,退刀槽。程序略
T101 G99 G97 //椭圆前半部分开粗
M3 S800
G0 X43.
Z2.
#3=40 //此值一定要是椭圆的最大直径处。
WHILE[#3GE0]DO1//X值判定循环。
#4=SQRT[900*[1-[#3*#3]/[1600]]] //椭圆公式变形的,计算Z值。900=30*30 1600=(20*2)的平方
X#3
G1 Z[#4-30] //Z值的 终点。前部分-一个长轴距离(Z方向的轴)
G1 U2 Z2.
#3=#3-2 //每次X值的吃刀量
END1
G0 X43. //椭圆后半部分开粗
Z-53
#13=40 //此值一定要是椭圆的最大直径处。
WHILE[#13GE27.6]DO1 //X值判定循环。
#14=SQRT[900*[1-[#13*#13]/[1600]]] //椭圆公式变形的,计算Z值。同上。
X#13
G1 Z-[#14+30] //计算Z值的终点,后半部分+一个长轴。(Z方向的轴)
G0 U2 Z-53
#13=#13-2//每次X值的吃刀量
END1
G0 X43.
G0 Z2.(精车)
G0 X0.
G1 Z0.
#21=30(长半轴)
#22=20(短半轴)
#23=30(椭圆长半轴,用于变量计算X值)
#24=52(椭圆长度,按照Z值0.1 直线拟合)
WHILE[#24GE0]DO1 (循环,用Z值做判断。)
#25=#22*2*SQRT[1-[#23*#23]/[#21*#21]] (椭圆标准方程变形的,计算X值。)
G1 X#25 Z[#24-52]
#23=#23-0.1(椭圆长半轴递减,主要用于计算椭圆的X值,)
#24=#24-0.1(Z值计算)
END1
G1 Z-60
G1 X37
G1 X40 W-1.5
M30