Pewnie jak zwykle po fakcie ale jakoś mi nie szło pisanie tego ale może sie komuś przyda taki oto twór

Definicja cyklu
0 BEGIN PGM ELIPSA-DEFINICJA MM
1 BLK FORM 0.1 Z X-100 Y-100 Z-20
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 TOOL CALL 23 Z S3434
4 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5 ;szerokosc jest liczona ze srodka elipsy NIE od wewnatrz ani zewnatrz
6 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7 LBL 1
8 FN 0: Q1 =+0 ;srodek X
9 FN 0: Q2 =+0 ;srodek Y
10 FN 0: Q3 =+15 ;polos X
11 FN 0: Q4 =+30 ;polos Y
12 FN 0: Q5 =+0 ;kat startu
13 FN 0: Q6 =+363 ;kat koncowy
14 FN 0: Q7 =+150 ;liczba okregow
15 FN 0: Q8 =+0 ;rotacja
16 FN 0: Q9 =+12.53 ;glebokosc
17 FN 0: Q10 =+2000 ;posuw wglebny
18 FN 0: Q55 =+0 ;zagl po spirali 1 czolowo 0
19 FN 0: Q1000 =+5 ;glebokosc dosowu wglebnego
20 FN 0: Q56 =+3 ;R freza zgrubnego
21 FN 0: Q57 =+15000 ;ilosc stopni inkrementalnie do zagl kolowego
22 ;BO NIE WIEM JAKI Q PARAMETR SZCZYTUJE KAT ZAGLEBIANIA Z PRESET TABELI
23 FN 0: Q11 =+900 ;posuw frezowania
24 FN 0: Q12 =+2 ;odstep bezpieczenstwa
25 FN 0: Q13 =+15 ;szerokosc elipsy
26 FN 0: Q40 =+1000 ;ilosc prostych na gotowo
27 FN 0: Q41 =+0.5 ;naddatek chyba na strone
28 FN 0: Q42 =+100 ;posuw wglebny na gotowo
29 FN 0: Q49 =+1 ;obr zgr 1 tak 0 nie
30 FN 0: Q50 =+1 ;obr wyk zewnatrz 1 tak 0 nie
31 FN 0: Q51 =+1 ;obr wyk wewnatrz 1 tak 0 nie
32 FN 0: Q52 =+0 ;NR narz na gotowo jesli 0 to zostaje to samo narz
33 FN 0: Q53 =+1000 ;RPM narz
34 FN 0: Q54 =+200 ;posuw wyk
35 ;-----------------------------------
36 FN 10: IF +Q49 NE +1 GOTO LBL 1004
37 CYCL DEF 12.0 PGM CALL
38 CYCL DEF 12.1 PGM G:\elipsa-zgr.h
39 M99
40 LBL 1004
41 FN 10: IF +Q50 NE +1 GOTO LBL 1001
42 FN 9: IF +50 EQU +1 GOTO LBL 999
43 LBL 999
44 CYCL DEF 12.0 PGM CALL
45 CYCL DEF 12.1 PGM G:\elipsa-wyk-zewn.h
46 M99
47 LBL 1001
48 FN 10: IF +Q51 NE +1 GOTO LBL 1002
49 FN 9: IF +Q51 EQU +1 GOTO LBL 1000
50 LBL 1000
51 CYCL DEF 12.0 PGM CALL
52 CYCL DEF 12.1 PGM G:\elipsa-wyk-wewn.h
53 M99
54 LBL 1002
55 L Z+100 R0 FMAX
56 LBL 0
57 END PGM ELIPSA-DEFINICJA MM
Program wykonawczy 1
0 BEGIN PGM ELIPSA-ZGR MM
1 LBL 10
2 CYCL DEF 7.0 PUNKT BAZOWY
3 CYCL DEF 7.1 X+Q1
4 CYCL DEF 7.2 Y+Q2
5 CYCL DEF 10.0 OBROT
6 CYCL DEF 10.1 ROT+Q8
7 Q14 = Q13 / 2
8 Q14 = Q14 - Q41
9 Q56 = Q56 * 1.5
10 Q35 = ( Q6 - Q5 ) / Q7
11 Q36 = Q5
12 Q37 = 0
13 Q21 = Q3 * COS Q36
14 Q22 = Q4 * SIN Q36
15 Q1001 = Q1000
16 L X+Q21 Y+Q22 R0 FMAX M3
17 LBL 4
18 Q37 = 0
19 L Z+Q12 R0 FMAX
20 CC X+Q21 Y+Q22
21 FN 9: IF +Q55 EQU +0 GOTO LBL 2
22 LP PR+Q56 PA+0 RL FMAX
23 FN 11: IF +Q1001 GT +Q9 GOTO LBL 6
24 CP IPA+Q57 Z-Q1001 DR+ FQ10
25 LP PR+0 PA+0 R0 FQ11
26 FN 9: IF +Q55 EQU +1 GOTO LBL 3
27 M0
28 LBL 2
29 L Z-Q1001 R0 FQ10
30 LBL 3
31 LBL 1
32 Q36 = Q36 + Q35
33 Q37 = Q37 + 1
34 Q21 = Q3 * COS Q36
35 Q22 = Q4 * SIN Q36
36 CC X+Q21 Y+Q22
37 LP PR+Q14 IPA+0 RL FQ11
38 CP IPA+362 DR+
39 LP IPR-Q56 IPA+0 R0
40 FN 12: IF +Q37 LT +Q7 GOTO LBL 1
41 L Z+Q12 R0 FMAX
42 FN 9: IF +Q1001 EQU +Q9 GOTO LBL 5
43 Q1001 = Q1000 + Q1001
44 M0
45 FN 12: IF +Q1001 LT +Q9 GOTO LBL 4
46 FN 11: IF +Q1001 GT +Q9 GOTO LBL 6
47 LBL 6
48 Q1001 = Q9
49 FN 9: IF +0 EQU +0 GOTO LBL 4
50 LBL 5
51 LBL 0
52 END PGM ELIPSA-ZGR MM
Program wykonawczy 2
0 BEGIN PGM ELIPSA-WYK-ZEWN MM
1 FN 9: IF +Q52 EQU +0 GOTO LBL 2
2 TOOL CALL Q52 Z SQ53
3 M3 M8
4 Q1001 = Q1000
5 LBL 2
6 Q15 = Q13
7 Q15 = Q15 / 2
8 Q3 = Q3 + Q15
9 Q4 = Q4 + Q15
10 LBL 10
11 CYCL DEF 7.0 PUNKT BAZOWY
12 CYCL DEF 7.1 X+Q1
13 CYCL DEF 7.2 Y+Q2
14 CYCL DEF 10.0 OBROT
15 CYCL DEF 10.1 ROT+Q8
16 Q35 = ( Q6 - Q5 ) / Q40
17 Q36 = Q5
18 Q21 = Q3 * COS Q36
19 Q22 = Q4 * SIN Q36
20 Q22 = Q22 - Q15
21 Q21 = Q21 - Q15
22 L X+Q21 Y+Q22 R0 FMAX M3
23 L Z+Q12 FMAX
24 LBL 4
25 Q1003 = Q1003 + Q1000
26 FN 11: IF +Q1003 GT +Q9 GOTO LBL 5
27 LBL 6
28 L Z-Q1003 FQ42
29 Q37 = 0
30 LBL 1
31 Q36 = Q36 + Q35
32 Q37 = Q37 + 1
33 Q21 = Q3 * COS Q36
34 Q22 = Q4 * SIN Q36
35 L X+Q21 Y+Q22 RL FQ54
36 FN 12: IF +Q37 LT +Q40 GOTO LBL 1
37 FN 12: IF +Q1003 LT +Q9 GOTO LBL 4
38 LBL 5
39 FN 9: IF +Q1003 EQU +Q9 GOTO LBL 7
40 Q1001 = Q9
41 FN 9: IF +0 EQU +0 GOTO LBL 6
42 LBL 7
43 CYCL DEF 10.0 OBROT
44 CYCL DEF 10.1 ROT+0
45 CYCL DEF 7.0 PUNKT BAZOWY
46 CYCL DEF 7.1 X+0
47 CYCL DEF 7.2 Y+0
48 L Z+Q12 R0 FMAX
49 Q3 = Q3 - Q15
50 Q4 = Q4 - Q15
51 LBL 0
52 END PGM ELIPSA-WYK-ZEWN MM
Program wykonawczy 3
0 BEGIN PGM ELIPSA-WYK-WEWN MM
1 FN 9: IF +Q52 EQU +0 GOTO LBL 2
2 TOOL CALL Q52 Z SQ53
3 M3 M8
4 Q1002 = Q1000
5 LBL 2
6 Q16 = Q13
7 Q16 = Q16 / 2
8 Q3 = Q3 - Q16
9 Q4 = Q4 - Q16
10 LBL 10
11 CYCL DEF 7.0 PUNKT BAZOWY
12 CYCL DEF 7.1 X+Q1
13 CYCL DEF 7.2 Y+Q2
14 CYCL DEF 10.0 OBROT
15 CYCL DEF 10.1 ROT+Q8
16 Q35 = ( Q6 - Q5 ) / Q40
17 Q36 = Q5
18 Q21 = Q3 * COS Q36
19 Q22 = Q4 * SIN Q36
20 Q22 = Q22 + Q16
21 Q21 = Q21 + Q16
22 L X-Q21 Y+Q22 R0 FMAX M3
23 L Z+Q12 FMAX
24 LBL 4
25 Q1002 = Q1002 + Q1000
26 FN 11: IF +Q1002 GT +Q9 GOTO LBL 5
27 LBL 6
28 L Z-Q1002 FQ42
29 Q37 = 0
30 LBL 1
31 Q36 = Q36 + Q35
32 Q37 = Q37 + 1
33 Q21 = Q3 * COS Q36
34 Q22 = Q4 * SIN Q36
35 L X-Q21 Y+Q22 RL FQ54
36 FN 12: IF +Q37 LT +Q40 GOTO LBL 1
37 FN 12: IF +Q1002 LT +Q9 GOTO LBL 4
38 LBL 5
39 FN 9: IF +Q1002 EQU +Q9 GOTO LBL 7
40 Q1002 = Q9
41 FN 9: IF +0 EQU +0 GOTO LBL 6
42 LBL 7
43 CYCL DEF 10.0 OBROT
44 CYCL DEF 10.1 ROT+0
45 CYCL DEF 7.0 PUNKT BAZOWY
46 CYCL DEF 7.1 X+0
47 CYCL DEF 7.2 Y+0
48 L Z+Q12 R0 FMAX
49 Q3 = Q3 + Q16
50 Q4 = Q4 + Q16
51 LBL 0
52 END PGM ELIPSA-WYK-WEWN MM
Nie testowałem tego na wszystkie sposoby więc przy pewnych parametrach mogą dziać się cuda ale tak na pierwsze 5 testów działa
może się komuś przyda taki potworek
