G-code

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:

 

Kalibracja i zmiana filamentu