车铣刨 发表于 2013-10-31 23:10:54

铣斜面宏程序,请高手讲解

铣倾斜3度的面的代码如下:
O0001
#[#1+1*2]=1
G65P9012L1A0B0.1C4I100J3K0
M30
宏程序O9012代码如下:
G54 G90 G00 X[#3] Y0 Z100
S500 M3
G01 Z0 F300
WHILE[#1LE10]DO1
#7= #1/TAN[#5]+#3
G1Z-#1 X#7
#8=#6/2-ROUND[#6/2]
IF[#8EQ0]GOTO10
G1Y0
GOTO20
N10 Y#4
N20#1=#1+#2
#6=#6+1
END1
G0
Z100

车铣刨 发表于 2013-10-31 23:11:37

各位若能有更简单的编程请赐教(最好请讲解以下,应为我的宏程序水平只能控制一个变量),先谢了

齐乐 发表于 2013-10-31 23:12:34

是你自己编的么?看起来真晕啊,很规范,但是太复杂了,没有注解好难理解的
试分析一下
O0001
#[#1+1*2]=1      #1没登记,为空,那么就是代表了#[0+2]=1,#2=1
G65P9012L1A0B0.1C4I100J3K0 #1=0,#2=0.1,#3=4,#4=100,#5=3,#6=0,上边的设定不是没作用了?不理解
M30
宏程序O9012代码如下:
G54 G90 G00 X[#3] Y0 Z100看来#3是平刀半径等于4
S500 M3
G01 Z0 F300
WHILE[#1LE10]DO1
#7= #1/TAN[#5]+#3 看来#1代表切削深度z,#5代表角度,是3度.#7是实际计算刀具半径后的坐标
这个工件是左高右低的
G1Z-#1 X#7
#8=#6/2-ROUND[#6/2]#8的作用是用来验证精度的?保证不会出现小数点后第3位是单数,使精度达到0.0005?晕啊,一个平刀,至于么
IF[#8EQ0]GOTO10
G1Y0
GOTO20
N10 Y#4 原来#4是Y的坐标值啊??
N20#1=#1+#2 看来#2是深度步距,是0.1
#6=#6+1 才看明白,原来#6是用来记数的,偶数就是一个来回,奇数就是半个来回,#8是判断用的,而且还弄错了,应该是#8=#6-ROUND[#6/2] ,而且就这样也是画蛇添足.
END1
G0
Z100 后边没有M99???
分析,有实力没实践的死读书作品,超级复杂,毫无意义

齐乐 发表于 2013-10-31 23:13:17

为什么子程序要写到9012里边?难道要自己遍G代码?
这么多个变量,能记住?
晕倒

车铣刨 发表于 2013-10-31 23:13:52

不好意思,这是书上的,我编的是:先算掉球头刀的半径,在CAD软件上绘出Z轴每切深多少另外一轴相应改变多少,死算出来的都是平均分配,所以在编宏程序时只控制2个轴的变量,我就是想要用函数编咋编,最好能给一程序并讲解一下。(我学宏程序时是看别人编的宏程序凭自己理解才会控制2到三个轴,是在CAD上算好后再进行编程)

齐乐 发表于 2013-10-31 23:14:52

G18平面加刀补,用球刀我一般是这么编.
要么做出以刀具半径为距离的平行线公式,代入程序
多看看书,弄清楚基本规则,然后回家啃解析几何.
要想再高深就啃微积分
宏程序网络上没几个优秀的
宏程序的编制要下死工夫的,没太多的窍门,就是数学公式的运用.
我曾经琢磨一个程序花几个月的时间,绝大部分时间在琢磨数学公式,真编程没用几天.

车铣刨 发表于 2013-10-31 23:15:42

我也是这样想的,谢了,我正准备去搞几本数学书补一下函数
以后有问题在请教
static/image/smiley/default/lol.gif
页: [1]
查看完整版本: 铣斜面宏程序,请高手讲解