迷茫中回转 发表于 2023-4-17 21:48:40

铣锥孔宏程序望大哥们赐教

请大哥们赐教,这个铣锥孔深度10,用的LE控制,为什么铣出来是12深,我就用14行的强制赋值控制,不知道为什么,就成死循环了,一直在深度10深处循环,望大哥们帮我看看是哪里的问题!(我用LT控制就是10深)谢谢了,顺便能帮我写个铣斜面的程序,最好变量少一些,我学习下,谢谢大哥们了!

神蛙 发表于 2023-4-18 11:07:30

LE是小于或等于,也就是当#5等于#2时 条件式也是成立的,所以会继续执行#5=#5+2,这样铣出来的深度就变成12了,IF强制赋值的条件式里的GE是一样的道理

迷茫中回转 发表于 2023-4-18 15:07:27

神蛙 发表于 2023-4-18 11:07
LE是小于或等于,也就是当#5等于#2时 条件式也是成立的,所以会继续执行#5=#5+2,这样铣出来的深度就变成12 ...

大哥,使用LE,强制赋值怎么写?我试了几次,都是死循环,谢谢了

神蛙 发表于 2023-4-19 09:54:13

迷茫中回转 发表于 2023-4-18 15:07
大哥,使用LE,强制赋值怎么写?我试了几次,都是死循环,谢谢了

为什么一定要用LE呢,两个条件式都包含等于这个条件,肯定会死循环的。图里的宏程序把LE改成LT就可以正常执行了,而且宏后面还有一行铣圆,也不会存在最后一刀不平的

神蛙 发表于 2023-4-19 10:12:42

你要非得用LE就这样写吧
M6T1
G90G54X0.0Y0.0M3S2000
G0Z3.0
#1=36
#2=10
#3=20
#5=0
#16=30
#17=#2+2
#18=#2-0.001
Z0
WHILE[#5LE#18] DO1
#5=#5+2
IF[#5GE#17] THEN#5=#2
#14= TAN[#16]*[#5]
#6=[#1-#3]/2-#14
G1X#6Y0.
G3 I-#6 Z-#5 F1000
END1
G3 I-#6
G0 Z30.0
多两个变量,其实跟上个是差不多的运算,因为两个条件式都是判断#5和#2,要都包含等于的话,WHILE[#5LE#2] DO1这一行的#5在等于10以后,下一行#5=#5+2,#5变成12,再下面IF判断又把#5强制为10,那不是又绕回去了吗

迷茫中回转 发表于 2023-4-19 17:59:46

神蛙 发表于 2023-4-19 10:12
你要非得用LE就这样写吧
M6T1
G90G54X0.0Y0.0M3S2000


谢谢大哥了!非常感谢!

15967891762 发表于 2023-4-29 09:30:13

电脑编
页: [1]
查看完整版本: 铣锥孔宏程序望大哥们赐教