Segmented Threading

Segmented Threading

Positioning the tool may be exacting, but it is not difficult. Since CNC Swiss lathes have spindle encoders, the threads will line up correctly as long the tool starts at the same positions on the X and Z axes every time. The trick is to always allow for an overlap between the threads, plan each segment carefully and be sure to use the correct angle of entry. In the case of 60 degree thread forms, an angle of entry of 29 degree is required, 1° less than half the thread form for “V” threads. For the part with a 17/8″ thread length, the thread would be cut in three segments of 0.700″ each. This totals 2.1″, more than what is required, but there will be an overlap of one thread, or 0.050″, for each additional segment after the first. There is also the lead-in at the first thread of about 0.080″. The total minus the overlaps and lead-in equal a thread length within tolerance:
2.1 – (2 x 0.05) = 2.0
2.0 – 0.080 = 1.92
This overall distance is greater than the required length but within the tolerance of one thread. The reason for this is the overlap between the segments. The cutting tool needs to start early to achieve the overlap so that the full travel of the tool is greater than the length of threads created in each segment. For each segment, the turning tool should cut the major diameter. After the first segment, each subsequent segment will start one pitch before the end of the previous segment. This will add 0.650″ to the thread length for each segment. Note that the turning tool should not turn a length longer than what is required because the unmachined material is needed to provide support for the threading operation. Using G Code for Segmenting.
There are a several types of canned cycles for threading on CNC machines, some of which have the benefit of being easy to use. “Normally, we use the G76 cycle just because it is so easy, The cycle requires only the parameters of the thread form to be included. It figures all the moves for all the passes and produces a perfect thread. We tried using G76 for the segmenting application, but as soon as we cut the threads, we could see there was a problem. The G76 code only allows for control of the angle of exit from the thread, not the angle of entry. This does not work well when segmenting. If the tool enters the cut at a 90° angle to the part, then each overlapping segment will show an imperfection, a slice into the previous segment’s thread. What we didn’t realize at first [when segmenting] was the level of calculating that would be required and the length of the program. With seven passes needed for 20 threads per inch and four lines of programming needed for each pass, that adds up to 28 lines just for one segment. Each pass required four moves. First, the tool entered the cut at the proper angle, next it cut the thread to a given length, then the tool exited the thread, and finally, the tool returned to the starting point. Programming incremental moves helped keep the program simple. Calculations were made for each pass based on the angle of entry and DOC. The incremental moves made it possible to use the same routine for each segment. With all the moves calculated as incremental, it was natural for the threading program to become a subroutine. We started out thinking the program was going to take a long time to calculate and that the program would have 144 lines of code for the threading alone, but it turned out to be fairly easy. Being a subroutine made the length reasonable. With getting the correct angles figured out, the entering and exiting of the thread worked out very well. This type of programming requires more calculations to find the numbers needed and if the calculations are not done correctly, the tool will create threads with steps or witness lines—marks that show where tools have entered and exited.
While segmenting threads does tend to require quite a bit of code, there are a couple of ways to shorten the program. One is the use of subroutines. “I found that once I have a program for a certain pitch, I don’t really need to write this again for other nominal sizes. Just to test this theory, I also cut a sample part that has 1/2-20 threads. The same subroutine works for any size thread that has this pitch.” Cole has discovered that he can shorten the program by using macros. This will allow me to have one program that will be able to segment any size thread I need.
The new 1/2-13 thread will only require two segments.

Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support