Stronę tą wyświetlono już: 3662 razy
Ten prosty programik napisany w G-code wycina eliptyczny otwór o podanych parametrach. Program przy wycinaniu otworu bierze pod uwagę następujące parametry wpływające na położenie i kształt otworu:
- promienie elipsy r1 i r2;
- położenie środka elipsy xc i yc;
- kąt obrotu α elipsy;
Kolejne parametry związane z samą frezarką i narzędziem to:
- średnica frezu d;
- wysokość cięcia h;
- maksymalna jednorazowa wysokość skrawanej warstwy;
- posuw f [mm / min];
- prędkość obrotowa wrzeciona s [obr / min]
Program, który napisałem wykonuje interpolację liniową krzywej eliptycznej, której dokładność zależy od specjalnie utworzonego parametru n. Parametr ten dzieli kąt pełny 360° na części, względem których obliczane są współrzędne bezwzględne kolejnego punktu znajdującego się na obwodzie elipsy.
g90
f300
m3 s800
#<tool_diameter> = 2
#<height> = 3
#<current_height> = 1
#<x_c> = 100
#<y_c> = 100
#<ray_1> = [50 - #<tool_diameter> / 2]
#<ray_2> = [80 - #<tool_diameter> / 2]
#<angle> = 23
#<k> = 1
g0 x[#<x_c> - #<ray_1> * cos[#<angle>]] y[#<y_c> - #<ray_1> * sin[#<angle>]]
g1
#<n> = 360
o002 while [#<current_height> le #<height>]
z-[#<current_height>]
o001 repeat [#<n>]
#<x> = [- #<ray_1> * cos[360 / #<n> * #<k>]]
#<y> = [#<ray_2> * sin[360 / #<n> * #<k>]]
x[#<x> * cos[#<angle>] - #<y> * sin[#<angle>] + #<x_c>] y[#<x> * sin[#<angle>] + #<y> * cos[#<angle>] + #<y_c>]
#<k> = [#<k> + 1]
o001 endrepeat
#<current_height> = [#<current_height> + 1]
o002 endwhile
z0
m30