Program frezujący okrągłą kieszeń o podanych wymiarach

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3570 razy

Podstawowe parametry geometryczne sterujące procesem frezowania to:

Kolejne parametry mające wpływ na czas pracy oraz wykonanie zadania dotyczą samej obrabiarki i narzędzia, którym ta się posługuje. Oto parametry dotyczące geometrii narzędzia i obrabiarki:

Ilustracja pokazująca podstawowe parametry geometryczne frezowanej kieszeni
Rys. 1
Ilustracja pokazująca podstawowe parametry geometryczne frezowanej kieszeni:
  • promień r [mm];
  • współrzędne środka kieszeni xc i yc w [mm];
  • wysokość h [mm]

G-code programu frezującego wygląda następująco:

#<z_base> = 0 #<max_height> = 5 #<current_height> = #<max_height> #<height> = 20 #<ray> = 50 #<tool_diameter> = 12 #<current_ray> = [#<tool_diameter> / 2] #<begin_x> = 100 #<begin_y> = 100 g90 g0 x[#<begin_x>] y#<begin_y> g0 g90 f500 z#<z_base> M3 s1000 (włączenie obrotów) (debug, #<begin_x>) o001 if [[#<tool_diameter> le #<ray>]] g90 g1 x[#<begin_x>] y#<begin_y> #<current_ray> = [#<tool_diameter> / 2] o007 if [#<current_height> gt #<height>] #<current_height> = #<height> o007 endif o002 while [#<current_height> le #<height>] #<current_ray> = [#<tool_diameter> / 2] g1 g90 z-[#<current_height> - #<z_base>] o003 if [#<current_ray> gt [#<ray> - #<tool_diameter> / 2]] #<current_ray> = #<ray> - #<tool_diameter> / 2 o003 endif g90 o004 while [#<current_ray> le [#<ray> - #<tool_diameter> / 2]] g90 g1 y[#<begin_y> - #<current_ray>] g91 g2 x0 y[#<current_ray> * 2] r#<current_ray> g91 g2 x0 y-[#<current_ray> * 2] r#<current_ray> o005 if [[#<current_ray> + #<tool_diameter>] le [#<ray> - #<tool_diameter> / 2] or #<current_ray> eq [#<ray> - #<tool_diameter> / 2]] #<current_ray> = [#<current_ray> + #<tool_diameter>] o005 else #<current_ray> = [#<ray> - #<tool_diameter> / 2] o005 endif o004 endwhile o006 if [[#<current_height> + #<max_height>] le #<height> or #<current_height> eq #<height>] #<current_height> = [#<current_height> + #<max_height>] o006 else #<current_height> = #<height> o006 endif o002 endwhile g1 g90 z0 o001 endif M30

Przykładowy widok procesu frezowania kieszeni okrągłej pokazany został na poniższej ilustracji.

Widok symulacji frezowania kieszeni okrągłej przeprowadzonej w programie LinuxCNC
Rys. 2
Widok symulacji frezowania kieszeni okrągłej przeprowadzonej w programie LinuxCNC