Program G-code wycinający eliptyczny otwór
Stronę tą wyświetlono już: 2666 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]
Rys. 1
Graficzna interpretacja parametrów wycinanego otworu eliptycznego:
- promienie elipsy r1 i r2;
- położenie środka elipsy xc i yc;
- kąt obrotu α elipsy;
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

Rys. 2
Przykład symulacji wycinania otworu eliptycznego przeprowadzona w programie LinuxCNC