CNC Programming Handbook: A Comprehensive Guide to Practical CNC Programming, Second Edition

The compound infeed does not present programming problems when using the advanced G76 cycle available, it can be used for about 95% of all work. What about the remaining 5%? What if the G76 cycle cannot be used and a program needs fully controlled compound infeed? How to control other infeed methods available for G76, without having the G76 cycle available or impractical to use?
Unfortunately, there is only one way - take a pocket calculator and calculate each and every tool position and tool motion individually. Is it a lot of work? Yes. Is it worth doing? Absolutely. It has to be a really good job, because even a slight modification at the machine could be very difficult. A top class programming job is always worth the extra time and effort when quality and precision of the final part depends on it. Quality is not instant - programmers (and machine operators) have to invest some work and time into it.
The principles of compound threading as applied to a block-by-block programming are simple, but the programming work may be tedious and editing on the machine may be impractical. Each threading pass has to be calculated in a different Z axis start position. This is called the shifted position that must be calculated exactly, otherwise the program will fail. It also had better be right the first time, otherwise the changes could be long and costly. Again, in this example, the same thread will be used...