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 filamentuLitery 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.
Uwaga! G-code jest przygotowywany pod konkretną maszynę. Plik z innej drukarki może mieć inne wymiary pola roboczego i temperatury, a nawet uderzyć dyszą w stół.
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ń.
Plik na kilkugodzinny wydruk ma zwykle dziesiątki, a nawet setki tysięcy linii.
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.
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.
- CNC Shield na płytce Arduino
- CNC Shield z góry
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ół.
Chcesz wiedzieć więcej? Zadaj pytanie na naszym forum o elektronice - chętnie doradzimy!
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.


































