山特维克 发表于 2013-10-31 22:24:42

螺纹铣刀铣螺纹的程序

本帖最后由 老头子 于 2013-10-31 22:28 编辑

看了很多人都在问螺纹铣刀铣螺纹时的进给和转数之间是什么关系,答案是没关系,当然是螺纹铣刀,不是丝锥额!
螺纹铣刀加工螺纹一般都是用宏程序来编制的,道理很简单,螺纹铣刀每走一圈,Z方向因该增量下去一个螺距,如此循环到深度即可,例如用直径为10的螺纹铣刀在坐标为X100 Y50的地方加工M40*2.5深度为50的螺纹,程序如下:
T1 M6
G0 G90 G54 G40 X0 Y0
G43 Z50 H1 S1000 M3
#1 = 10       (刀具半径)
#2 = 20       (要加工的螺纹半径)
#3 =2.5       (螺距)
#4 =0         (z方向初始的深度)
#5 =50       (目标深度)
G52 X100 Y50   (建立局部坐标系)
G0 X0 Y0
G0 Z3         (下到安全高度)
G1 Z-#4 F200   (下到初始值)
G1 X[#2-#1]F1000(位移到目标位置)
N100 #4=#4+#3   (计数器赋值)
G2 I-[#2-#1] Z-#4 F500(3轴联动铣螺纹)
IF[#4 LT #5] GOTO100 (判断是否到达目标深度)
G1 X0
G0 Z200
G91 G28 Y0
M30
此类程序有点弊端就是深度有可能会多一个螺距,如果深度要求较高的话,建议更改刀具长度来弥补。
此类程序的优点就是方便修改,如果螺纹超小就直接改#1(刀具半径),反复铣削是不会让螺纹超大或烂牙的。
注意:选择正确的螺纹刀(主要是螺距),程序中GOTO的输入为英文哦,我原来输错成数字后,老是报警,找了半天都没找到原因,希望能帮到大家,有不足的地方请指出。

山特维克 发表于 2013-10-31 22:25:34

搞忘取消G52了,用G52 X0 Y0就可以了

满庭芳 发表于 2013-10-31 22:26:16

不错,顶一下
static/image/smiley/default/biggrin.gif

满庭芳 发表于 2013-10-31 22:26:48

如果是单刃螺纹刀,转速和进给速度没有一个配比会不会出现乱扣呀?

山特维克 发表于 2013-10-31 22:27:44

不会,放心用吧!

郭飞鹰 发表于 2013-10-31 22:28:40

正在学 西螺纹

黄学明 发表于 2013-10-31 22:29:22

这个也需要用宏程序吗,我遇到是不会用的
O0001
G0G90G54X100.Y50.S1200M3
G43H2Z50.M8
Z1.
G1Z0.F100
X115.
M98P2L20
G90G1X100.F100
G00Z200.
M30
O0002
G91G2I-15.Z-2.5
M99

iytbanfhv 发表于 2013-10-31 22:30:13

以前上学的时候用过宏程序,现在时间长不用,忘的差不多了?~
程序中“LT”是什么意思?~
IF还像少了一个吧?我忘记少那个是什么,太长时间不用了。
但有“如果。。。。”就要有“否则。。。。”
我不知道对不对了~
向你请都一下!

ddss3322 发表于 2013-10-31 22:30:44


G01就能编,我可以考虑以后有空时写个软件,直接编出程序,这个不难,我可以提供免费下载。国外刀具贵的原因主要就是在服务上赚钱,螺纹铣也一样,没他们的服务我们的加工者就不知道如何编出合适的程序,而国内卖刀的不给提供这样的服务,也不去研究,因此没有任何竞争优势

山特维克 发表于 2013-10-31 22:31:36

7# 黄学明
这样当然也可以,但是我不喜欢用子程序,因为经常会被误删除,有时间的话可以用自变量赋值做成模块,再用G65调用,这样就能固化了,类似的列子会在以后的帖子发布,至于8楼的朋友说的“LT”指的是“小于”,IF[#4 LT #5] GOTO100 这句话是判断Z是否到达深度,如果当前深度(#4)小于指定的值(#5)就到N100的地方,如果(#4)大于#5就直接到
G1 X0
G0 Z200
G91 G28 Y0
M30
如果你说的少的是"THAN"的话,在这里可以不用,要用的话就给一个螺距的倍数,列如:
IF[#4 LT #5] GOTO100 可以改为 IF[#4 LT #5] THAN #4=50
“than"是什么意思就不用我说了吧
static/image/smiley/default/smile.gif
页: [1]
查看完整版本: 螺纹铣刀铣螺纹的程序