That is a little too large! My current need is to make some tapered external
threads for photographic cable releases: 28-degree included angle, 0.5mm
pitch, 3.75mm at the big end.

> -----Original Message-----
> From: Gene Heskett [mailto:[email protected]]
> Sent: Wednesday, March 21, 2018 3:00 PM
> To: [email protected]
> Subject: Re: [Emc-users] Tapered Helix
>
> On Wednesday 21 March 2018 14:38:09 Ken Strauss wrote:
>
> > Thanks but...
> > Isn't G76 for threading on a lathe and G33.1 for rigid tapping? I'm
> > doing thread milling.
> >
> G76 is istr limited to lathe's as its not subject to the g17-19 rules.
>
> G33.1 can function on any axis set of a mill. So it might be modifyable
for your
> use. I've used it for rigid tapping with the head laid horizontal on my
G0704.
> Worked well.
>
> Andy's code looks much simpler, so I would first see if it could do what
you
> need to do.
>
> I only have one thread mill, .750" OD and its likely too big, or almost
too big
> for a 1" pipe thread.
>
>
> > > -----Original Message-----
> > > From: Gene Heskett [mailto:[email protected]]
> > > Sent: Wednesday, March 21, 2018 2:07 PM
> > > To: [email protected]
> > > Subject: Re: [Emc-users] Tapered Helix
> > >
> > > On Wednesday 21 March 2018 10:47:31 Ken Strauss wrote:
> > > > I need to thread mill some tapered threads (similar to normal pipe
> > > > threads -- NPT). I am considering using polar coordinates in
> > > > incremental mode to approximate a tapered helix. Is that
> > > > reasonable? Is there a better way? Will cumulative errors bite me
> > > > after hundreds of incremental moves?
> > >
> > > How big, Ken? Inside I assume... I have used both the G76 and G33.1
> > > for
> >
> > low
> >
> > > angle stuffs by setting the entrance or exit paper length to
> > > 1 pitch less than the length of the thread.  The man page is wrong
> > > when
> >
> > says
> >
> > > the taper limit is 1/2 the thread length. I think that could be
> > > extended
> >
> > by
> >
> > > doing the first using that rule of one pitch less than the total
> > > stroke,
> >
> > and if
> >
> > > thats not deep enough, advance the z a multiple of the pitch, I've
> > > not
> >
> > proved
> >
> > > it, might need some adjusting, and reduce the starting r by the
> > > height difference used in the first pass.
> > >
> > > I have used this code to make a socket in the end of a shaft, that
> > > with a matching taper threaded nut, and making 4 petals out of the
> > > walls with
> >
> > edm,
> >
> > > to compress an A2 shaft onto a smallish ball screw, by tightening
> > > the nut.
> >
> > Its
> >
> > > driving the x axis of my Sheldon 11x36 right now. With some green
> > > threadlocker in the socket, I don't expect it to slip until I loosen
> > > the
> >
> > nut.
> >
> > > Here is that file, quite complex because I tend to make a one trip
> >
> > Bumstead
> >
> > > out of projects like this, so it can be switched from boreing to
> > > turning
> >
> > yadda
> >
> > > yadda.
> > >
> > > Setup ATM for making the nut described above. load it into LinuxCNC,
> > > and expand the backplot to get a good view of what it does.  Reading
> > > the code
> >
> > will
> >
> > > show you where and what to modify for your project, if its usable at
> > > all. ===================cut here>
> > > %
> > > ( this is to make use of the g33 routine to carve a thread in the
> > > format )
> >
> > ( of a
> >
> > > pipe thread, in this case an odd size that would resemble a 3/16" )
> > > ( pipe thread is indeed there ever was such a thing. :) ( because
> > > that seems to
> >
> > be a
> >
> > > Merican only thing, all starting dimensions are in inch) ( there is
> > > a BS
> >
> > spec,
> >
> > > looks a lot like ASTME to me :) ( since everything is converted to
> > > metric
> >
> > below,
> >
> > > make sure its in metric mode) ( We start not with a Merican
> > > fractonal, but
> >
> > at
> >
> > > any arbitrary size ) ( and tpi, and degrees of taper desired if
> > > desired. )
> >
> > ( length
> >
> > > of taper will be based on the thickness of the nut, which will
> > > determine )
> >
> > (
> >
> > > that the stated angle will be true for the length of the nut ) (
> > > however,
> >
> > the
> >
> > > actual Z travel will be longer since the initial Z should be a ) (
> > > couple
> >
> > mm's
> >
> > > from first contact.)
> > > (logopen,/home/gene/linuxcnc/g33debug.txt)
> > > G21 (metric)
> > > G8 (lathe radius mode)
> > > G61
> > > S350
> > > ( set straight, like g76 by bypassing the G33 stuff)
> > > #<_do_taper>              = 0.000000
> > > #<_taper_deg>             = 7 ( degrees here, translates to sin[7]
later)
> > > #<_bore_turn>             = 0.00000000 ( 1 for bore, zero for an
> >
> > external
> >
> > > profile)
> > > #<_input_is_inch> = 1.00000000 ( zero for all metric inputs)
> > > #<_tpi>                   =       50 (adjustable. If input is inches,
> >
> > use inch, else
> >
> > > PUT mm's here)
> > > #<_mkmmfctr>              =       25.4 (inch <-> metric conversion)
> > > ( constants from Cecils images )
> > > #<_e_xz_fctr>             =       0.7082000000 ( external -x +z
combined feed
> > > factor)
> > > #<_e_doc_fctr>            =       0.6134000000 ( external thread
> >
> > d.o.c. external
> >
> > > cuts deeper)
> > > #<_i_xz_fctr>             =       0.6250000000 ( internal +x +z
combined feed
> > > factor)
> > > #<_i_doc_fctr>            =       0.5427000000 ( internal thread
> >
> > d.o.c. internal
> >
> > > is shallower)
> > > (edit these)
> > > #<_start_OD>              =       0.75500000 ( this is inches at the
min/max
> >
> > OD
> >
> > > of thread it fits)
> > > #<_thread_len>            =       0.56000000 (is inches, thickness of
> >
> > nut I
> >
> > > started with )
> > > #<_passes>                = 25.00000000 (easy on the tool, constant
advance)
> > > #<_spring_passes> = 5.00000000
> > >
> > >
> > > (z advance derived from Cecils images IS NOT 100% CORRECT YET)
> > > #<_e_z_advance>           = [[#<_e_xz_fctr> - #<_e_doc_fctr>] /
> >
> > #<_passes>]
> >
> > > #<_i_z_advance>           = [[#<_i_xz_fctr> - #<_i_doc_fctr>] /
> >
> > #<_passes>]
> >
> > > (log,38 e z advance per pass=#<_e_z_advance>)
> > > (log,39 i z advance per pass=#<_i_z_advance>) ( now the x
> > > increments) #<_e_x_advance>               = [#<_e_doc_fctr> /
#<_passes>]
> > > #<_i_x_advance>           = [#<_i_doc_fctr> / #<_passes>]
> > > (log,43 e x advance per pass=#<_e_x_advance>)
> > > (log,44 i x advance per pass=#<_i_x_advance>) ( these figures s/b
> > > very
> >
> > small )
> >
> > > o005 IF [#<_input_is_inch> gt 0.50000000]
> > >
> > > #<_tpmm>          = [#<_mkmmfctr> / #<_tpi>] (mm's! - is correct )
> > > #<_start_OD>              = [#<_start_OD> * 0.5000000 * #<_mkmmfctr>]
> > > #<_thread_len>            = [#<_thread_len> * #<_mkmmfctr>]
> > >
> > > o005 ELSE
> > >
> > > #<_tpmm>          = #<_tpi>
> > >
> > > o005 ENDIF
> > > (log,57 tpmm=#<_tpmm>)
> > > (log,58 start OD in mm=#<_start_OD>)
> > > (log,59 thread length in mm=#<_thread_len>)
> > >
> > > ( now we have the Major radius start_OD that everything else
> > > references
> >
> > one
> >
> > > way or another )
> > > #<_e_x_mnr_R>             =       [#<_start_OD> + [#<_e_doc_fctr> *
> > > #<_tpmm>]] ( final d.o.c. )
> > > #<_e_x_mjr_R>             =       [#<_start_OD> + #<_tpmm>]
> > > #<_i_x_mjr_R>             =       #<_start_OD> ( final size of thread
s/b
> >
> > correct
> >
> > > )
> > > ( s/b reasonable mm's?  below )
> > > (log,65 i_x_mjr_R=#<_i_x_mjr_R>)
> > > #<_i_x_mnr_R>             =       [#<_i_x_mjr_R> - [#<_i_doc_fctr>*
> > > #<_tpmm>]] ( starting bore size for the nut )
> > >
> > > (log,68 tpmm=#<_tpmm>)
> > > (log,69 e_mjr_R=#<_e_x_mjr_R>)
> > > (log,70 e_mnr_R=#<_e_x_mnr_R>)
> > > (log,71 i_mjr_R=#<_i_x_mjr_R>)
> > > (log,72 i_mnr_R=#<_i_x_mnr_R>)
> > >
> > > #<_e_pass>        =       [#<_e_x_advance> / #<_passes>]
> > > (log,75 e_pass=#<_e_pass>)
> > > #<_i_pass>        =       [#<_i_x_advance> / #<_passes>]
> > > (log,77 i_pass=#<_i_pass>)
> > >
> > > ( now 4 more things that will be needed, P/8 will be assumed as ) (
> > > real
> >
> > tip flat
> >
> > > + 0.000, but real tip flat width has yet TBD. So ) ( assume it has a
> >
> > finite value =
> >
> > > pdiv8 with the sign made negative ) ( so pdiv8=0.00, pdiv6 and pdiv4
> >
> > reduced
> >
> > > accordingly.  This DOES NOT ) ( change with the thread being cut,
> > > but with
> >
> > the
> >
> > > chip doing the cutting ) ( So P/6 will be P/6 - real tip flat ) (
> > > and P/4
> >
> > will be P/4
> >
> > > - real tip flat )
> > > #<_realtipflat>   =       -0.1175930000 (will make pdiv8=0.0000 until
> >
> > I know
> >
> > > better )
> > > #<_pdiv8>         =       [[#<_tpmm> / 8.00000000 ] + #<_realtipflat>]
> > > #<_pdiv6>         =       [[#<_tpmm> / 6.00000000 ] + #<_realtipflat>]
> > > #<_pdiv4>         =       [[#<_tpmm> / 4.00000000 ] + #<_realtipflat>]
> > > (log,90 realtipflat=#<_realtipflat>)
> > > (log,91 pdiv8=#<_pdiv8>)
> > > (log,92 pdiv6=#<_pdiv6>)
> > > (log,93 pdiv4=#<_pdiv4>)
> > > ( now we can adjust realtipflat until its correct, but my machine )
> > > ( is
> >
> > not THAT
> >
> > > accurate. Time to make that tapered front gib. ) ( 2 months later!)
> > > (
> >
> > done,
> >
> > > made both, turned out to be hell with a twisted file!) ( looks like
> > > I
> >
> > might be
> >
> > > ready to state the premise of what we do with ) ( all this data. )
> > >
> > > o100 IF [#<_bore_turn> gt 0.500000]
> > > (we're making a nut)
> > > #<_start_rad>     = #<_i_x_mjr_R>
> > > #<_end_rad>       = #<_i_x_mnr_R>
> > > #<_x_advance>     = #<_i_x_advance>
> > > #<_z_advance>     = -#<_i_z_advance>
> > > #<_back_clear>    = [#<_end_rad> - [#<_tpmm> * 0.50000000]]
> > > #<_z_end>         = -#<_thread_len>
> > > #<_x_taper>       = -[0.50000000 * #<_thread_len> *
SIN[#<_taper_deg>]]
> > >
> > > o100 ELSE
> > > ( we are turning a shaft)
> > > #<_e_x_mnr_R>     =       [#<_start_OD> - [#<_e_doc_fctr> *
> #<_tpmm>]] (
> > > final d.o.c. )
> > > #<_e_x_mjr_R>     =       [#<_start_OD> + #<_tpmm>]
> > > (we're cutting an external taper)
> > > #<_start_rad>     = #<_e_x_mnr_R>
> > > #<_end_rad>       = #<_e_x_mjr_R>
> > > #<_x_advance>     = #<_e_x_advance>
> > > #<_z_advance>     = #<_e_z_advance>
> > > #<_back_clear>    = [#<_start_rad> + 1]
> > > #<_z_end> = -#<_thread_len>
> > > #<_x_taper>       = [0.50000000 * #<_thread_len> * SIN[#<_taper_deg>]]
> > > o100 ENDIF
> > > (log,115 start rad=#<_start_rad>)
> > > (log,116 end rad=#<_end_rad>)
> > > (log,117 x advance per pass=#<_x_advance>)
> > > (log,118 z advance per pass=#<_z_advance>)
> > > (logclose)
> > > (m6t6)
> > > m3
> > > #<_z_tmp> = 0.00000000
> > > #<_x_tmp> = 0.00000000
> > > (G1 f650 Z2)
> > > (G1 X#<_start_rad>)
> > >
> > > o600 IF [#<_do_taper> gt .5000000]
> > >
> > > o500 WHILE [#<_passes> gt 0.0000000]
> > > (G1f400 Z#<_z_tmp>)
> > > G1 F500 X[#<_start_rad> - #<_x_tmp>]
> > > G1 Z#<_z_tmp>
> > > (G33 x z k)
> > > G33 Z[#<_z_end> + #<_z_tmp>] X[#<_end_rad> - #<_x_tmp>] K#<_tpmm>
> > > G1 F800 x#<_back_clear>
> > > G1 F950 z#<_z_tmp>
> > > #<_z_tmp> = [#<_z_tmp> + [-#<_z_advance> * 4.0000000]]
> > > #<_x_tmp> = [#<_x_tmp> + #<_x_advance>]
> > > #<_passes>        = [#<_passes> - 1.00000000]
> > > o500 ENDWHILE
> > > #<_count> = #<_spring_passes>
> > > o550 WHILE        [#<_count> ge 0.00000]
> > > g1 x#<_back_clear>
> > > g1 F750 z#<_z_tmp>
> > > G1 F600 X[#<_start_rad> - #<_x_tmp>]
> > > G33 Z[#<_z_end> + #<_z_tmp>] X[#<_end_rad> - #<_x_tmp>] K#<_tpmm>
> > > #<_count> =       [#<_count> - 1.000000]
> > >
> > > o550 ENDWHILE
> > >
> > > G1 F500 Z0.0000 (back at starting Z)
> > > #<_z_tmp> = 0.00000
> > > #<_x_tmp> = 0.00000
> > >
> > > G1 F50 x[#<_start_OD> + 2.355000000] (in mm's folks, shrink to cut
> > > deeper) G1 z#<_z_tmp>
> > > (debug,start_od=#<_start_OD>)
> > > #<_thread_len>    =       [#<_thread_len> + 0.25000]
> > > (debug,thread_len=#<_thread_len>)
> > > #<_i_tmp> =       -1.75000
> > > (debug,_tpmm=#<_tpmm>)
> > > #<_k_tmp> =       [#<_tpmm> * 1.95000]
> > > (debug,k_tmp=#<_k_tmp>)
> > >
> > > o600 ENDIF
> > > #<_k_tmp> =       [#<_tpmm> * 1.95000]
> > > #<_i_tmp> =       0.90000
> > > G1 F400 x[#<_start_OD> - 2.400]
> > > G1 F400 z0.0000   ( and back to the starting z)
> > > ( one line added to cut rear tapered nut)
> > > #<_e_taper>       = ABS[#<_thread_len> - #<_tpmm>]
> > > G76 Z-#<_thread_len> I#<_i_tmp> j.150 P#<_tpmm> K#<_k_tmp> Q29.9
> > > R1.7 H10 E#<_e_taper> L2
> > >
> > > G1 x[#<_start_OD> - 2.000]
> > > G1 F950 z200
> > > m5
> > > m2
> > > <cut here==================
> > >
> > > --
> > > Cheers, Gene Heskett
> > > --
> > > "There are four boxes to be used in defense of liberty:
> > >  soap, ballot, jury, and ammo. Please use in that order."
> > > -Ed Howdershelt (Author)
> > > Genes Web page <http://geneslinuxbox.net:6309/gene>
> >
> > ----------------------------------------------------------------------
> >------ --
> >
> > > Check out the vibrant tech community on one of the world's most
> > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > > _______________________________________________
> > > Emc-users mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/emc-users
> >
> > ----------------------------------------------------------------------
> >-------- Check out the vibrant tech community on one of the world's
> > most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > Emc-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/emc-users
>
>
>
> --
> Cheers, Gene Heskett
> --
> "There are four boxes to be used in defense of liberty:
>  soap, ballot, jury, and ammo. Please use in that order."
> -Ed Howdershelt (Author)
> Genes Web page <http://geneslinuxbox.net:6309/gene>
>
>
----------------------------------------------------------------------------
--
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Emc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-users



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to