Napisane pod macha... nie próbuj dochodzić jak działa bo na ten moment nawet ja (choć sam to wyskrobałem) nie ogarniam tych wszystkich numerków

Co prawda nie jest to dokładnie spirala taka o jaką Ci chodzi bo napisana z półokregów których średnica sie zmienia ale to zobaczysz jak załadujesz program. Do napisania spirali wpisz np 1 w średicy końcowej (prawie zero

) i samo się narysuje... To samo bez zmienych pisze się bardzo prosto zwiekszając średnicę półokręgów o stałą.
;Program do pojedynczego przejazdu ściągającego materiał
;dookoło pierścienia .Frezowanie współbierzne
;
; ! ! ! UWAGA ! ! !
;
;Sprawdzić symulację przed rozpoczęciem frezowania.
;Zwrócić uwage na przejście ze spirali w okrąg
;wykańczający. Ze wzgledu na skomplikowaność obliczeń
;program w niektórych kombnacjach zmiennych głupieje
;(najprawdopodobniej jest to efekt niedokładności dzielenia)
; ! ! ! UWAGA ! ! !
;średnica początkowa (uwzględnia grubość narzędzia) musi byc większa lub równa średnicy końcowej
#100 = 162
;średnica końcowa (uwzględnia grubość narzędzia) musi być większa od zera
#101 = 71.44
;średnica narzędzia
#102 = 8
#103 = [#102 / 2]
;grubość skrawania nie schodzić poniżej 0.5 lub probować korygować
#104 = 2
;korekcja zwiekszać co 1 normalnie wpisać 0
#117 = 0
;prędkość obróbki
#105 = 1200
;prędkość zagłębiania
#106 = 200
;prędkość przejazdu wykańczającego (drugi przejazd ostatniego kręgu)
#109 = 500
;wysokość bezpieczna
#107 = 10
; poziom obróbki
#108 = 2
;ilość powtórzeń
#115 = [[[#100-[#101 + #103]] / 2] / #104]
;korekcja
#115 = [#115 + #117]
;zmienna po x (pozycja początkowa)
#116 = [#100 / 2 + #103]
;Program główny
G94 F[#105]
;wysokość bezpieczna
G00 z[#107]
;jedź do punktu początku obróbki
G00 x[#116 + [#104 /2]] Y0
;zagłębianie
G94 F[#106]
G00 Z[#108]
;podprogram dwóch spirali Q[#115]
G94 F[#105]
M98 P100 Q[#115+1]
;ostatnie zacieśnienie
;ostatnia pozycja x po wyjsciu z podprogramów - Y0
#120 = [[#116] + [#104 /2]]
G02 X[0 - [[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]]] Y0 R[ [ [[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]] + [[#116] + [#104 /2]] ] /2 ]
G02 X[[#101 / 2] + #103] Y0 R[[[[#101 / 2] + #103]+[[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]]]/2]
;okrąg właściwy
G02 X[0 - [[#101 / 2] + #103]] Y0 R[#116 - [2 * #104]]
G02 X[[#101 / 2] + #103] Y0 R[#116 - [2 * #104]]
;okrąg właściwy drugi przejazd z prędkościa wykańczającą
G94 F[#109]
G02 X[0 - [[#101 / 2] + #103]] Y0 R[#116 - [2 * #104]]
G02 X[[#101 / 2] + #103] Y0 R[#116 - [2 * #104]]
;wyjazd
G00 X[[#101 / 2] + #103 + 1]
G00 Z[#107]
M30
;Podprogram frezowania po spirali obliczanej
O100
G02 X[[0 - #116 - [#104 / 2]] + [#104 /2]] Y0 R[#116 - #104]
G02 X[[#116 - #104] + [#104 /2]] Y0 R[#116 - [2 * #104]]
#116 = [#116 - #104]
M99
Pozdrawiam
FDSA