Program G-code wycinający eliptyczny otwór

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3484 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:

Kolejne parametry związane z samą frezarką i narzędziem to:

Graficzna interpretacja parametrów wycinanego otworu eliptycznego
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
Przykład symulacji wycinania otworu eliptycznego przeprowadzona w programie LinuxCNC
Rys. 2
Przykład symulacji wycinania otworu eliptycznego przeprowadzona w programie LinuxCNC