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ń.
G1 – ruch liniowy (dostępne argumenty: X, Y, Z, E, F)
G20/G21 – ustawienie jednostek cale/milimetry
G28 – przejazd do pozycji bazowe (home)
G90/G91 – uruchomienie współrzędnych bezwzględnych / względnych (zastanów się jaka będzie różnica dla takich zestawów: G90 G1 X5 oraz G91 G1 X5 – swoje uzasadnienie napisz w komentarzu)
G92 – Pozwala na nadpisanie wartości parametru. Jeżeli nie zastosowany zostanie argument, to wszystkie wartości dla osi zostaną zmienione na zero.
M84 – wyłączenie silników
M104 – ustawienie temperatury dyszy i kontynuacja (dostępny argument: S – wartość w stopniach Celsjusza)
M106 – włączenie nawiewu wentylatora (dostępny argument: S (przyjmuje wartość 0-255, gdzie 255 to max. obroty))
M109 – ustawienie temperatury dyszy i oczekiwanie aż wartość zostanie osiągnięta (dostępny argument: S – wartość w stopniach Celsjusza)
M112 – awaryjne zatrzymanie drukarki
M116 – oczekiwanie, aż wszystkie temperatury i inne zmienne dojdą do zadanej wartości
M140 – ustawienie temperatury stołu i kontynuacja (dostępny argument: S – wartość w stopniach Celsjusza)
M190 – ustawienie temperatury stołu i oczekiwanie aż wartość zostanie osiągnięta (dostępny argument: S – wartość w stopniach Celsjusza)
Znasz jeszcze jakieś ciekawe polecenia warte wymienienia na liście? Wpisz je w komentarzu.