Your own CNC cycle

The ultimate discipline in CNC programming

Consider a machining task where the range of SINUMERIK cycles is of only limited value or how best to efficiently combine recurring tasks. These are just two examples where generating your own macros – CNC cycles, in technical parlance – would offer a solution.

SINUMERIK technology cycles

SINUMERIK Operate already offers a very wide range of powerful technology functions for drilling, milling, turning along with measuring. Having said that, the range of technological options provided by these CNC cycles is always a tightrope walk. Although it is desirable to map every technological detail, this inevitably results in increased complexity. As a result, the number of machining parameters of these CNC technology cycles must be restricted to keep programming transparent, and especially easy to handle for the widest possible range of users.


To solve this dilemma, machine tool users have the option of generating their own machining cycles. This provides CNC programmers with a powerful medium for customizing and therefore rationalizing their own programming environment.

The file system

Here you first have to understand the SINUMERIK file system: CNC cycles always have to be archived at a central location, so they can be accessed from every CNC program in any workpiece folder. The file system has three compartments at this central location. One is for the standard SINUMERIK cycles. The second is for the machine manufacturer, where the machine-specific CNC cycles are located. Tool changing in a milling machine, for example, is generally emulated in an individual tool change cycle. The third compartment belongs to the user. The CNC operator's own machining cycles can be archived there.

Parameter transfer interface

Parameter transfer is a central aspect when using CNC cycles. Of course, you can write machining parameters in R parameters in the calling CNC program and read these out in the machining cycle. However, this is cumbersome and, more importantly, prone to errors, especially if different people are working on a machine and there is no clear definition of which person is responsible for which R parameter. Using the transfer interface provided in the SINUMERIK system software for cycles is without doubt the better alternative.

The CNC high-level language

Within the machining cycles, CNC programmers have the full functional scope of the SINUMERIK CNC programming language at their fingertips. In addition to typical CNC commands such as G01, G02, F1000, S1000 etc., the emphasis quickly moves to using the SINUMERIK's CNC high-level language. This is because the strength of your own machining cycles depends very much on how specifically the machining adapts to the respective requirements, in other words, the transferred parameters.

The use of self-defined variables (DEF) is more or less indispensable. Machining sequences can be mapped systematically and in a structured fashion – by using program control structures such as IF-ELSE, REPEAT-UNTIL or FOR-ENDFOR Last but not least, mathematical operations such as SIN() or ROUND() allow tool paths to be very individually and efficiently derived from transfer parameters.


Without a doubt, your own CNC machining cycles are an important resource to further rationalize machine tool use. Programming machining cycles such as these is certainly not something that beginners should tackle. However, if you know how to handle procedures in the SINUMERIK system software, and have fully explored the advantages of SINUMERIK CNC high-level language programming, then you have at your disposal an unbeatable platform to leverage the last ounce of productivity of the CNC machine.

Would you like to contact the CNC4you team?

Questions or suggestions? Write us!

Do you have a suggestion for a video tutorial, a workpiece or an online article? We are curious about it!  

Related Content