cl2wmy
发表于 2010-12-1 05:02:09
这是一个三坐标同时变化的宏程序,其实前面的#500到#504的参数可以省略不要写,直接赋值到下面就可以,至于下面的跳转可以选用镶嵌式跳转,while___DO方式,本来很简单的程序被你复杂化了
uwycui
发表于 2010-12-5 09:49:53
鄙人操作OKUMA系统的。对法拉克系统略知一二。既然没有高手出来指点。那我来抛砖引玉吧。
楼上那位兄弟所说的我不太认同。,我自已编程也喜欢把条件数据放在程序最前面。方便。明了,
O
(HUAHUI-GAN ) (此程序加工原点在工件表面X-Y-方向。X方向必须离开刀具半径)
G90 G54 M3 S3000 不解释
#500=1100. 工件长度
(CHANGDU )
#501=310 . 工件宽度
(KUANDU)
#502=50. 刀具直径
(BANJING)
(START)
#503=2. 每刀下刀量
#504=0. 最终想切到的Z位置
#101=0. 第一刀下刀位置
#101=-#101
#502=#502*0.8 每刀Y方向进刀具直径的80%
#102=-#502
#501=FUP[#501/#502]* #502 取整数并且每刀Y方向进刀量平均化
N10G0 Z100.
X0 Y#102 Y移动到工件外面为第一刀Y位置做准备(无实际意义,作者思路不是很完美)
Z15.
G1 Z-#101 F2000
N20 #102=#102+#502 自动计算下一刀Y位置。
IF[#102GT#501]GOTO 100 假如下一刀Y位置大于工件宽度那就跳转到N100
Y#102 移动到第一刀Y位置。
X#500 切削加工X方向。
#102=#102+#502 计算下一刀Y位置。
IF[#102GT#501]GOTO 100 假如下一刀Y位置大于工件宽度那就跳转到N100
Y#102
X0
IF[#102LE#501]GOTO 20 假如下一刀Y位置小于工件宽度则跳回N20继续加工
N100 #101=#101+#503 计算下一刀Z位置(作者有误,这样计算出来为正数。)
IF[#101LE#504]GOTO 10 假如下一刀Z位置小于或等于目标值时跳回N10继续加工(同上。难道作者是想Z方向从下往上切?)
#100=#100+1 (无实际意义。应该是计算切了几刀)
#101=#504
IF[#504EQ1]GOTO 10 (这程序执行下来这一步永远不会跳转。不理解)
G0Z100.
M05
M30
这段程序是能执行的,执行的效果就是Z方向在0的位置上切一遍就结束。
思路有很多不完善的地方。比如对原点,估计只有作者本人才知道对在那个位置最合适,反正是不能对在工件表面上
还有Z方向下刀第一刀数值设定如果不是2的倍数那就没法切到想要的厚度了。
zhangjinshan
发表于 2010-12-9 19:24:54
挣点威望...顶个嘿嘿
. `5 `2 z( e4 z0 [准备学习表示鸭梨很大呀...
丢了翅膀的鸟
发表于 2010-12-9 20:59:12
关注高手讲解
丢了翅膀的鸟
发表于 2010-12-9 21:08:57
回复 uwycui 的帖子
呵呵不懂 还是很高兴看到
少年游
发表于 2010-12-10 21:44:15
顶一下:)
少年游
发表于 2010-12-10 22:26:55
本帖最后由 少年游 于 2010-12-10 22:31 编辑
不好意思,没注意有人解释了。我的东西删除。
dero
发表于 2010-12-11 23:24:57
這東西真的實用嗎?真的不懂,宏程序要系統邊算邊加工,有直接給他指令來的快嗎?說法不一。。。
yxz4538
发表于 2010-12-12 10:25:31
还是用MASTERCAM快...............
chenhang1101
发表于 2010-12-12 17:23:03
不是很同意楼上的见地啊~!宏程序这么经典的东西,怎么能用MASTERCAM 来替换,那你不说UG 更安逸~!