20 L Z+100 R0 FMAX M2
21 LBL 10
22 Q16 = Q6 - Q10 - Q108
23 Q20 = +1
24 Q24 = +Q4
25 Q25 = (Q5 - Q4) / Q13
26 CYCL DEF 7.0 NULPUNT
27 CYCL DEF 7.1 X+Q1
28 CYCL DEF 7.2 Y+Q2
29 CYCL DEF 7.3 Z+Q3
30 CYCL DEF 10.0 ROTATIE
31 CYCL DEF 10.1 ROT+Q8
32 L X+0 Y+0 R0 FMAX
33 L Z+5 R0 F1000 M3
34 LBL 1
35 CC Z+0 X+0
36 LP PR+Q16 PA+Q24 FQ11
37 L Y+Q7 R0 FQ12
38 Q20 = +Q20 + +1
39 Q24 = +Q24 + +Q25
40 FN 11: IF +Q20 GT +Q13 GOTO LBL 99
41 LP PR+Q16 PA+Q24 FQ11
42 L Y+0 R0 FQ12
43 Q20 = +Q20 + +1
44 Q24 = +Q24 + +Q25
45 FN 12: IF +Q20 LT +Q13 GOTO LBL 1
46 LBL 99
47 CYCL DEF 10.0 ROTATIE
48 CYCL DEF 10.1 ROT+0
49 CYCL DEF 7.0 NULPUNT
50 CYCL DEF 7.1 X+0
51 CYCL DEF 7.2 Y+0
52 CYCL DEF 7.3 Z+0
53 LBL 0
54 END PGM CILIN
HEIDENHAIN iTNC 530
Gereedschap terugtrekken, einde programma
Subprogramma 10: bewerking
Overmaat en gereedschap gerelateerd aan cilinderradius verrekenen
Teller voor het aantal sneden vastleggen
Starthoek werkbereik (vlak Z/X) kopiëren
Hoekstap berekenen
Nulpunt naar het midden van de cilinder (X-as) verschuiven
Rotatiepositie in het vlak verrekenen
Voorpositioneren in het vlak naar het midden van de cilinder
Voorpositioneren in de spilas
Pool vastleggen in het Z/X-vlak
Startpositie op cilinder benaderen, schuin in het materiaal instekend
Snede in lengterichting Y+
Teller voor het aantal sneden actualiseren
Ruimtelijke hoek actualiseren
Klaar? Ja, dan naar het einde springen
Langs benaderde "boog" verplaatsen voor volgende snede in
lengterichting
Snede in lengterichting Y–
Teller voor het aantal sneden actualiseren
Ruimtelijke hoek actualiseren
Niet klaar? Indien niet klaar, dan terugspringen naar LBL 1
Rotatie terugzetten
Nulpuntverschuiving terugzetten
Einde subprogramma
357