Greetings all;

I re-thought how to do a G76, both in terms of maybe hitting the correct 
thread od, and in how to minimize the backaway for doing internal 
threads to the absolute minimum. 2 attachments, one the code that made 
the snapshot, and the snapshot showing how it works, even for a gross 
adjustment.  The whole idea was to maintain the effective imaginary 
compound angle, hopefully resulting it a cleaner thread, as a second or 
third run was done to get the exact size and fit. I hope you find it 
usable.

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>
%
( adding a couple new vars to aid in the cut, test for fit, adjust and )
( wash rinse and repeat till the stop button is clicked because it now fits. )
( And I just now understand why I am always oversized. I am not calculating )
( the actual thread diameter correctly.  The target point is not the tip )
( of the cutting tool. To cut the correct thread when the OD is known, )
( that figure using the pitch/.866 factor s/b the cutting depth!  So one )
( cannot use the threading tool to do the final diameter touch off without )
( subtraction of #<_kpp> below from the finished diameter before threading. )
(  Damn its taken me too long to grok that! )
( So fix this code, its still wrong a/o my 82nd birthday. )
( working on it at 8 am. Everything is now anchored to the thread's OD )
#<_t_offset>    =       -0.80000 ( use this to adjust size! - for external)
#<_p_offset>    =       0.000 ( place holder )
#<_thread_od>   =       9.525 ( starting value for .375")
#<_thread_end>  =       -24 ( mm's obviously )
#<_q_angle>             =       29.500 (degrees)
G7 G21 (diameter mode,mm mode, g20=inch mode)
S250

( diddle this stuff if inches as below)
(#<_tp_mm>      =       1.00)
#<_tpi> =       24
#<_pitch>       =       [1.000 / #<_tpi>]
#<_pitch>       =       [#<_pitch> * 25.4] (needs mm's)

#<_thread_od>   =       [#<_thread_od> + #<_t_offset>]

( I have NDI why this works with the .5587 multiplier, but it seems to )
( fit well at 29.5 degrees but needs this fudge diddled for 29 and 30 )
#<_p_offset>    =       [#<_t_offset> * SIN[#<_q_angle>] *.587000] (sine of 
angle)

( constrain this #<_p_offset> to be lt #<_pitch> either direction )
o150 WHILE [#<_p_offset> lt -#<_pitch>]
#<_p_offset>    =       [#<_p_offset> + #<_pitch>]
o150 ENDWHILE

o151 WHILE [#<_p_offset> gt #<_pitch>]
#<_p_offset>    =       [#<_p_offset> - #<_pitch>]
o151 ENDWHILE
(debug,p_offset=#<_p_offset>)

( calculate this K from pitch )
( set k, peak to valley of std USS/USF thread format = pitch/0.866 -10% clipped 
from peak and valley )
#<_kpp> =       [0.9 * [#<_pitch> / 0.866]]
(I might try 0.9 here to see if any cleaner a cut with this tool )
(debug, kpp=#<_kpp>)

#<_i_cut>       =  -#<_kpp>
(debug,i_cut=#<_i_cut>)

( from thread_OD set drive xline )
( set drive line OD 1st)
#<_drive_xline> =       [#<_thread_OD> + #<_kpp>] ( a bit large for mm's, works 
for ext )
( set z far enough away sync is good for startup accel wibblies )
#<_drive_zstart> = [2.0 + #<_p_offset>] ( assumes mm's, too far for inches )
#<_z_end>       =       [#<_thread_end> + #<_p_offset>]

M3 G4P1 (start spindle, wait for speed)
G0 x45 ( clear armstrong bolts spinning base )
G1 F750 z#<_drive_zstart>
G1 F350 x#<_drive_xline>
G76 p#<_pitch> z#<_z_end> i#<_i_cut> j0.25 k#<_kpp> r2.011 q#<_q_angle> h5 
e0.150 l2
( leave it where it started from )
G1 F650 x#<_drive_xline>
(but out of the way for test fits)
G1 F650 z#<_drive_zstart>
M5
G1 F650 x45 (back it out of the way to check screw fit)
G0 z150
M2
%
------------------------------------------------------------------------------
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