G-code jest to język zapisu poleceń dla urządzeń CNC oraz drukarek 3D typu FDM. Jest generowany programem typu slicer (Cura, Slic3r, KISSlicer etc.) na podstawie modelu STL. G-code składa się z prostych poleceń, po kolei mówiących drukarce co ma zrobić żeby wydrukować dany model – w stylu:
- rozgrzej dyszę do temperatury 190°C
- przesuń głowicę do punktu x=10 y=10
- przesuń głowicę wyciskając filament do punktu x=20 y=20.
Polecenia takie są zapisywane w pliku na karcie SD lub pamięci USB, umieszczanej następnie w drukarce 3D, jak również przesyłane bezpośrednio z komputera do drukarki 3D przez USB lub WiFi. Często są zapisane w formie tekstowej, tak że można je bez problemu otworzyć zwykłym edytorem na komputerze (np. przez Windowsowy Notatnik).
Mimo że slicery generują G-code gotowy do przesłania do drukarki 3D, zdarzają się sytuacje, kiedy warto wprowadzić do niego pewne zmiany. Możemy np. sprawić, że drukarka 3D zatrzyma się automatyczne w wybranym momencie w celu zmiany filamentu na inny kolor. Można również zmniejszyć temperaturę dyszy przy drukowaniu 3D ostrych wierzchołków, tak aby uniknąć ich podtapiania. Można też użyć G-code’u do napisania programu ułatwiającego kalibrację stołu. W niektórych sytuacjach znajomość poleceń tego języka może się przydać przy rozwiązywaniu problemów z drukiem 3D.
Najważniejsze polecenia G-code
Poniżej znajduje się tabela z najbardziej istotnymi kodami. Każdy kod składa się z symbolu (G1, G28, M190) oraz listy parametrów oddzielonych spacjami. Każdy parametr zawiera literę (opisującą jego znaczenie) oraz wartość.
Kod | Przykłady | Znaczenie |
G1 X? Y? Z? E? F? | G1 X10 Y20 E40
G1 X35 Y50 F500 |
Ustawienie poszczególnych osi drukarki 3D (XYZ) oraz przewinięcie filamentu do wskazanej pozycji (E) z prędkością F. Dowolne z parametrów XYZ E oraz F można tutaj pominąć. Prędkość jest wyrażona w mm/min – inaczej niż w slicerach, gdzie podaje się ją w mm/s. |
G28 | G28 | Powrót do pozycji “0” (auto home) |
G92 E0 | G92 E0 | Zresetowanie licznika zużycia filamentu (ogólnie kod służy do nadpisania bieżącej pozycji silników podanymi wartościami, bez wykonywania jakichkolwiek ruchów) |
M1 S? | M1 S30 | Wstrzymanie pracy na S=30 sekund |
M140 S? | M140 S80 | Ustawienie temperatury stołu na S=80°C i kontynuacja pracy |
M190 S? | M190 S80 | Ustawienie temperatury stołu na S=80°C i wstrzymanie pracy aż temperatura zostanie osiągnięta |
M104 S? | M140 S190 | Ustawienie temperatury dyszy na S=190°C i kontynuacja pracy |
M109 S? | M109 S190 | Ustawienie temperatury dyszy na S=190°C i wstrzymanie pracy aż temperatura zostanie osiągnięta |
M300 S? P? | M300 S300 P1000 | Wydanie dźwięku o częstotliwości S=300 Hz i czasie trwania P=1000 ms. |
M117 Hello World | Wyświetlenie tekstu “Hello World” na panelu LCD drukarki 3D. Działa jedynie dla drukarek 3D z oprogramowaniem Marlin. |
Pełną listę parametrów można znaleźć pod adresem: http://reprap.org/wiki/G-code.
Przykłady użycia: