找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 39|回复: 0

[分享] 反向沉头孔加工

[复制链接]

7

主题

94

回帖

3395

积分

中尉

积分
3395
发表于 2 小时前 | 显示全部楼层 |阅读模式

%
O889 (反向沉头孔主程序-螺旋/分层双模式)
T3 M6
G0 G90 G54 X60.Y60. M3 S1200
G43 H3 Z100.M8
F2000

; 调用说明(最终版:B=厚度,R<Z,刀具直径<D):
; A=沉头直径   B=T型刀厚度   D=刀杆直径(必须<A)
; R=名义起点Z   Z=名义终点Z(必须满足 R < Z)
; Q=每层上刀量 U=铣削进给 E=模式(1=螺旋 2=分层)
G66 P8002 A50 B8 D10 R-27 Z-1 Q0.5 U1500 E1.
X0.Y0.
G67

M5
M9
G91 G28 G0 Z0.
M30
%

%
O8002 (==FANXING CHENTOU== T型刀版-校验逻辑精准修正)
#33=1
IF [#33 EQ 0] GOTO 99
#3003=1

; ===================== 参数定义(最终版) =====================
; A=#1(沉头直径)  B=#2(T型刀厚度)  D=#7(刀杆直径)
; R=#18(名义起点Z) Z=#26(名义终点Z)
; Q=#17(每层上刀量) U=#21(铣削进给) E=#8(模式)
IF[#9 EQ #0] THEN #9=#4109
#15=#9
IF[#21 EQ #0] THEN #21=#9
IF[#24 EQ #0] THEN #24=#5001
IF[#25 EQ #0] THEN #25=#5002
#6=#5003

; ===================== 参数合法性校验(核心修正:刀具直径报警) =====================
IF[#1 LE 0.] THEN #3000=1 (A ER:沉头直径≤0,请输入正数)
IF[#2 LE 0.] THEN #3000=2 (B ER:T型刀厚度≤0,请输入正数)
IF[#7 GE #1] THEN #3000=3 (D/A ER:刀具直径≥沉头直径,会撞刀,无法加工)
IF[#7 LT 0.] THEN #3000=4 (D ER:刀具直径<0,请输入正数)
; 强化R<Z报警
IF[#18 GE #26] THEN #3000=5 (R/Z ER:名义R值≥Z值!R必须小于Z,检查参数)
IF[#17 LE 0.] THEN #3000=6 (Q ER:每层上刀量≤0,请输入正数)
IF[#4003 EQ 91] THEN #3000=7 (G91 ER:禁止增量坐标,请切换G90)
IF[#8 NE 1. AND #8 NE 2.] THEN #3000=8 (E ER:仅支持E1(螺旋)/E2(分层)模式)

; ===================== 加工半径+实际RZ计算(核心不变) =====================
#20=[#1 - #2]/2 (加工半径=(沉头直径-T型刀厚度)/2)
#30=#18 - #2 (实际起点=名义R-B → -27-8=-35)
#31=#26 - #2 (实际终点=名义Z-B → -20-8=-28)

; ===================== 模式分支 =====================
IF[#8 EQ 1.] GOTO 10
IF[#8 EQ 2.] GOTO 20

; ===================== E1:螺旋铣削模式 =====================
N10
#10=#30 (初始Z=实际起点-35)
G0 G90 X#24 Y#25
Z[#10 - 2.] (实际起点下方2mm安全位-37)
G01 Z#10 F#9

G91 G03 X#20 Y0. I[#20/2] J0. F#21
G90

WHILE[#10 LT #31 - 0.01] DO1
  #10=#10 + #17
  IF[#10 GT #31] THEN #10=#31
  G03 G90 I[-#20] Z#10 F#21
END1

G03 G90 I[-#20] F#21
G91 G03 X[-#20] Y0. I[-#20/2] J0. F#21
G90
GOTO 80

; ===================== E2:分层铣削模式 =====================
N20
#10=#30 (初始Z=实际起点-35)
G0 G90 X#24 Y#25
Z[#10 - 2.] (实际起点下方2mm安全位-37)
G01 Z#10 F#9

WHILE[#10 LT #31 - 0.01] DO2
  G91 G03 X#20 Y0. I[#20/2] J0. F#21
  G90
  G03 G90 I[-#20] F#21
  G91 G03 X[-#20] Y0. I[-#20/2] J0. F#21
  G90

  #10=#10 + #17
  IF[#10 GT #31] THEN #10=#31
  G01 G90 Z#10 F#9
END2

G91 G03 X#20 Y0. I[#20/2] J0. F#21
G90
G03 G90 I[-#20] F#21
G91 G03 X[-#20] Y0. I[-#20/2] J0. F#21
G90

; ===================== 通用抬刀段 =====================
N80
G01 G90 Z[#18 + 10.] F#9
G0 Z#6 F#15

; ===================== 程序结束 =====================
N99
#24=#0
#25=#0
M99
%

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2026-2-10 18:41

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表