Threading on Lathe

More
15 years 1 month ago #13449 by M4MazakUser
g76 is a wonderful thing !! BUT !!

as the example in the manual (online) shows, it dosent return to the driveline for the next pass, but moves to the drive line plus the depth of cut away from the driveline. this can be a problem with small bores, creating tool clearance issues!

hopefully someone important reads this! :woohoo:

Please Log in or Create an account to join the conversation.

More
15 years 1 month ago #13450 by andypugh
M4MazakUser wrote:

as the example in the manual (online) shows, it dosent return to the driveline for the next pass, but moves to the drive line plus the depth of cut away from the driveline.


Is that how it works? I have noticed that the diameter changes on the return pass, but thought that was it adding extra cut, not it returning to the drive-line after an overshoot.

I don't think that there is any good reason for it, and actually think that every return stroke should be exactly on the drive-line (you should be able to have a clearance to the tooth of less than the tooth depth)

Please Log in or Create an account to join the conversation.

More
15 years 1 month ago #13472 by andypugh
I have asked about, and the current behaviour is a consequence of this commit:
git.linuxcnc.org/gitweb?p=emc2.git;a=commit;h=0f38a96f

I tried undoing those changes, and threading looks a lot more like you would expect. I haven't been convinced that the changes have the claimed effect.

I might try to do some actual testing, as it has caught me out too.

Please Log in or Create an account to join the conversation.

More
15 years 3 weeks ago #13693 by M4MazakUser
wow- from a commit 4 years ago!

thanks for the prompt reply, -i'm still getting over some fever i had. so i ain't been online.

i only noticed the behaviour when trying to cut a small dia sq thread,and had to resort to
this....

####################################################
(info: G33 style threading Internal)
o<th_33> sub
#<ToolNumber> = #1 (= 1 Call Tool or 0)
#<Speed> = #2 (= 300 rpm)
#<diameter> = #3 (= 50.0 Diameter)
#<pitch> = #4 (= 2.0 Pitch)
#<inital_depth> = #5 (= 0.35 Inital Depth)
#<thread_depth> = #6 (= 1.2 Depth Px0.866)
#<spring_pass> = #7 (= 1 Spring Passes)
#<z_start> = #8 (= 5.0 Z Start)
#<z_end> = #9 (= -15.0 Z End)
#<x_offset> = #10 (= 0.5 X Clearance)
#<Coolant> = #11 (=8 8 is on, 9 is off)

(LOGOPEN,paramnum)
; Tool change
O120 if [#<_Tool:Number> NE #<ToolNumber>]
; Change Tool
M09 ; coolant off
O121 if [#<_Tool:Number> LT 20] ; front turret
G00 Z#<_Frontchange:Z>
G00 X#<_Frontchange:X>
O121 else ; Rear turret
G00 Z#<_Rearchange:Z>
G00 X#<_Rearchange:X>
O121 endif
G49 ; cancel toolength offset
T#<ToolNumber> M06
O121 if [#<_Tool:Number> LT 20] ; front turret
G00 Z#<_Frontchange:Z>
G00 X#<_Frontchange:X>
O121 else ; Rear turret
G00 Z#<_Rearchange:Z>
G00 X#<_Rearchange:X>
O121 endif
G43 G7 G97 S#<Speed>
M03
M#<Coolant>

#<_Tool:Number> = #<ToolNumber>
O120 else ; No tool change -continue.
M#<Coolant>
O120 endif

#<thread_depth> = [#<thread_depth> * 2]
#<x_offset> = [#<x_offset> * 2]
#<inital_depth> = [#<inital_depth> * 2]
#<Cut_Dia> = [#<diameter> - #<thread_depth>]
#<drive_line> = [#<Cut_Dia> - #<x_offset>]
#<Cut_Dia> = [#<Cut_Dia> + #<inital_depth> ]
#<Cut_increment> = [#<inital_depth> * 0.72]
#<spring_pass_num> = 0
G00 X#<drive_line> Z#<z_start>
(log,DrvLine = #<drive_line>)
(log,CutDia = #<Cut_Dia>)
(log,CutInc = #<Cut_increment>)
; in here
o101 while [#<Cut_Dia> lt #<diameter>]
G00 X-#<Cut_Dia>
G33 Z#<z_end> K#<pitch>
G00 X-#<drive_line>
G00 Z#<z_start>

O121 if [#<Cut_increment> LT 0.01] ; minimum cut depth
#<Cut_increment> = 0.01
O121 else
#<Cut_increment> = [#<Cut_increment> * 0.2]
O121 endif
(log,CutInc = #<Cut_increment>)
#<Cut_Dia> = [#<Cut_Dia> + [#<Cut_increment> * 2]]
O131 if [#<Cut_Dia> GT #<diameter>] ; maximum cut
#<Cut_Dia> = #<diameter>
O131 else o101 while [#<Cut_Dia> lt #<diameter>]
#<spring_pass_num> = [#<spring_pass_num> + 1]
O131 endif
(log,CutDia = #<Cut_Dia>)

O122 if [#<spring_pass_num> GT #<spring_pass>] ; spring cuts
#<Cut_Dia> = [#<diameter> + 1]
O122 else
O122 endif
(log,DrvLine = #<drive_line>)
(LOGCLOSE)
o101 endwhile
G00 X-#<drive_line>
G00 Z#<z_start> M09
o<th_33> endsub

################################################################

Which was a lot of writing for such a small item.

hopefully this can be sorted out, as on small diameter internal threads tool ridgidity/clearance is a big issue.

Please Log in or Create an account to join the conversation.

Time to create page: 0.262 seconds
Powered by Kunena Forum