G-code jest to język służący do sterowania wszelkimi urządzeniami CNC, ploterami oraz drukarkami 3D. Plik tekstowy z g-code to właśnie ten plik, którzy czytany jest przez maszynę (a nie, jak czasem mylnie słyszę, plik .stl) i jest to plik zawierający zestaw wielu poleceń, precyzyjnie określających, co w danym momencie ma robić urządzenie.
G-code – informacje dla druku w FDM/FFF
Przede wszystkim g-code generowany jest domyślnie za pomocą slicera (Cura, Slic3r, Simplify3D itd.) na podstawie modelu 3D. Zadaniem tego programu jest przygotować tak plik z poleceniami, aby przetłumaczyć wszystkie wstępne ustawienia drukarki z slicera, temperatury, geometrię modelu na język maszyny – język poleceń sterujący ruchem głowicy, silników, nagrzewaniem stołu i dyszy itd.
Taki plik z reguły można edytować w dowolnym edytorze tekstowym i z jego poziomu dokonywać korekt. Znajomość poleceń może mieć w tym wypadku duże znaczenie. Najważniejsze jest jednak to, że poznanie składni i poleceń pozwala na pisanie własnych programów, które rozwiązują konkretne problemy.
Oprócz ręcznej edycji czyli zmiany i dodawania poleceń w pliku (oczywiście w odpowiednim miejscu), do tego celu może posłużyć w pewnym zakresie sam slicer. W Cura czy Simplify3D znajdziemy pluginy czy ustawienia, za pomocą których będzie to możliwe. Dla przykładu: możemy zapauzować druk na odpowiedniej wysokości. W Cura można to zrobić używając pluginu/rozszerzenia Post Processing.
W Simplify3D podczas edycji profilu znajdziemy zakładkę Scripts, gdzie bardzo łatwo będziemy mogli dorzucić nasze polecenia w odpowiednim momencie np. po zmianie każdej warstwy, na początku/końcu g kodu.
A tak wygląda g kod otworzony w edytorze tekstowym:
Polecenia g kodu
Teraz zajmiemy się szeregiem ważnych poleceń oraz sposobem ich odczytywania. Rozpocznijmy od prostego przykładu.
G1 X5.3 Y1.1 Z0.2 F2000.0 E0.05
Powyższy zapis to właśnie jedno z typowych poleceń. Zawiera nazwę polecenia G1, po którym następuje zestaw argumentów definiujących to polecenie. Jak to przetłumaczyć? Polecenie G1 odpowiada za prostoliniowy ruch głowicy. Argumenty X,Y i Z zawierają koordynaty punktu do którego ma głowica przejechać (w tym wypadku to punkt o współrzędnych x=5.3 y=1.1 z=0.2). F to tzw. feed rate oraz E to długość filamentu, jaka musi być wekstrudowana podczas tego ruchu (0,05 mm – tyle wtłoczono do głowicy). Rezultatem będzie przejazd do punktu z jednoczesnym “wypluwaniem” filamentu. W przypadku polecenia G1 możesz omijać dowolne argumenty.
Poznałeś już sposób odczytu. Teraz przejdźmy do opisu poleceń. Przygotowałem wygodną tabelę, w której znajdziesz polecenia:
Kod |
Opis |
Dostępne argumenty |
Komentarz (opcjonalny) |
G1 | Ruch liniowy | X, Y, Z, E, F | |
G20 | Ustawienie jednostek na cale | ||
G21 | Ustawienie jednostek na milimetry | ||
G28 | Przejazd do pozycji bazowej (home) | ||
G90 | Uruchomienie współrzędnych bezwzględnych |
G90 G1 X5 przesunie do określonej pozycji na osi X bez względu na obecną pozycję.
|
|
G91 | Uruchomienie współrzędnych względnych | G91 G1 X5 przesunie o 5 jednostek względem obecnej pozycji na osi X. | |
G92 | Nadpisanie wartości parametru | (jeśli brak argumentów, zeruje wszystkie osie) | |
M84 | Wyłączenie silników | ||
M104 | Ustawienie temperatury dyszy i kontynuacja | S (stopnie Celsjusza) | |
M106 | Włączenie nawiewu wentylatora | S (0-255, 255 to max obroty) | |
M109 | Ustawienie temperatury dyszy z oczekiwaniem | S (stopnie Celsjusza) | |
M112 | Awaryjne zatrzymanie drukarki | ||
M116 | Oczekiwanie na osiągnięcie zadanego stanu |
Oczekuje na osiągnięcie zadanego stanu wszystkich temperatur i innych zmiennych.
|
|
M140 | Ustawienie temperatury stołu i kontynuacja | S (stopnie Celsjusza) | |
M190 | Ustawienie temperatury stołu z oczekiwaniem | S (stopnie Celsjusza) |
Znasz jeszcze jakieś ciekawe polecenia warte wymienienia na liście? Wpisz je w komentarzu.