Hallo!
Für alle die es interessiert, ich hab mal eine optimierte Version geschrieben zum trochoidalen
Fräsen von Nuten.
Die Erweiterung beinhaltet Funktionen zum schlichten und anfasen der Nut.
0 BEGIN PGM Q-NUT5 MM
1 BLK FORM 0.1 Z X-50 Y-50 Z-10
2 BLK FORM 0.2 X+150 Y+100 Z+0
3 TOOL CALL 20 Z S5500
4 FN 0: Q1 = +63 ; Laenge der Nut
5 FN 0: Q2 = +16.5 ; Breite der Nut
6 FN 0: Q3 = +20 ; Tiefe der Nut
7 FN 0: Q4 = +10 ; Zustelltiefe, auch für das schlichten und anfasen
8 FN 0: Q5 = +0 ; Drehlage
9 FN 0: Q6 = +5000 ; Fraesvorschub
10 FN 0: Q7 = +0.5 ; seitliche Zustellung
11 FN 0: Q19 = +0 ; NUR SCHLICHTEN? 1=JA, 0=NEIN
12 FN 0: Q20 = +0 ; NUR FASEN? 1=JA, 0=NEIN
13 CYCL DEF 7.0 NULLPUNKT
14 CYCL DEF 7.1 X+0
15 CYCL DEF 7.2 Y+0
16 CYCL DEF 7.3 Z+0
17 CALL LBL 55
18 CYCL DEF 7.0 NULLPUNKT
19 CYCL DEF 7.1 X+50
20 CYCL DEF 7.2 Y+50
21 CYCL DEF 7.3 Z+0
22 FN 0: Q5 = +45
23 CALL LBL 55
24 L Z+150 R0 F MAX
25 L Y+630 R0 F MAX M91 M30
26 LBL 55
27 L Z+150 R0 F MAX
28 L X+0 Y+0 R0 F MAX
29 FN 9: IF +Q19 EQU +1 GOTO LBL 33
30 FN 9: IF +Q20 EQU +1 GOTO LBL 34
31 CYCL DEF 10.0 DREHUNG
32 CYCL DEF 10.1 ROT+Q5
33 CYCL DEF 32.0 TOLERANZ
34 CYCL DEF 32.1 T0
35 CYCL DEF 208 BOHRFRAESEN ~
Q200=0.2 ;SICHERHEITS-ABST. ~
Q201=-Q3 ;TIEFE ~
Q206=Q6 ;VORSCHUB TIEFENZ. ~
Q334=0.3 ;ZUSTELL-TIEFE ~
Q203=+0 ;KOOR. OBERFLAECHE ~
Q204=2 ;2. SICHERHEITS-ABST. ~
Q335=Q2 ;SOLL-DURCHMESSER ~
Q342=2 ;VORGEB. DURCHMESSER
36 CYCL CALL M3
37 CYCL DEF 32.0 TOLERANZ
38 CYCL DEF 32.1 T0.03
39 CALL LBL 1
40 CYCL DEF 10.0 DREHUNG
41 CYCL DEF 10.1 IROT+180
42 CALL LBL 1
43 L Z+50 R0 F MAX
44 CYCL DEF 10.0 DREHUNG
45 CYCL DEF 10.1 ROT+0
46 LBL 0
47 LBL 1
48 Q8 = Q3 / Q4 ; Anzahl der Schnitte berechnen
49 Q8 = INT Q8 ; Nachkommastellen entfernen
50 Q4 = Q3 / Q8 ; Neuberechnung Tiefenzustellung
51 FN 0: Q9 = +0 ; Schnittzaehler Tiefe
52 Q10 = Q2 / 2 ; Y-Wert (Halbe Nutbreite)
53 Q11 = Q1 / 2 ; X-Wert (Halbe Nutlaenge)
54 Q11 = Q11 - Q10
55 Q12 = Q11 / Q7 ; Anzahl der Schnitte seitlich
56 Q12 = INT Q12 ; Nachkommastellen entfernen
57 Q7 = Q11 / Q12 ; Neuberechnug seitliche Zustellung
58 FN 0: Q13 = +0 ; Schnittzaehler seitlich
59 L Z+2 R0 F9999
60 L Z+0 R0 F500
61 LBL 2
62 L IZ-Q4 R0 F500
63 L IY+Q10 RL FQ6
64 LBL 3
65 L IX-Q7
66 CR IX+0 IY-Q2 R+Q10 DR+
67 CR IX+0 IY+Q2 R+Q10 DR+
68 Q13 = Q13 + 1
69 FN 12: IF +Q13 LT +Q12 GOTO LBL 3
70 L X+0 Y+0 R0 FQ6
71 FN 0: Q13 = +0
72 Q9 = Q9 + 1
73 FN 12: IF +Q9 LT +Q8 GOTO LBL 2
74 FN 0: Q9 = +0
75 LBL 0
76 LBL 33
77 Q8 = Q3 / Q4 ; Anzahl der Schnitte berechnen
78 Q8 = INT Q8 ; Nachkommastellen entfernen
79 Q4 = Q3 / Q8 ; Neuberechnung Tiefenzustellung
80 L X+0 Y+0 R0 F MAX
81 CYCL DEF 10.0 DREHUNG
82 CYCL DEF 10.1 ROT+Q5
83 Q10 = Q2 / 2
84 Q11 = Q1 / 2
85 Q11 = Q11 - Q10
86 L Z+2 R0 F9999 M3
87 L Z+0 R0 F500
88 FN 0: Q21 = +0
89 LBL 60
90 L IZ-Q4 R0 F500
91 L Y-Q10 RL FQ6
92 L X+Q11
93 CR IX+0 Y+Q10 R+Q10 DR+
94 L X-Q11
95 CR IX+0 Y-Q10 R+Q10 DR+
96 L X+0
97 L Y+0 R0
98 Q21 = Q21 + 1
99 FN 12: IF +Q21 LT +Q8 GOTO LBL 60
100 L Z+50 R0 F MAX
101 CYCL DEF 10.0 DREHUNG
102 CYCL DEF 10.1 ROT+0
103 LBL 0
104 LBL 34
105 L X+0 Y+0 R0 F MAX
106 CYCL DEF 10.0 DREHUNG
107 CYCL DEF 10.1 ROT+Q5
108 Q10 = Q2 / 2
109 Q11 = Q1 / 2
110 Q11 = Q11 - Q10
111 L Z+2 R0 F9999 M3
112 L Z-Q4 R0 F500
113 L Y-Q10 RL FQ6
114 L X+Q11
115 CR IX+0 Y+Q10 R+Q10 DR+
116 L X-Q11
117 CR IX+0 Y-Q10 R+Q10 DR+
118 L X+0
119 L Y+0 R0
120 L Z+50 R0 F MAX
121 CYCL DEF 10.0 DREHUNG
122 CYCL DEF 10.1 ROT+0
123 LBL 0
124 END PGM Q-NUT5 MM
Wer mag, kann es ja mal testen.
Gruß, Stefan