羅蓋仙 发表于 2013-3-30 12:44:07

仿Mastercam──粗挖方槽(平行环切)

本帖最后由 羅蓋仙 于 2013-3-30 12:57 编辑

小弟兩多年前寫的,那時剛開始被老師教會使用CAM軟體與變數程序,結果發現我對CAM軟體沒有太大的興趣,
找不到目標寫,邊玩CAM軟體發現CAM的平行環切很有規律我去研究了,於是著筆寫寫看

矩形槽(長方形)還不適用,我這個程序只針對正方形槽,這樣比較單純讓網友易懂,長方形原理也一樣我有私自寫好

先說明一下CAM挖槽(平行環切)的計算規則:
取內槽的一半為#4,假設槽單邊長為60mm,半內槽I為30.
U(#21)為切距.步距
#100=#4-#18 (內槽-刀半徑)
#101=#21/2. (切距的一半,準備用余數與#101做對比的分界)
#102=[#100/#21-FIX[#100/#21]]*#21 (取余數)
#103=#102-#101(如果余數大于切距的一半,將會使用到他)

以下兵分四路:
甲.IF余數EQ0. (剛好整除):先做#101,再做#21,然後用#21加到底
乙.IF余數EQ#101 (切距的一半):先做#101,然後用#21加到底
丙.IF余數GT#101. :先做#103,再做#102,然後用#21加到底
丁.IF余數LT#101. :先做#102,再用#21加到底
圖解兵分四路,以及左下図為CAM的路徑,右下図為我的路徑,其實都一樣




%
O0003(主程序)
G91G28Z0.
T1M6
G0G54G90G94G17X0.Y0.
G43H1Z100.S1000M3
Z10.
G65P5X0.Y0.I30.R5.U2.Z-2.F800
G0Z200.
G91G28Z0.Y0.
M0
%

XY工件的中心
I內槽的一半
R刀半徑
U切距
Z深度


%
O0005(副程序)
#100=#4-#18 (內槽-刀半徑)
#101=[#21*.5] (切距的一半)
#102=[#100/#21-FIX[#100/#21]]*#21 (取餘數)
#103=#102-#101 (餘數-切距的1/2)

G90G1X#24Y#25F[#9*5.]
Z[#26+10.]F[#9*3.]
Z#26F[#9/3.]

(甲)IF[#102EQ0.]GOTO1
(乙)IF[#102EQ#101]GOTO1
(丙)IF[#102GT#101]GOTO3
(丁)IF[#102LT#101]GOTO4


N1WHILE[#101LE#100]DO1
G1X[#24+#101]F#9
Y[#25+#101]
X[-#101+#24]
Y[-#101+#25]
X[#24+#101]
Y#25
IF[#102EQ0.]GOTO2
#101=#101+#21
END1
G0Z30.
M99

N2#27=#21(切距)
WHILE[#27LE#100]DO2
G1X[#24+#27]F#9
Y[#25+#27]
X[-#27+#24]
Y[-#27+#25]
X[#24+#27]
Y#25
27=#27+#21
END2
G0Z30.
M99

N3G1X[#24+#103]F#9
Y[#25+#103]
X[-#103+#24]
Y[-#103+#25]
X[#24+#103]
Y#25

N4WHILE[#102LE#100]DO3
G1X[#24+#102]F#9
Y[#25+#102]
X[-#102+#24]
Y[-#102+#25]
X[#24+#102]
Y#25
#102=#102+#21
END3
G0Z30.
M99
%

以上有實際在機台上空跑運行過,程序有點長,自己有改良成最精簡的,如果有高手以原則不變把我的程序簡化者,請指點
我想用我的我私下的簡化版(那一套我改的很有信心)與您對照,我上傳的這一套還有很大的改良空間

空气中的小鱼 发表于 2013-3-30 16:13:57

首先,先支持一下

空气中的小鱼 发表于 2013-3-30 16:22:59

我记得应该是2004年,我也写过类似的程序,先去翻翻看能不能找出来。
不过后面也如楼主,重写了N遍,最后的最新版本给模块化了,好像是2009年是最新版本,只写了FANUC和TOSUNC的系统,主要用于模架模框区域加工,可以加二维和三维,加工类型比较多,程序能够共用相同系统不同版本,具备容错性能,人性化操作,程序必须配合机床参数方可使用,程序总共大概上W行,由于是商业话的程序,我就不贴出来了,
找个单独简化的贴出来看看吧,不过要先找找,不一定能够找到。

空气中的小鱼 发表于 2013-3-30 16:39:10

回复 1# 羅蓋仙
你这个适合铣平面,建议你改善为可以铣模框的,带R角的
实现了以上,就增加做框四个面可以带不同斜度的功能
实现了以上,就增加加工四个面底部加工不同R底的功能(要有R底加密走刀)
实现了以上,就增加加工四面面顶部加工不同R底的功能(要有R底加密走刀)
到了后面可以增加走刀模式刀路,比如,走边,走底,插角。。。

若枫 发表于 2013-3-30 18:22:09

我在听天书,

羅蓋仙 发表于 2013-3-30 18:36:16

本帖最后由 羅蓋仙 于 2013-3-30 18:42 编辑

謝謝指点
我本來也想加入XY方向的預留量.精修次數.精修量等等,可能還要再動腦
Z軸分層銑深的設置,想簡單的在主程序多呼叫幾次就有效果
如:
G65P5X0.Y0.I30.R5.U2.Z-3.F300
G65P5X0.Y0.I30.R5.U2.Z-6.F300
G65P5X0.Y0.I30.R5.U2.Z-9.F300
G65P5X0.Y0.I30.R5.U3.Z-10.F100(有精修的效果)
以上為基本.簡單的設置

如果最後還有內槽的外形铣削會更好,所以我這個只是理論
實際使用請當將就用,還是可以用,沒那麼多功能

xinxuan110 发表于 2013-3-30 21:00:35

高手啊,顶!!!

cadme 发表于 2013-3-30 23:42:50

佩服楼主,原理看的明白,但自己一直没有这个耐心。

羅蓋仙 发表于 2013-3-31 09:46:53

回复 8# cadme

可能是你工作比較忙碌,還要加班沒多余的時間
我比較會忙裡偷閒,悠閒很快樂

lixuejin 发表于 2013-4-2 09:01:28

确实看不懂 很少用宏
页: [1] 2
查看完整版本: 仿Mastercam──粗挖方槽(平行环切)