Internal hex broaching with C-axis
Posted: Thu Dec 28, 2023 10:03 am
Not the fastest way to broach, but it worked with tools I have in stock
Uwe
Uwe
sure
Code: Select all
; Description: Groove broaching or milling for ID and OD
; Programmer: Uwe
; Reqiuers Custom Macros and C-Axis / Starts from Z2
; Date: 05-07-2022
; --- Header ---
G21 ; millimeter units - Change to G20 for imperial units
G40 ; Cutter Comp Off
G28 ; Tool change position
G98 ; Feed units/min
M51 ; C-Axis on
; --- Parameter ---
; === User Input START ====
; Start Diameter
#101 = 8
; End Diameter
#102 = 10
; Depth Z
#103 = -15
; Depth of cut
#105 = 0.1
; Feed units/min
#107 = 10000
; Retract ammount
#108 = 0.1
; Number of grooves
#110 = 6
; Select Tool
G28 T0909
;=== User Input END ====
;=== Do not modify ====
;Calculate ID or OD
IF #101 > #102 THEN #105 = [#105 * -1]
IF #101 < #102 THEN #108 = [#108 * -1]
;Calculate C Deg
#111 = [360/#110]
#115 = [360/#110]
#112 = 1
; Tool and C-Axis on
N100
;M67 ;Turn Live Tooling On
;G4 P0.5
M7 ;Turn Mist Cooling On
; === Cutting ===
N200
#106 = [#101+#105]
G0 Z2 X[#101]
G1 Z[#103] F#107
G0 X [#101+#108]
G0 Z2
G0 X[#106]
G1 Z[#103] F#107
G0 X [#106+#108]
G0 Z2
N300
;Calculate ID or OD
IF #101 > #102 THEN GOTO 330 ELSE GOTO 320
N320
IF [#106<=[#102-#105]] THEN GOTO 400 ELSE GOTO 500
N330
IF [#106>=[#102-#105]] THEN GOTO 400 ELSE GOTO 500
N400
#106=#106+#105
G0 X[#106]
G1 Z[#103] F#107
G0 X [#106+#108]
G0 Z2
GOTO 300
N500
IF #110 == 1 THEN GOTO 1000 ELSE GOTO 600
N600
#112 = [1+#112]
IF #50001
;M200 "C=%f 112 = %f"#111#112
G0 C[#111]
#111 = [#115 * #112]
IF #50001
IF #112 == [1+#110] THEN GOTO 700 ELSE GOTO 200
N700
; --- End of Program ---
N1000
G28
; M87 ; Turn Off Live Tooling
M50 ;C-Axis off
M9
M99 ; for use as subprogram
; End of Program