Panduan Lengkap G-Code: Dari Pemula hingga Profesional
Apa itu G-Code, bagaimana mesin menggunakannya, dan alur produksi lengkap — mulai dari SVG dan gambar raster hingga file siap mesin untuk plotter pena, pengukir laser, printer 3D, dan pabrik CNC.
Apa itu G-Code?
G-Code (Kode Geometris) adalah bahasa teks biasa yang menggerakkan mesin CNC. Setiap file — biasanya.gcode,.nc, atau.cnc — merupakan rangkaian instruksi yang memberi tahu mesin ke mana harus bergerak, seberapa cepat, dan kapan harus mengaktifkan alatnya. Garis dieksekusi dari atas ke bawah, satu per satu.
Bayangkan desain Anda sebagai cetak biru dan G-Code sebagai navigasi belokan demi belokan. Printer 3D tidak dapat memproses JPG. Seorang plotter pena tidak tahu seperti apa bentuk huruf 'A'. G-Code menyelesaikan masalah ini dengan memecah bentuk apa pun menjadi gerakan dasar — garis lurus, busur, dan perintah menghidupkan/mematikan alat — yang dapat dijalankan dengan andal oleh pengontrol gerakan mana pun.
Standar ini dapat ditelusuri kembali ke MIT pada tahun 1950-an, diresmikan sebagai RS-274 pada tahun 1963 dan diterbitkan secara internasional sebagai ISO 6983 pada tahun 1982. Meskipun sudah tua, G-Code tetap menjadi bahasa fabrikasi universal — mulai dari printer desktop penghobi hingga pabrik lima sumbu industri.
Dimana G-Code Digunakan?
- Pen Plotter (AxiDraw, HP 7475A, DIY GRBL): menggerakkan pena fisik melintasi kertas untuk mereproduksi karya seni vektor — salah satu titik masuk yang paling mudah diakses ke G-Code bagi seniman dan pembuat.
- Pengukir dan Pemotong Laser: mengarahkan sinar sambil memodulasi daya untuk membakar gambar menjadi kayu atau memotong bentuk dari akrilik.
- Printer 3D FDM (Prusa, Creality, Bambu Lab): mengoordinasikan kepala cetak di X, Y, Z sambil mengumpankan filamen, membuat objek lapis demi lapis.
- CNC Router dan Pabrik: mengarahkan alat pemotong berputar melalui bahan untuk pengukiran (carving), pemakanan kantong, dan pembuatan profil.
- Mesin Bubut CNC, Pemotong Plasma, Waterjet dan Wire EDM: semuanya menggunakan G-Code atau turunannya.
Anatomi File G-Code
Setiap baris (disebut blok) merupakan satu instruksi lengkap. Mesin mengingat statusnya di antara baris-baris — laju gerak makan yang ditetapkan pada baris 10 tetap aktif pada baris 200 kecuali Anda mengubahnya. Ini disebut keadaan modal.
Berikut adalah program plotter pena yang menggambar persegi 50×50mm:
G21 ; millimeters
G90; penentuan posisi mutlak
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
Menguraikan G1 X50.0 Y25.3 F1500: G1 = menggambar garis lurus, X50.0 Y25.3 = tujuan, F1500 = 1500 mm/mnt. Perhatikan G1 hanya muncul sekali — setiap garis koordinat berikutnya akan menggunakannya kembali secara otomatis hingga Anda menulis G0 atau perintah gerakan lainnya. Apa pun setelah titik koma adalah komentar, diabaikan oleh mesin.
Perintah G-Code Penting
Perintah ini berfungsi di hampir semua firmware — mulai dari penghobi GRBL hingga Fanuc industri.
- G0 — Gerakan Cepat: mengubah posisi secepat yang dimungkinkan oleh alat berat. Jangan pernah gunakan dengan laser atau spindel aktif.
- G1 — Gerakan Linier: menggambar atau memotong garis lurus pada laju gerak makan yang ditetapkan (F). Perintah utama untuk semua pekerjaan CNC.
- G2 / G3 — Busur Searah Jarum Jam / Berlawanan Jarum Jam: menghasilkan kurva halus dalam satu perintah menggunakan offset pusat I/J atau radius R. Satu G2/G3 menggantikan lusinan segmen kecil G1.
- G4 — Tinggal: jeda selama waktu tertentu. ⚠ Satuan P bervariasi: GRBL = detik (G4 P1.5 = 1.5s), Marlin = milidetik (G4 P1500 = 1.5s).
- G20 / G21 — Satuan Inci / Milimeter. Selalu atur ini di awal setiap file.
- G28 — Beranda semua sumbu. Perilaku bervariasi menurut firmware — selalu verifikasi sebelum menggunakan.
- G90 / G91 — Penentuan posisi Absolut / Relatif. G90 adalah defaultnya; G91 membuat setiap koordinat relatif terhadap posisi saat ini.
- G92 — Tetapkan posisi saat ini sebagai asal tanpa berpindah. Digunakan untuk mendefinisikan asal pekerjaan di tengah pekerjaan.
- M3 S[value] — Alat Aktif: menyalakan laser, memutar spindel, atau menurunkan servo pena. S mengontrol daya, RPM, atau sudut servo.
- M5 — Alat Mati. Selalu sertakan sebelum melakukan perjalanan cepat apa pun.
- M104 / M109 — Mengatur suhu hotend (pencetakan 3D). M109 menunggu hingga target tercapai sebelum melanjutkan.
- M140 / M190 — Mengatur suhu tempat tidur (pencetakan 3D). M190 menunggu — gunakan sebelum pencetakan dimulai.
- F — Laju makan dalam mm/mnt. Modal: tetap ada sampai Anda mengubahnya.
- S — Daya atau kecepatan: daya laser (0–1000 pada GRBL), RPM spindel, atau sudut servo.
- E — Jarak filamen ekstruder (hanya pencetakan 3D).
- I, J — Offset pusat busur dari posisi saat ini, digunakan dengan G2 dan G3.
GRBL menggunakan detik — G4 P1.5 jeda selama 1,5 detik. Marlin menggunakan milidetik — G4 P1500 adalah jeda yang sama. Menggunakan unit yang salah berarti mesin Anda hampir tidak berhenti atau terhenti selama beberapa menit. Selalu periksa dokumen firmware Anda.
Alur Kerja 1: Plotter Pena
- 1
Desain dalam perangkat lunak vektor
Plotter hanya memahami jalur — bukan piksel, isian, atau teks mentah. Gunakan Inkscape, Illustrator, atau Affinity Designer untuk membuat jalur goresan SVG. Ubah semua teks menjadi kerangka. Hapus isian, bitmap, dan efek — semuanya diabaikan secara diam-diam oleh konverter.
- 2
Optimalkan SVG
Gabungkan jalur duplikat (pena akan menelusuri garis yang sama dua kali), menyederhanakan node padat, dan mengatur dimensi dokumen dalam milimeter — bukan piksel — untuk menghindari masalah penskalaan DPI di kemudian hari.
- 3
Konversikan ke G-Code
Konverter menerjemahkan setiap jalur menjadi gerakan G1 dan memasukkan perintah pen-lift M3/M5 di antara gerakan yang terputus. Pengaturan yang paling penting adalah penyortiran jalur — urutan guratan mana yang akan diambil. Penyortiran yang buruk membuat pena zig-zag melintasi halaman ribuan kali. Penyortiran tetangga terdekat dapat menghemat waktu perjalanan sebesar 50% atau lebih pada karya seni yang padat.
- 4
Kirim melalui pengirim G-Code
Streaming file ke firmware GRBL melalui Universal Gcode Sender (UGS) atau bCNC. Pengirim mengirimkan saluran satu per satu; GRBL menerjemahkan masing-masing menjadi pulsa motor stepper.
Alur Kerja 2: Pengukir / Pemotong Laser
- 1
Pilih mode Anda: vektor atau raster
Mode vektor menelusuri jalur dengan daya konstan — gunakan untuk memotong garis luar dan mengukir garis. Mode raster bergerak bolak-balik seperti printer, memvariasikan kekuatan piksel demi piksel — gunakan mode ini untuk foto dan isian berbayang. Satu pekerjaan dapat menggunakan kedua mode pada lapisan terpisah.
- 2
Hasilkan G-Code dengan pengaturan laser
Alat seperti LightBurn atau LaserGRBL mengeluarkan M3 S[value] untuk menembakkan laser dan M5 untuk menghentikannya. Dalam mode raster, nilai S berubah pada setiap baris G1, menghasilkan gradien skala abu-abu. GRBL harus dikompilasi dalam mode laser untuk ini — ini menonaktifkan peningkatan kecepatan dan memungkinkan respons daya instan.
- 3
Uji pada memo terlebih dahulu
Kekuatan dan kecepatan sangat bervariasi berdasarkan material. Selalu jalankan uji jaringan listrik/kecepatan kecil pada material yang sama sebelum memulai pekerjaan sebenarnya.
Laser: kenakan kacamata pengaman yang sesuai dengan panjang gelombang Anda (CO2 = 10.600nm; pengukir dioda ≈ 450nm — ini memerlukan kacamata yang berbeda). Pastikan ventilasi — gravir menghasilkan asap beracun dari hampir semua bahan. Jangan pernah meninggalkan laser yang sedang berjalan tanpa pengawasan. CNC: jepit benda kerja sebelum menjalankan spindel — benda kerja yang tidak diamankan dapat terlempar dengan cepat. Ketahui pemberhentian darurat Anda sebelum memulai.
Alur Kerja 3: Pencetakan 3D
- 1
Modelkan dan ekspor sebagai STL atau STEP
Desain dalam Fusion 360, Blender, FreeCAD, atau serupa. STL adalah format pertukaran standar; STEP membawa geometri yang lebih presisi untuk bagian teknik.
- 2
Iris menjadi beberapa lapisan
Pemotong (PrusaSlicer, Cura, Bambu Studio) memotong model menjadi lapisan horizontal 0,1–0.3mm dan menghitung jalur pahat, penyangga, pengisi, dan jembatan. Gerakan tipikal terlihat seperti G1 X42.5 Y88.3 E0.0234 F4500 — menggerakkan kepala sambil mengekstrusi filamen persis 0.0234mm. Alat pengiris juga memasukkan M109 dan M190 untuk memanaskan nosel dan alas sebelum pencetakan dimulai.
- 3
Kirim melalui kartu SD atau jaringan
Marlin, Klipper, atau RepRapFirmware mengeksekusi file. Klipper memindahkan komputasi ke Raspberry Pi dan mendukung pembentukan input — Klipper mengukur resonansi bingkai dengan akselerometer dan memfilternya dari perintah gerakan, mengurangi artefak dering, dan memungkinkan kecepatan cetak yang lebih tinggi.
Alur Kerja 4: Pemesinan CNC
- 1
Model dalam CAD
Gunakan Fusion 360, SolidWorks, atau FreeCAD. Suku cadang mesin memerlukan toleransi 0.01–0.05mm, sehingga kualitas model secara langsung menentukan kualitas suku cadang.
- 2
Tentukan jalur alat di CAM
Perangkat lunak CAM (Fusion 360 CAM, VCarve, Mastercam) memungkinkan Anda menentukan pahat, strategi pemotongan (pembersihan adaptif, kontur, pengantongan), kedalaman pemotongan, kecepatan spindel, dan laju gerak makan. Tujuannya adalah pengikatan alat secara efisien tanpa merusak mata bor atau membakar material.
- 3
Pasca-proses untuk pengontrol Anda
Mesin industri CNC masing-masing berbicara dengan dialeknya sendiri — Fanuc, Siemens Sinumerik, Heidenhain, Haas. Pasca-prosesor di dalam perangkat lunak CAM Anda menerjemahkan jalur alat umum ke dalam sintaksis persis seperti yang diharapkan mesin Anda. Penggunaan post-processor yang salah tidak hanya menghasilkan komponen yang buruk — hal ini juga dapat menyebabkan mesin menabrak benda kerja, merusak perkakas dan menimbulkan bahaya keselamatan.
SVG hingga G-Code: Apa yang Sebenarnya Terjadi
Jalur SVG menggunakan kurva, busur, dan garis lurus Bézier. G1 hanya menarik garis lurus — jadi konverter harus menjembatani kesenjangan tersebut dengan dua cara:
Faceting memecah kurva menjadi banyak segmen lurus kecil. Kurva yang lebih halus memerlukan segmen yang lebih pendek, yang berarti file lebih besar dan potensi gerakan tersendat ketika buffer perintah mesin tidak dapat mengimbanginya.
Pemasangan busur lebih cerdas: mendeteksi ketika rangkaian segmen pendek secara kolektif membentuk lingkaran dan menggantikan seluruh grup dengan satu perintah G2 atau G3. Sebuah lingkaran yang mempunyai 360 garis G1 menjadi satu garis G-Code. File menyusut hingga 90%, gerakannya sangat mulus, dan mesin mempertahankan kecepatan terus menerus melalui busur. Tidak semua build GRBL mendukung G2/G3 — periksa sebelum mengaktifkannya.
Illustrator mengekspor pada 72 DPI. Inkscape sebelum v0.92 menggunakan 90 DPI. Alat modern menggunakan 96 DPI. Jika konverter Anda mengasumsikan 96 DPI tetapi file Anda berasal dari Illustrator, setiap dimensi 33% terlalu besar — plot bentuk 100mm di 133mm. Cara mengatasinya: cocokkan pengaturan DPI konverter Anda dengan aplikasi sumber Anda, atau lebih baik lagi, atur dimensi dokumen SVG Anda dalam milimeter untuk membuat DPI tidak relevan sama sekali.
Dialek G-Code: Mengapa Satu File Tidak Cocok untuk Semua Mesin
Perintah gerakan inti (G0, G1, G2, G3) berfungsi di mana saja. Segala sesuatu yang lain — urutan startup, perubahan alat, sintaks komentar — bervariasi menurut kelompok firmware. Menjalankan G-Code dari pengontrol yang salah pada mesin CNC profesional tidak hanya menghasilkan keluaran yang salah — tetapi juga dapat menyebabkan benturan cepat pada benda kerja.
- GRBL: firmware dominan untuk komplotan pena penghobi, pengukir laser, dan router kecil CNC. Berbasis Arduino, didukung secara luas oleh konverter dan alat CAM.
- Marlin: dominan untuk printer 3D FDM. Menambahkan kontrol ekstruder, kode M suhu, dan perataan tempat tidur di atas perintah gerakan standar.
- Klipper: firmware printer 3D modern yang berjalan pada Raspberry Pi. Memungkinkan pembentukan masukan dan kecepatan cetak lebih tinggi yang tidak dapat dicapai pada Marlin dengan perangkat keras yang sama.
- Smoothieware: Firmware ARM 32-bit untuk pengukir laser kelas menengah dan CNC — lebih banyak ruang komputasi dibandingkan GRBL berbasis Arduino.
- Fanuc: pengontrol CNC industri yang dominan secara global. Termasuk siklus terekam (G81–G89) dan pemrograman makro.
- Siemens Sinumerik / Heidenhain / Haas: Pengendali industri Eropa dan AS dengan dialeknya sendiri. Pasca-prosesor Fanuc tidak akan berjalan dengan benar pada mesin Sinumerik.
Mengonversi Foto menjadi Jalur yang Dapat Diplot
Foto hanya berisi piksel — tidak ada data jalur. Sebelum foto dapat diplot atau diukir vektor, foto tersebut harus dikonversi ke SVG. Pendekatan umum:
- Penelusuran seni garis: mengekstrak garis luar dan tepi struktural subjek sebagai jalur SVG. Terbaik untuk logo, potret, dan ilustrasi dengan kontur yang jelas.
- Penetasan / penetasan silang: memetakan kecerahan gambar ke kepadatan garis — area yang lebih gelap menghasilkan garis yang lebih rapat. Hasilnya membangkitkan gravir dan plot tradisional dengan indah.
- Stippling: memetakan kecerahan ke kepadatan titik. Setiap titik adalah sentuhan singkat pena atau laser — mirip dengan ilustrasi pointillist.
- Pemetaan kontur: memperlakukan luminositas seperti ketinggian, menggambar garis konsentris pada ambang kecerahan. Menghasilkan hasil organik yang mengalir dari foto.
- Gaya algoritmik (Voronoi, bidang aliran, pola gelombang): transformasi matematika yang dimodulasi oleh kecerahan gambar untuk seni gambar mesin yang abstrak namun dapat dikenali.
Saluran Pipa Lengkap: Foto → SVG → G-Code dengan Laserlinez
Laserlinez mengonversi foto Anda menjadi SVG yang bersih dan siap mesin dalam gaya profesional yang dibuat untuk plotter pena dan pengukir laser — menggambar garis, mengarsir, membuat bintik, dan banyak lagi. Jalur keluaran disusun sebagai guratan terpisah, meminimalkan pengangkatan pena dan waktu tempuh.
Setelah Anda memiliki SVG, layanan SVG-ke-G-Code menghasilkan file akhir dengan pengaturan profil mesin, pemeriksaan pra-penerbangan, dan artefak pratinjau.
Pipeline dua langkah ini — foto ke SVG melalui Laserlinez, SVG ke G-Code melalui layanan — membawa Anda dari sumber raster ke file laser atau plotter yang disiapkan mesin tanpa perlu menulis G-Code dengan tangan.
Daftar Periksa Pra-Penerbangan
- Simulasikan terlebih dahulu — gunakan NCViewer (browser, gratis) atau CAMotics (desktop, gratis) untuk merender jalur alat lengkap sebelum mesin bergerak. Menangkap ukuran yang salah, lift pena hilang, dan jeram yang tidak terduga.
- Verifikasi satuan — G20 (inci) atau G21 (milimeter) harus sesuai dengan dimensi yang Anda harapkan.
- Atur asal pekerjaan — mesin ditempatkan, offset G92 atau WCS ditempatkan dengan benar.
- Periksa jarak bebas Z — ketinggian pen-up atau laser-off harus membersihkan benda kerja dan klem secara fisik.
- Cari jalur duplikat — setiap kontur hanya satu kali; duplikat pembakaran ganda atau pemotongan ganda.
- Tinjau kecepatan gerak makan — terlalu cepat menyebabkan langkah-langkah dilewati; terlalu lambat membuang-buang waktu.
- Konfirmasikan unit diam G4 — detik untuk GRBL, milidetik untuk Marlin.
- Lari kering pada ketinggian yang aman — pastikan seluruh travel envelope sesuai dengan area kerja alat berat.
- Uji pada skrap — untuk laser dan CNC selalu potong bahan yang sama pada skrap sebelum membuat potongan terakhir.
Masalah Umum dan Perbaikannya
- Gambar dicerminkan: SVG Y meningkat ke bawah; G-Code Y meningkat ke atas. Aktifkan inversi sumbu Y di konverter Anda.
- Ukuran keluaran salah: DPI tidak cocok. Illustrator = 72, Inkscape lama = 90, peralatan modern = 96. Cocokkan DPI konverter dengan aplikasi sumber Anda, atau tentukan dimensi SVG dalam milimeter.
- Mesin tersendat saat melewati tikungan: terlalu banyak segmen kecil yang memenuhi buffer gerakan. Aktifkan pemasangan busur, tingkatkan toleransi linierisasi, atau turunkan laju gerak makan.
- Pena terseret dan tidak pernah diangkat: Perintah M5 hilang, atau jarak Z terlalu rendah untuk mengangkat kertas secara fisik.
- Pekerjaan memakan waktu jauh lebih lama dari yang diharapkan: urutan jalur yang buruk. Urutkan ulang jalur dengan vpype sebelum membuat ulang G-Code.
- Mesin berpindah ke lokasi yang salah saat start: asal pekerjaan tidak disetel. Kembali ke rumah, lari ke tempat asal yang dituju, dan jalankan G92 X0 Y0 sebelum memulai.
Komentar
Memuat komentar...