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