Kursy • Poradniki • Inspirujące DIY • Forum

G-code - co warto wiedzieć?

G-code to język poleceń, za pomocą którego komputer mówi drukarce 3D, frezarce CNC lub grawerowi laserowemu, gdzie i jak ma się przesunąć. Spotyka się też zapis Gcode oraz polskie nazwy G-kod i kod G. Plik z takimi poleceniami przygotowuje najczęściej program nazywany slicerem, a maszyna wykonuje go linijka po linijce.

Co to jest G-code?

Język powstał w latach 50. XX wieku w laboratorium serwomechanizmów MIT (ang. MIT Servomechanisms Laboratory), gdzie pracowano nad pierwszymi obrabiarkami sterowanymi numerycznie. Pierwszą znormalizowaną wersję, RS-274, opublikowano w 1963 roku, a w 1982 roku powstała norma międzynarodowa ISO 6983. Mało kto zdaje sobie sprawę, że ten sam język, którym od dekad programuje się przemysłowe frezarki, steruje dziś domowymi drukarkami 3D.

Plik G-code to zwykły plik tekstowy, najczęściej z rozszerzeniem .gcode. Każda linia to jedno polecenie: litera z numerem określa rodzaj komendy, a kolejne litery z liczbami są jej parametrami. Polecenia zaczynające się od G odpowiadają głównie za ruch, a polecenia M za funkcje pomocnicze, np. grzanie, wentylator i silniki. Przykładowy początek pliku dla drukarki 3D wygląda tak:

G28              ; bazowanie wszystkich osi
M140 S60         ; stół na 60°C
M104 S210        ; dysza na 210°C
M190 S60         ; czekaj, aż stół się nagrzeje
M109 S210        ; czekaj, aż dysza się nagrzeje
G90              ; pozycjonowanie absolutne
G1 Z0.2 F600     ; zjazd dyszy nad stół
G1 X50 Y50 E5 F1500 ; ruch z wytłaczaniem filamentu

Litery X, Y i Z to współrzędne w milimetrach, F to prędkość ruchu (posuw) w mm/min, E to długość podawanego filamentu, a S to wartość parametru, tutaj temperatura. Wszystko po średniku jest komentarzem. Ostatnia linia oznacza więc: przesuń głowicę do punktu X50, Y50 i po drodze wytłocz 5 mm filamentu. Temperatury z przykładu są typowe dla PLA.

Najważniejsze komendy G-code

Każda maszyna rozumie nieco inny zestaw poleceń, ale w plikach dla drukarek 3D ciągle powtarza się kilkanaście tych samych komend:

  • G0 i G1 - ruch liniowy (G0 to szybki przejazd, G1 to ruch roboczy),
  • G28 - bazowanie osi, czyli powrót do pozycji zerowej,
  • G90 i G91 - pozycjonowanie absolutne lub względne,
  • G92 - ustawienie bieżącej pozycji bez wykonywania ruchu,
  • M104 i M109 - temperatura dyszy (M109 czeka na jej osiągnięcie),
  • M140 i M190 - temperatura stołu (M190 czeka na jej osiągnięcie),
  • M106 i M107 - włączenie i wyłączenie wentylatora,
  • M84 - wyłączenie silników.

Co ważne, G-code ma wiele dialektów. Producenci obrabiarek CNC dodają własne rozszerzenia, a w drukarkach 3D znaczenie części komend zależy od firmware'u: Marlin, Klipper czy RepRapFirmware. Pełną listę komend jednego z najpopularniejszych firmware'ów można znaleźć w dokumentacji Marlina.

Dlatego przed drukiem zawsze warto wybrać w slicerze właściwy profil drukarki i wygenerować plik od nowa, zamiast korzystać z gotowego G-code pobranego z sieci.

Jak powstaje G-code?

Pliku dla drukarki 3D nikt nie pisze ręcznie. Powstaje on w slicerze (np. Bambu Studio, OrcaSlicer, PrusaSlicer, Cura) na podstawie modelu w formacie STL lub 3MF. Program tnie model na warstwy, wyznacza ścieżki dyszy i zapisuje je jako ciąg poleceń.

Nie wszystkie slicery zapisują czysty plik tekstowy. Bambu Studio tworzy pliki .gcode.3mf, w których G-code jest spakowany razem z miniaturami i ustawieniami wydruku. Prusa w 2023 roku wprowadziła binarny G-code (.bgcode), który zajmuje mniej miejsca i szybciej trafia do drukarki. Gotowy plik można przesłać przez kabel USB, na karcie pamięci lub pendrivie albo przez sieć Wi-Fi.

Schemat blokowy - G-code powstaje w slicerze na komputerze i trafia do firmware'u drukarki 3D

Droga od modelu 3D do ruchu drukarki - schemat poglądowy

W drukarce plik odczytuje firmware, który wykonuje kolejne linie i zamienia je na ruchy silników oraz sterowanie grzałkami. Do zdalnego wysyłania plików i sterowania drukarką służy m.in. OctoPrint.

G-code w maszynach CNC i grawerach laserowych

Przy frezarkach CNC i grawerach laserowych G-code generuje program typu CAM albo program do grawerowania. Popularnym sterownikiem w hobbystycznych maszynach jest GRBL - otwarte oprogramowanie, które interpretuje G-code na mikrokontrolerze z rodziny AVR. Każdą oś napędza zwykle jeden silnik krokowy, a GRBL zamienia kolejne linie pliku na impulsy kroków.

Najprostszy sterownik CNC można zbudować z płytki Arduino UNO, nakładki CNC Shield i sterowników silników krokowych. Plik G-code wysyła się wtedy z komputera przez USB, np. programem Universal Gcode Sender, który na bieżąco pokazuje pozycję narzędzia.

Frezarki CNC i części do budowy własnej maszyny są dostępne w Polsce u naszego partnera - w sklepie Botland, który specjalizuje się w elektronice, robotyce i druku 3D. W ofercie są zarówno gotowe maszyny, jak i frezy, sterowniki oraz nakładki dla Arduino.

Przed pierwszym uruchomieniem nowego pliku na frezarce warto sprawdzić podgląd ścieżek, który ma większość programów do wysyłania G-code, a potem wykonać przejazd „na sucho”, z narzędziem uniesionym nad materiałem. Błąd w jednej linii, np. zła wartość Z, potrafi złamać frez i uszkodzić stół.

Co o tym sądzisz? Oceń ten wpis:

Średnia ocena 0 / 5. Głosów łącznie: 0

Nikt jeszcze nie głosował, bądź pierwszy!

Artykuł nie był pomocny? Jak możemy go poprawić? Wpisz swoje sugestie poniżej. Jeśli masz pytanie to zadaj je w komentarzu - ten formularz jest anonimowy, nie będziemy mogli Ci odpowiedzieć!

Co o tym sądzisz? Oceń ten wpis:

Średnia ocena 0 / 5. Głosów łącznie: 0

Nikt jeszcze nie głosował, bądź pierwszy!

Artykuł nie był pomocny? Jak możemy go poprawić? Wpisz swoje sugestie poniżej. Jeśli masz pytanie to zadaj je w komentarzu - ten formularz jest anonimowy, nie będziemy mogli Ci odpowiedzieć!

Odnośniki do niektórych produktów umieszczone w tym wpisie prowadzą do głównego partnera serwisu – sklepu Botland. Nie są to linki afiliacyjne. Na tej podstronie opisaliśmy na czym dokładnie polega nasza współpraca.