如下图所示的圆环点阵孔群中各孔的加工,我们曾经用A类宏程序解决过这类问题,这里再试用B类宏程序方法来解决问题。
圆环点阵孔群的加工图
宏程序中将用到下列变量:#1――第一个孔的起始角度A,在主程序中用对应的文字变量A赋值;
#3――孔加工固定循环中R平面值C,在主程序中用对应的文字变量C赋值;
#9――孔加工的进给量值F,在主程序中用对应的文字变量F赋值;
#11――要加工孔的孔数H,在主程序中用对应的文字变量H赋值;
#18――加工孔所处的圆环半径值R,在主程序中用对应的文字变量R赋值;
#26――孔深坐标值Z,在主程序中用对应的文字变量Z赋值;
#30――基准点,即圆环形中心的X坐标值XO;
#31――基准点,即圆环形中心的Y坐标值YO;
#32――当前加工孔的序号i;
#33――当前加工第i孔的角度;
#100――已加工孔的数量;
#101――当前加工孔的X坐标值,初值设置为圆环形中心的X坐标值XO;
#102――当前加工孔的Y坐标值,初值设置为圆环形中心的Y坐标值YO。 用户宏程序编写如下:
O8000
N8010 #30=#101 //基准点保存
N8020 #31=#102 //基准点保存
N8030 #32=1 //计数值置1
N8040 WHILE [#32 LE ABS[#11]] DO1 //进入孔加工循环体
N8050 #33=#1+360×[#32-1]/#11 //计算第i孔的角度
N8060 #101=#30+#18×COS[#33] //计算第i孔的X坐标值
N8070 #102=#31+#18×SIN[#33] //计算第i孔的Y坐标值
N8080 G90 G81 G98 X#101 Y#102 Z#26 R#3 F#9 //钻削第i孔
N8090 #32=#32+1 //计数器对孔序号i计数累加
N8100 #100=#100+1 //计算已加工孔数
N8110 END1 //孔加工循环体结束
N8120 #101=#30 //返回X坐标初值XO
N8130 #102=#31 //返回Y坐标初值YO
M99 //宏程序结束 在主程序中调用上述宏程序的调用格式为:
G65 P8000 A~ C~ F~ H~ R~ Z~
上述程序段中各文字变量后的值均应按零件图样中给定值来赋值。




