该孔系点阵为平行四边形,孔尺寸为Φ16mm,孔与孔之间间隔为55±0.1mm,第一行孔与X轴之间成15°±0.1°角,平行四边形锐角为65°,第一行孔的第一个孔与X轴、Y轴的距离均为50mm,零件的外轮廓尺寸为260mm、220mm孔深为25mm。
与普通编程相比,普通编程需要计算出每一个孔的具体尺寸,这对于精度控制要求较高的孔群零件,要达到图纸所需的尺寸精度,普通编程存在一定的困难;使用宏程序加工该孔系,仅需要保证第一行的第一个孔保证尺寸,剩余的孔就以第一个孔为基准,采用参考函数计算进行推进加工,加工比较容易实现。因此采用宏程序加工该零件。
刀具:麻花钻
编程参考:
#101=X;第一个孔的X坐标
#102=Y;第一个孔的Y坐标
#2=#101;第一个孔的X坐标赋值给#2
#3=#102;第一个孔的Y坐标赋值给#3
#4=1;平行四边形点阵孔系行孔数初始值
#5=1;平行四边形点阵孔群列孔数初始值
#6=15;起始边与X轴的夹角
#7=4;X轴孔数
#8=3;Y轴孔数
#9=55;X轴孔间距
#10=55;Y轴孔间距
#11=65;点阵孔系终边与起始边的夹角
#12=20;最终钻削深度
#13=50;安全高度
#14=500;钻削进给速度
O0001
G54G90G00X100.0Y100.0Z100.0;设置坐标系
M03S500;主轴转速
G43G00Z5.0;设置刀具长度补偿
X0.0Y0.0M07;机床移动,切削液打开
G65P3322;调用宏程序O3322
G00Z100.0M09;Z轴上升到100mm处,切削液关闭
G49;取消刀具长度补偿
X0.0Y0.0M05;主轴停止
M30;加工完毕,程序返回
O3322
WHILE[#4GT#7]DO1;如果#4大于#7,程序跳转
G00X#101Y#102;将刀具移动到孔的上方
G98G81Z#12R#13F#14;调用循环程序钻孔
#101=#2 #9*COS[#6];计算孔的X坐标值
#102=#3 #9*SIN[#6];计算孔的Y坐标值
#2=#101;将X坐标值赋值给#变量#2存储
#3=#102;将Y坐标值赋值给#变量3存储
#4=#4 1;孔数加1
END1;返回循环体1
WHILE[#5GE#8]DO2;
#101=#2 #10*COS[#6 #11];
#102=#3 #10*SIN[#6 #11];
G00X#101Y#102;
G98G81Z#12R#13F#14;
#2=#101;
#3=#102;
#5=#5 1;
END2;
#4=1;
WHILE[#4GE#7]DO3;
#101=#2-#9*COS[#29];
#102=#3-#9-SIN[#29];
G00X#101Y#102;
G98G81Z#12R#13F#14;
#2=#101;
#3=102;
#4=#4 1;
END3;
#5=1;
WHILE[#5GE#10]DO1;
#101=#2-#10*COS[#6 #10];
#102=#3-#10*SIN[#6 #10];
G00X#101Y#102;
G98G81Z#12R#13F#14;
#2=#101;
#3=#102;
#5=#5 1;
END1;
G80;取消固定循环
M99;返回主程序