Knurling w/ threading tool using G33 - Emco 120P
14 Sep 2015 00:14 #62521
by tome
Knurling w/ threading tool using G33 - Emco 120P was created by tome
Here is a video of our G33 knurling routine running. Pretty cool. I’m sure we aren’t the first to do this, but since I haven’t seen it before I will pretend like it BTW, this knurl is only about 5 thou deep, deeper ones will follow.
Here is the code:
G8
G53 G0 X0
G53 G0 Z0
M6 T3 G43
#<workpieceDia> = 0.700
#<workpieceRad> = [#<workpieceDia>/2]
#<safeXOffset> = 0.025
#<safeX> = [#<workpieceRad> + #<safeXOffset>]
#<knurlStartZ> = 0.000
#<knurlLen> = 0.25
#<knurlLeadIn> = 0.010
#<knurlDepth> = 0.002
#<knurlPerDia> = 28
#<knurlAngle> = 30
#<knurlEndZ> = [#<knurlStartZ> - #<knurlLen>]
#<rpm> = 100
#<pi> = 3.142
; The surface is the circumference of the workpiece
#<workSurface> = [#<pi> * #<workpieceDia>]
; Given a knurl angle, calculate Z feed given <workSurface>
#<feedPerRev> = [TAN[#<knurlAngle>] * #<workSurface>]
#<feedPerMin> = [#<feedPerRev> * #<rpm>]
(debug, feed per revolution: #<feedPerRev>; per min: #<feedPerMin>)
; thread _width_ is equal to distance traveled in one rev, i.e. <feedPerRev>
#<threadWidth> = #<feedPerRev>
; Thus, TPI will be 1/<threadWidth>
#<tpi> = [1/#<threadWidth>]
; To do a n-start thread, we need to start each thread
; <threadWidth>/n further back (Z+) than the prior thread
#<nStartZOffset> = [#<threadWidth>/#<knurlPerDia>]
M3 S#<rpm>
#100 = #<knurlPerDia>
#110 = [[#<knurlPerDia> * #<nStartZOffset>] + #<knurlStartZ> + #<knurlLeadIn>]
(debug, knurl lead in: #110)
G0 Z#110
G0 X[#<workpieceRad> - #<knurlDepth>]
O100 WHILE [#100 GT 0]
(debug, start Z: #110; feed: #<feedPerRev>)
(calculate the lead in for the knurl AFTER this one)
#105 = #110
#110 = [#110 - #<nStartZOffset>]
;G33 Z#110 K#<feedPerRev>
;G1 Z#<knurlEndZ> F#<feedPerMin>
;G1 Z#105 F#<feedPerMin>
G33 Z#<knurlEndZ> K#<feedPerRev>
G33 Z#105 K#<feedPerRev>
;G0 X#<safeX>
G0 Z#110
;G0 X[#<workpieceRad> - #<knurlDepth>]
#100 = [#100 - 1]
O100 ENDWHILE
Here is the code:
G8
G53 G0 X0
G53 G0 Z0
M6 T3 G43
#<workpieceDia> = 0.700
#<workpieceRad> = [#<workpieceDia>/2]
#<safeXOffset> = 0.025
#<safeX> = [#<workpieceRad> + #<safeXOffset>]
#<knurlStartZ> = 0.000
#<knurlLen> = 0.25
#<knurlLeadIn> = 0.010
#<knurlDepth> = 0.002
#<knurlPerDia> = 28
#<knurlAngle> = 30
#<knurlEndZ> = [#<knurlStartZ> - #<knurlLen>]
#<rpm> = 100
#<pi> = 3.142
; The surface is the circumference of the workpiece
#<workSurface> = [#<pi> * #<workpieceDia>]
; Given a knurl angle, calculate Z feed given <workSurface>
#<feedPerRev> = [TAN[#<knurlAngle>] * #<workSurface>]
#<feedPerMin> = [#<feedPerRev> * #<rpm>]
(debug, feed per revolution: #<feedPerRev>; per min: #<feedPerMin>)
; thread _width_ is equal to distance traveled in one rev, i.e. <feedPerRev>
#<threadWidth> = #<feedPerRev>
; Thus, TPI will be 1/<threadWidth>
#<tpi> = [1/#<threadWidth>]
; To do a n-start thread, we need to start each thread
; <threadWidth>/n further back (Z+) than the prior thread
#<nStartZOffset> = [#<threadWidth>/#<knurlPerDia>]
M3 S#<rpm>
#100 = #<knurlPerDia>
#110 = [[#<knurlPerDia> * #<nStartZOffset>] + #<knurlStartZ> + #<knurlLeadIn>]
(debug, knurl lead in: #110)
G0 Z#110
G0 X[#<workpieceRad> - #<knurlDepth>]
O100 WHILE [#100 GT 0]
(debug, start Z: #110; feed: #<feedPerRev>)
(calculate the lead in for the knurl AFTER this one)
#105 = #110
#110 = [#110 - #<nStartZOffset>]
;G33 Z#110 K#<feedPerRev>
;G1 Z#<knurlEndZ> F#<feedPerMin>
;G1 Z#105 F#<feedPerMin>
G33 Z#<knurlEndZ> K#<feedPerRev>
G33 Z#105 K#<feedPerRev>
;G0 X#<safeX>
G0 Z#110
;G0 X[#<workpieceRad> - #<knurlDepth>]
#100 = [#100 - 1]
O100 ENDWHILE
Please Log in or Create an account to join the conversation.
- Dinuka_Shehan
- Offline
- Platinum Member
Less
More
- Posts: 346
- Thank you received: 26
18 Oct 2019 21:43 #148228
by Dinuka_Shehan
Replied by Dinuka_Shehan on topic Knurling w/ threading tool using G33 - Emco 120P
Can you post the actual code without tags
Please Log in or Create an account to join the conversation.
18 Oct 2019 22:53 #148231
by cmorley
Replied by cmorley on topic Knurling w/ threading tool using G33 - Emco 120P
If you mean 'tags' like this : #<workpieceDia>
Those are variables and make it easy to change the parameters of the program.
They are ugly but necessary
Chris
Those are variables and make it easy to change the parameters of the program.
They are ugly but necessary
Chris
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19188
- Thank you received: 6432
18 Oct 2019 23:24 #148236
by tommylight
Replied by tommylight on topic Knurling w/ threading tool using G33 - Emco 120P
# is not a tag, it is just miss used as one, it is a numbered parameter.
Please Log in or Create an account to join the conversation.
- Dinuka_Shehan
- Offline
- Platinum Member
Less
More
- Posts: 346
- Thank you received: 26
21 Oct 2019 06:28 - 21 Oct 2019 06:30 #148443
by Dinuka_Shehan
Replied by Dinuka_Shehan on topic Knurling w/ threading tool using G33 - Emco 120P
Thanks for information
How can I post this code with custom values.
If i want to cut 25 tpi in 1inch stock.
If a metric based machine work with this?
Any ideas?
How can I post this code with custom values.
If i want to cut 25 tpi in 1inch stock.
If a metric based machine work with this?
Any ideas?
Last edit: 21 Oct 2019 06:30 by Dinuka_Shehan.
Please Log in or Create an account to join the conversation.
Time to create page: 0.081 seconds