Kompletny przewodnik po G-Code: od początkującego do profesjonalisty
Czym jest G-Code, jak korzystają z niego maszyny i pełny proces produkcyjny — od SVG i obrazów rastrowych po pliki gotowe do obróbki maszynowej dla ploterów pisakowych, grawerek laserowych, drukarek 3D i frezarek CNC.
Co to jest G-Code?
G-Code (kod geometryczny) to język zwykłego tekstu obsługujący maszyny CNC. Każdy plik — zazwyczaj.gcode,.nc lub.cnc — to sekwencja instrukcji informujących maszynę, gdzie ma się poruszać, jak szybko i kiedy aktywować narzędzie. Linie są wykonywane od góry do dołu, pojedynczo.
Pomyśl o swoim projekcie jak o planie, a G-Code jak o szczegółowej nawigacji. Drukarka 3D nie może przetworzyć JPG. Ploter pisakowy nie wie, jak wygląda litera „A”. G-Code rozwiązuje ten problem, dzieląc dowolny kształt na elementarne ruchy — linie proste, łuki i polecenia włączania/wyłączania narzędzia — które każdy kontroler ruchu może niezawodnie wykonać.
Standard wywodzi się z MIT w latach pięćdziesiątych XX wieku, sformalizowany jako RS-274 w 1963 r. i opublikowany na arenie międzynarodowej jako ISO 6983 w 1982 r. Pomimo swojego wieku G-Code pozostaje uniwersalnym językiem wytwarzania — od hobbystycznych drukarek biurkowych po przemysłowe frezarki pięcioosiowe.
Gdzie jest używany G-Code?
- Plotery pisakowe (AxiDraw, HP 7475A, DIY GRBL): przesuwa fizyczny długopis po papierze w celu reprodukcji grafiki wektorowej — jeden z najbardziej dostępnych punktów wejścia do G-Code dla artystów i twórców.
- Grawerki i wycinarki laserowe: sterują wiązką, modulując moc, aby wypalać obrazy w drewnie lub wycinać kształty z akrylu.
- Drukarki 3D FDM (Prusa, Creality, Bambu Lab): koordynuje głowicę drukującą w osiach X, Y, Z podczas podawania żarnika, budując obiekty warstwa po warstwie.
- CNC Routery i frezarki: kieruje wirujące narzędzie tnące przez materiał w celu rzeźbienia, wykonywania kieszeni i profilowania.
- CNC Tokarki, przecinarki plazmowe, maszyny do cięcia strumieniem wody i elektrodrążarki drutowe: wszystkie wykorzystują G-Code lub jego bliską pochodną.
Anatomia pliku G-Code
Każda linia (nazywana blokiem) to jedna kompletna instrukcja. Maszyna pamięta swój stan pomiędzy liniami — prędkość posuwu ustawiona w linii 10 pozostaje aktywna w linii 200, chyba że ją zmienisz. Nazywa się to stanem modalnym.
Oto program do plotera pisakowego, który rysuje kwadrat o wymiarach 50×50mm:
G21 ; millimeters
G90; absolutne pozycjonowanie
G0 Z5.0 ; lift pen
G0 X0 Y0 ; move to origin
M3 S1000 ; pen down
G1 X50.0 Y0 F2000
G1 X50.0 Y50.0
G1 X0 Y50.0
G1 X0 Y0
M5 ; pen up
M2 ; end
Rozbicie G1 X50.0 Y25.3 F1500: G1 = narysowanie linii prostej, X50.0 Y25.3 = miejsce docelowe, F1500 = 1500 mm/min. Uwaga G1 pojawia się tylko raz — każda następna linia współrzędnych automatycznie go ponownie wykorzystuje, dopóki nie napiszesz G0 lub innego polecenia ruchu. Wszystko po średniku jest komentarzem ignorowanym przez maszynę.
Podstawowe polecenia G-Code
Polecenia te działają w praktycznie każdym oprogramowaniu sprzętowym — od hobbystycznego GRBL po przemysłowy Fanuc.
- G0 — Rapid Move: zmiana położenia tak szybko, jak pozwala na to maszyna. Nigdy nie używaj przy aktywnym laserze lub wrzecionie.
- G1 — Przesunięcie liniowe: rysuj lub wycinaj linię prostą z ustawioną szybkością posuwu (F). Podstawowe polecenie dla wszystkich prac CNC.
- G2 / G3 — Łuk zgodny z ruchem wskazówek zegara/przeciwny do ruchu wskazówek zegara: twórz gładkie krzywe jednym poleceniem, korzystając z przesunięć środka I/J lub promienia R. Jeden G2/G3 zastępuje dziesiątki maleńkich segmentów G1.
- G4 — Przerwa: pauza na ustawiony czas. ⚠ Jednostka P jest różna: GRBL = sekundy (G4 P1.5 = 1.5s), Marlin = milisekundy (G4 P1500 = 1.5s).
- G20 / G21 — jednostki cale/milimetry. Zawsze ustawiaj tę opcję na początku każdego pliku.
- G28 — Ustaw w pozycji wyjściowej wszystkie osie. Zachowanie różni się w zależności od oprogramowania sprzętowego — zawsze sprawdź przed użyciem.
- G90 / G91 — Pozycjonowanie absolutne / względne. Wartość domyślna to G90; G91 tworzy każdą współrzędną w odniesieniu do aktualnej pozycji.
- G92 — Ustaw aktualną pozycję jako początek bez przesuwania. Służy do definiowania początku pracy w trakcie pracy.
- M3 S[value] — Narzędzie włączone: uruchamia laser, obraca wrzeciono lub opuszcza serwo pióra. S steruje mocą, obrotami i kątem serwa.
- M5 — Narzędzie wyłączone. Zawsze dołączaj przed jakimkolwiek ruchem w trybie szybkiej jazdy.
- M104 / M109 — Ustaw temperaturę hotendu (druk 3D). M109 czeka, aż cel zostanie osiągnięty, zanim przejdzie dalej.
- M140 / M190 — Ustaw temperaturę stołu (druk 3D). M190 czeka — użyj przed rozpoczęciem drukowania.
- F — Posuw w mm/min. Modalne: utrzymuje się, dopóki go nie zmienisz.
- S — Moc lub prędkość: moc lasera (0–1000 w przypadku GRBL), obroty wrzeciona lub kąt serwa.
- E — Odległość żarnika ekstrudera (tylko druk 3D).
- I, J — Przesunięcie środka łuku od bieżącego położenia, używane z G2 i G3.
GRBL wykorzystuje sekundy — G4 P1.5 zatrzymuje się na 1,5 sekundy. Marlin wykorzystuje milisekundy — G4 P1500 to ta sama pauza. Użycie niewłaściwej jednostki oznacza, że maszyna albo prawie się nie zatrzymuje, albo zawiesza się na kilka minut. Zawsze sprawdzaj dokumentację oprogramowania sprzętowego.
Przebieg pracy 1: Ploter pisakowy
- 1
Projektowanie w programie wektorowym
Plotery rozumieją tylko ścieżki, a nie piksele, wypełnienia czy nieprzetworzony tekst. Użyj Inkscape, Illustrator lub Affinity Designer, aby utworzyć ścieżki pociągnięć SVG. Konwertuj cały tekst na kontury. Usuń wypełnienia, mapy bitowe i efekty — są one dyskretnie ignorowane przez konwerter.
- 2
Zoptymalizuj SVG
Łącz zduplikowane ścieżki (pióro prześledziłoby dwukrotnie tę samą linię), upraszczaj gęste węzły i ustawiaj wymiary dokumentu w milimetrach, a nie w pikselach, aby uniknąć później problemów ze skalowaniem DPI.
- 3
Konwertuj na G-Code
Konwerter przekształca każdą ścieżkę na ruchy G1 i wstawia polecenia podnoszenia pióra M3/M5 pomiędzy rozłączonymi pociągnięciami. Najważniejszym ustawieniem jest sortowanie ścieżek — kolejność rysowania pociągnięć. Zły sort powoduje, że pióro zygzakuje po stronie tysiące razy. Sortowanie według najbliższego sąsiada może skrócić czas podróży o 50% lub więcej w przypadku gęstych dzieł sztuki.
- 4
Wyślij za pośrednictwem nadawcy G-Code
Przesyłaj strumieniowo plik do oprogramowania sprzętowego GRBL poprzez Universal Gcode Sender (UGS) lub bCNC. Nadawca dostarcza wiersze jeden po drugim; GRBL przekłada każdy z nich na impulsy silnika krokowego.
Przebieg pracy 2: Grawer laserowy / nóż
- 1
Wybierz tryb: wektorowy lub rastrowy
Tryb wektorowy śledzi ścieżki ze stałą mocą — używaj go do wycinania konturów i grawerowanych linii. Tryb rastrowy przesuwa się tam i z powrotem jak drukarka, zmieniając moc piksel po pikselu — używaj go do zdjęć i cieniowanych wypełnień. W jednym zadaniu można używać obu trybów na oddzielnych warstwach.
- 2
Wygeneruj G-Code z ustawieniami lasera
Narzędzia takie jak LightBurn lub LaserGRBL wyprowadzają M3 S[wartość], aby wystrzelić laser i M5, aby go zatrzymać. W trybie rastrowym wartość S zmienia się w każdej linii G1, odtwarzając gradienty skali szarości. W tym celu należy skompilować GRBL w trybie laserowym — wyłącza to zwiększanie prędkości i umożliwia natychmiastową reakcję mocy.
- 3
Najpierw przetestuj na złomie
Moc i prędkość różnią się znacznie w zależności od materiału. Zawsze przeprowadzaj mały test sieci mocy/prędkości na tym samym materiale przed rozpoczęciem prawdziwej pracy.
Laser: noś okulary ochronne dostosowane do długości fali (CO2 = 10 600 nm; grawerki diodowe ≈ 450 nm – wymagają innych okularów). Zapewnij wentylację — podczas grawerowania powstają toksyczne opary z prawie wszystkich materiałów. Nigdy nie pozostawiaj działającego lasera bez nadzoru. CNC: zamocuj obrabiany przedmiot przed uruchomieniem wrzeciona – niezabezpieczony element można wyrzucić z dużą prędkością. Zanim zaczniesz, poznaj swój przystanek awaryjny.
Przebieg pracy 3: Drukowanie 3D
- 1
Modeluj i eksportuj jako STL lub STEP
Projektuj w Fusion 360, Blenderze, FreeCAD lub podobnym. STL to standardowy format wymiany; STEP zapewnia bardziej precyzyjną geometrię części inżynieryjnych.
- 2
Pokrój w warstwy
Krajalnica (PrusaSlicer, Cura, Bambu Studio) tnie model na warstwy poziome 0,1–0.3mm i oblicza ścieżki narzędzia, podpory, wypełnienia i mosty. Typowy ruch wygląda jak G1 X42.5 Y88.3 E0.0234 F4500 — przesuwanie głowicy podczas wytłaczania dokładnie 0.0234mm żarnika. Krajalnica wkłada również M109 i M190 w celu podgrzania dyszy i stołu przed rozpoczęciem drukowania.
- 3
Wyślij za pośrednictwem karty SD lub sieci
Marlin, Klipper lub RepRapFirmware wykonuje plik. Klipper przenosi obliczenia na Raspberry Pi i obsługuje kształtowanie danych wejściowych — mierzy rezonans ramki za pomocą akcelerometru i filtruje go z poleceń ruchu, redukując artefakty dzwonienia i umożliwiając wyższe prędkości drukowania.
Przebieg pracy 4: Obróbka CNC
- 1
Modeluj w CAD
Użyj Fusion 360, SolidWorks lub FreeCAD. Części obrobione wymagają tolerancji 0.01–0.05mm, więc jakość modelu bezpośrednio determinuje jakość części.
- 2
Zdefiniuj ścieżki narzędzia w CAM
Oprogramowanie CAM (Fusion 360 CAM, VCarve, Mastercam) pozwala określić narzędzie, strategię skrawania (oczyszczanie adaptacyjne, kontur, zagłębianie), głębokość skrawania, prędkość wrzeciona i prędkość posuwu. Celem jest efektywne zazębienie narzędzia bez łamania wiertła lub spalania materiału.
- 3
Proces końcowy dla kontrolera
Każda przemysłowa maszyna CNC mówi własnym dialektem — Fanuc, Siemens Sinumerik, Heidenhain, Haas. Postprocesor znajdujący się w oprogramowaniu CAM tłumaczy ogólne ścieżki narzędzi na dokładnie taką składnię, jakiej oczekuje Twoja maszyna. Użycie niewłaściwego postprocesora nie tylko powoduje produkcję złych części — może także uderzyć maszynę w obrabiany przedmiot, niszcząc oprzyrządowanie i stwarzając zagrożenie dla bezpieczeństwa.
SVG do G-Code: Co się właściwie dzieje
Ścieżki SVG wykorzystują krzywe, łuki i linie proste Bézier. G1 rysuje tylko linie proste — więc konwertery muszą wypełnić lukę na dwa sposoby:
Fazowanie dzieli krzywe na wiele małych prostych segmentów. Gładsze krzywe wymagają krótszych segmentów, co oznacza większe pliki i potencjalne zacinanie się w ruchu, gdy bufor poleceń maszyny nie nadąża.
Dopasowywanie łuku jest mądrzejsze: wykrywa, kiedy ciąg krótkich segmentów tworzy okrąg i zastępuje całą grupę pojedynczym poleceniem G2 lub G3. Okrąg zajmujący 360 linii G1 staje się jedną linią G-Code. Pilniki kurczą się nawet o 90%, ruch jest idealnie płynny, a maszyna utrzymuje stałą prędkość po łuku. Nie wszystkie kompilacje GRBL obsługują G2/G3 — sprawdź przed włączeniem.
Illustrator eksportuje w 72 DPI. Inkscape przed v0.92 używany był 90 DPI. Nowoczesne narzędzia wykorzystują 96 DPI. Jeśli Twój konwerter zakłada 96 DPI, ale Twój plik pochodzi z Illustrator, każdy wymiar jest o 33% za duży — kształt 100mm jest wykreślany w 133mm. Poprawka: dopasuj ustawienie DPI konwertera do aplikacji źródłowej lub jeszcze lepiej, ustaw wymiary dokumentu SVG w milimetrach, aby DPI było całkowicie nieistotne.
Dialekty G-Code: dlaczego jeden plik nie pasuje do wszystkich maszyn
Podstawowe polecenia ruchu (G0, G1, G2, G3) działają wszędzie. Wszystko inne – sekwencje startowe, zmiany narzędzi, składnia komentarzy – różni się w zależności od rodziny oprogramowania sprzętowego. Uruchomienie G-Code z niewłaściwego sterownika na profesjonalnej maszynie CNC nie tylko powoduje wygenerowanie nieprawidłowego wyniku — może spowodować szybkie uderzenie w obrabiany przedmiot.
- GRBL: dominujące oprogramowanie sprzętowe dla hobbystycznych ploterów pisakowych, grawerek laserowych i małych routerów CNC. Oparty na Arduino, szeroko wspierany przez konwertery i narzędzia CAM.
- Marlin: dominujący dla drukarek 3D FDM. Dodaje sterowanie wytłaczarką, kody M temperatury i poziomowanie stołu oprócz standardowych poleceń ruchu.
- Klipper: nowoczesne oprogramowanie drukarki 3D działające na Raspberry Pi. Umożliwia kształtowanie danych wejściowych i wyższe prędkości drukowania nieosiągalne w przypadku Marlin przy tym samym sprzęcie.
- Smoothieware: 32-bitowe oprogramowanie ARM dla grawerek laserowych średniej klasy i CNC — większy zapas mocy obliczeniowej niż GRBL oparty na Arduino.
- Fanuc: dominujący na całym świecie sterownik przemysłowy CNC. Obejmuje cykle standardowe (G81–G89) i programowanie makr.
- Siemens Sinumerik / Heidenhain / Haas: Europejskie i amerykańskie sterowniki przemysłowe z własnymi dialektami. Postprocesor Fanuc nie będzie działał poprawnie na maszynie Sinumerik.
Konwertowanie zdjęć na ścieżki, które można wydrukować
Zdjęcia zawierają tylko piksele — bez danych ścieżki. Zanim zdjęcie będzie można wydrukować lub wygrawerować wektorowo, należy je przekonwertować do formatu SVG. Typowe podejścia:
- Śledzenie grafiki liniowej: wyodrębnia kontury i krawędzie strukturalne obiektu jako ścieżki SVG. Najlepsze do logo, portretów i ilustracji o wyraźnych konturach.
- Kreskowanie/kreskowanie: odwzorowuje jasność obrazu na gęstość linii — w ciemniejszych obszarach linie są bardziej upakowane. Wyniki przywołują na myśl tradycyjne grawerowanie i pięknie kreślą.
- Punktowanie: odwzorowuje jasność na gęstość punktów. Każda kropka to krótkie dotknięcie piórem lub zatrzymanie lasera — podobnie jak na ilustracji pointylistycznej.
- Mapowanie konturów: traktuje jasność jak wysokość, rysując koncentryczne linie na progach jasności. Daje płynne, organiczne rezultaty ze zdjęć.
- Style algorytmiczne (Woronoj, pola przepływu, wzory fal): transformacje matematyczne modulowane jasnością obrazu dla abstrakcyjnej, ale rozpoznawalnej sztuki rysowanej maszynowo.
Kompletny rurociąg: Zdjęcie → SVG → G-Code z Laserlinez
Laserlinez przekształca Twoje zdjęcie w czysty, gotowy do użycia maszynowego SVG w profesjonalnych stylach stworzonych dla ploterów pisakowych i grawerów laserowych — rysowanie linii, kreskowanie, tepowanie i nie tylko. Ścieżki wyjściowe mają strukturę dyskretnych pociągnięć, co minimalizuje konieczność podnoszenia pisaka i czas podróży.
Po uzyskaniu SVG usługa SVG-to-G-Code generuje ostateczny plik z ustawieniami profilu maszyny, kontrolami wstępnymi i artefaktem podglądu.
Ten dwuetapowy potok — zdjęcie do SVG przez Laserlinez, SVG do G-Code za pośrednictwem usługi — prowadzi od źródła rastrowego do przygotowanego maszynowo pliku laserowego lub plotera bez konieczności ręcznego wpisywania G-Code.
Lista kontrolna przed lotem
- Najpierw wykonaj symulację — użyj NCViewer (przeglądarka, bezpłatna) lub CAMotics (komputer stacjonarny, bezpłatna), aby wyrenderować pełną ścieżkę narzędzia przed ruchem maszyny. Łapie niewłaściwe rozmiary, brakujące uniesienia pióra i nieoczekiwane bystrza.
- Sprawdź jednostki — G20 (cale) lub G21 (milimetry) muszą odpowiadać oczekiwanym wymiarom.
- Ustaw początek pracy — położenie bazowe maszyny, prawidłowo umieszczone przesunięcie G92 lub WCS.
- Sprawdź luz Z — wysokość pióra lub wysokość wyłączenia lasera musi fizycznie znajdować się w odległości od przedmiotu obrabianego i wszelkich zacisków.
- Szukaj zduplikowanych ścieżek — każdy kontur tylko raz; duplikuje podwójne wypalanie lub podwójne cięcie.
- Sprawdź posuwy — zbyt szybkie powodują pominięcie kroków; zbyt wolno marnuje czas.
- Potwierdź jednostki oczekiwania G4 — sekundy dla GRBL, milisekundy dla Marlin.
- Praca na sucho na bezpiecznej wysokości — sprawdź, czy pełny zakres przesuwu mieści się w obszarze roboczym maszyny.
- Test na złomie — w przypadku lasera i CNC zawsze tnij ten sam materiał na złomie przed wykonaniem ostatecznej części.
Typowe problemy i rozwiązania
- Rysunek jest odzwierciedlony: SVG Y zwiększa się w dół; G-Code Y rośnie w górę. Włącz inwersję osi Y w swoim konwerterze.
- Nieprawidłowy rozmiar wyjściowy: niedopasowanie DPI. Illustrator = 72, stare Inkscape = 90, nowoczesne narzędzia = 96. Dopasuj DPI konwertera do swojej aplikacji źródłowej lub zdefiniuj wymiary SVG w milimetrach.
- Maszyna zacina się na zakrętach: zbyt wiele małych segmentów przekracza bufor ruchu. Włącz dopasowanie łuku, zwiększ tolerancję linearyzacji lub zmniejsz prędkość posuwu.
- Pióro przeciąga się i nigdy nie podnosi: brak polecenia M5 lub prześwit Z jest zbyt niski, aby fizycznie podnieść papier.
- Zadanie trwa znacznie dłużej, niż oczekiwano: zła kolejność ścieżek. Posortuj ścieżki ponownie za pomocą vpype przed ponownym wygenerowaniem G-Code.
- Maszyna na początku przesuwa się do niewłaściwej lokalizacji: nie ustawiono punktu początkowego pracy. Wróć do pozycji wyjściowej, wykonaj impuls do zamierzonego punktu początkowego i przed uruchomieniem wykonaj G92 X0 Y0.
Komentarze
Ładowanie komentarzy...