G-Code คืออะไร เครื่องจักรใช้มันอย่างไร และเวิร์กโฟลว์การผลิตครบวงจร — ตั้งแต่ SVG และภาพราสเตอร์ ไปจนถึงไฟล์พร้อมใช้งานสำหรับเพนพล็อตเตอร์ เครื่องแกะสลักเลเซอร์ เครื่องพิมพ์ 3D และเครื่อง CNC
G-Code (Geometric Code) คือภาษาข้อความ (plain text) ที่ใช้สั่งงานเครื่อง CNC ไฟล์หนึ่ง ๆ — โดยมากเป็น .gcode, .nc หรือ .cnc — คือชุดคำสั่งที่บอกเครื่องว่าจะเคลื่อนไปที่ไหน เร็วแค่ไหน และเมื่อไรต้องเปิด/ปิดเครื่องมือ คำสั่งจะทำงานจากบนลงล่างทีละบรรทัด
มองว่างานออกแบบของคุณคือแบบ (blueprint) และ G-Code คือการนำทางแบบทีละทาง เครื่องพิมพ์ 3D อ่านไฟล์ JPG ไม่ได้ เพนพล็อตเตอร์ก็ไม่รู้ว่าอักษร “A” หน้าตาเป็นอย่างไร G-Code แก้ปัญหานี้ด้วยการแยกรูปทรงใด ๆ ให้เป็นการเคลื่อนที่พื้นฐาน — เส้นตรง อาร์ก และคำสั่งเปิด/ปิดเครื่องมือ — ที่คอนโทรลเลอร์การเคลื่อนที่สั่งงานได้อย่างเชื่อถือได้
มาตรฐานนี้มีรากมาจาก MIT ในช่วงทศวรรษ 1950 ถูกทำให้เป็นมาตรฐาน RS-274 ในปี 1963 และเผยแพร่ระดับสากลเป็น ISO 6983 ในปี 1982 แม้จะเก่า แต่ G-Code ยังเป็นภาษาสากลของงานผลิต — ตั้งแต่งานเครื่องตั้งโต๊ะของสาย maker ไปจนถึงเครื่องมิลล์ 5 แกนอุตสาหกรรม


แต่ละบรรทัด (เรียกว่า block) คือคำสั่งสมบูรณ์ 1 คำสั่ง เครื่องจะจำสถานะระหว่างบรรทัด — เช่นตั้ง feedrate ไว้ที่บรรทัด 10 ก็ยังมีผลไปถึงบรรทัด 200 จนกว่าคุณจะเปลี่ยน นี่เรียกว่า modal state
นี่คือตัวอย่างโปรแกรมเพนพล็อตเตอร์ที่วาดสี่เหลี่ยมจัตุรัสขนาด 50×50mm:
G21 ; millimeters
G90 ; absolute positioning
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
แยกความหมายของ G1 X50.0 Y25.3 F1500: G1 = วาดเส้นตรง, X50.0 Y25.3 = ปลายทาง, F1500 = 1500 mm/min สังเกตว่า G1 จะเขียนแค่ครั้งเดียว — บรรทัดพิกัดถัด ๆ ไปจะใช้มันซ้ำโดยอัตโนมัติจนกว่าคุณจะเขียน G0 หรือคำสั่งการเคลื่อนที่อื่น ๆ อะไรก็ตามหลังเครื่องหมายอัฒภาค (;) คือคอมเมนต์ เครื่องจะไม่ประมวลผล

คำสั่งเหล่านี้ใช้ได้กับเฟิร์มแวร์แทบทุกตัว — ตั้งแต่ GRBL ของสาย hobby ไปจนถึง Fanuc ระดับอุตสาหกรรม
GRBL ใช้วินาที — G4 P1.5 จะหยุด 1.5 วินาที ส่วน Marlin ใช้มิลลิวินาที — G4 P1500 คือการหยุดแบบเดียวกัน หากใช้หน่วยผิด เครื่องอาจแทบไม่หยุดเลยหรือค้างนานเป็นนาที ๆ ตรวจเอกสารเฟิร์มแวร์ของคุณเสมอ


พล็อตเตอร์เข้าใจแค่ พาธ — ไม่เข้าใจพิกเซล, fill หรือข้อความดิบ ใช้ Inkscape, Illustrator หรือ Affinity Designer เพื่อสร้างเส้น stroke ใน SVG แปลงข้อความทั้งหมดเป็น outlines และลบ fill, บิตแมป และเอฟเฟกต์ออก — ตัวแปลงมักจะมองข้ามสิ่งเหล่านี้โดยไม่แจ้งเตือน
รวม พาธที่ซ้ำ (ไม่งั้นปากกาจะลากเส้นเดิมซ้ำ) ลดโหนดที่หนาแน่น และตั้งขนาดเอกสารเป็นมิลลิเมตร — ไม่ใช่พิกเซล — เพื่อหลีกเลี่ยงปัญหาสเกลจาก DPI ในขั้นตอนถัดไป
ตัวแปลงจะเปลี่ยนแต่ละ พาธ ให้เป็นการเคลื่อนที่แบบ G1 และแทรกคำสั่งยก/กดปากกา (M3/M5) ระหว่างสโตรกที่ไม่ต่อกัน การตั้งค่าที่สำคัญที่สุดคือ พาธ sorting — ลำดับการวาดสโตรก หากจัดลำดับไม่ดี ปากกาจะวิ่งซิกแซกข้ามหน้ากระดาษนับพันครั้ง การจัดเรียงแบบ nearest‑neighbor ช่วยลดเวลาการเคลื่อนที่ได้ 50%+ ในงานที่หนาแน่น
สตรีมไฟล์ไปยังเฟิร์มแวร์ GRBL ผ่าน Universal Gcode Sender (UGS) หรือ bCNC โปรแกรม sender จะส่งคำสั่งทีละบรรทัด และ GRBL จะแปลงแต่ละบรรทัดเป็นพัลส์ให้มอเตอร์สเต็ป
โหมด vector จะลากตาม พาธ ด้วยกำลังคงที่ — เหมาะกับงานตัดเส้นขอบและงานสลักเป็นเส้น ส่วนโหมด ราสเตอร์ จะสแกนไป-กลับเหมือนเครื่องพิมพ์ ปรับกำลังทีละพิกเซล — เหมาะกับรูปถ่ายและพื้นที่ไล่เฉด งานเดียวกันสามารถใช้ทั้งสองโหมดได้ โดยแยกเป็นคนละเลเยอร์
เครื่องมืออย่าง LightBurn หรือ LaserGRBL จะส่งออก M3 S[value] เพื่อเปิดเลเซอร์ และ M5 เพื่อหยุด ในโหมด ราสเตอร์ ค่า S จะเปลี่ยนในทุกบรรทัด G1 เพื่อสร้างไล่เฉด grayscale แบบเนียน ๆ GRBL ต้องคอมไพล์เป็น laser mode เพื่อรองรับสิ่งนี้ — โดยจะปิด ความเร็ว ramping และทำให้กำลังตอบสนองได้ทันที
กำลังและความเร็วต่างกันมากตามวัสดุ ควรทำเทสต์กริดกำลัง/ความเร็วเล็ก ๆ บนวัสดุชนิดเดียวกันก่อนเริ่มงานจริงเสมอ
เลเซอร์: สวมแว่นตานิรภัยที่รองรับความยาวคลื่นของคุณ (CO2 = 10,600nm; เลเซอร์ไดโอด ≈ 450nm — ต้องใช้แว่นคนละสเปก) จัดการเรื่องการระบายอากาศให้ดี — การแกะสลักสร้างควัน/ไอระเหยที่เป็นพิษจากวัสดุแทบทุกชนิด ห้ามปล่อยเลเซอร์ทำงานโดยไม่มีคนเฝ้า CNC: จับยึดชิ้นงานให้แน่นก่อนหมุนสปินเดิล — ชิ้นงานที่ไม่ยึดอาจถูกเหวี่ยงด้วยความเร็วสูง รู้ตำแหน่งปุ่มหยุดฉุกเฉินก่อนเริ่มงาน
ออกแบบใน Fusion 360, Blender, FreeCAD หรือโปรแกรมใกล้เคียง STL เป็นฟอร์แมตแลกเปลี่ยนมาตรฐาน ส่วน STEP เก็บเรขาคณิตได้แม่นยำกว่า เหมาะกับชิ้นส่วนเชิงวิศวกรรม
โปรแกรม slicer (PrusaSlicer, Cura, Bambu Studio) จะตัดโมเดลเป็นชั้นแนวนอนหนา 0.1–0.3mm และคำนวณ พาธเครื่องมือ, support, infill และ bridge การเคลื่อนที่ตัวอย่างจะหน้าตาแบบ G1 X42.5 Y88.3 E0.0234 F4500 — คือขยับหัวพิมพ์พร้อมดัน filament ออกมา 0.0234mm อย่างแม่นยำ นอกจากนี้ slicer ยังแทรก M109 และ M190 เพื่ออุ่นหัวฉีดและฐานพิมพ์ก่อนเริ่มพิมพ์
Marlin, Klipper หรือ RepRapFirmware จะรันไฟล์นี้ โดย Klipper ย้ายงานคำนวณไปให้ Raspberry Pi และรองรับ input shaping — วัดเรโซแนนซ์ของเฟรมด้วย accelerometer แล้วกรองออกจากคำสั่งการเคลื่อนที่ เพื่อลดอาการ ringing และช่วยให้พิมพ์ได้เร็วขึ้น
ใช้ Fusion 360, SolidWorks หรือ FreeCAD ชิ้นงานที่กัดต้องการความเผื่อ (tolerance) ประมาณ 0.01–0.05mm คุณภาพโมเดลจึงส่งผลกับคุณภาพชิ้นงานโดยตรง
ซอฟต์แวร์ CAM (Fusion 360 CAM, VCarve, Mastercam) ให้คุณระบุเครื่องมือ กลยุทธ์การตัด (adaptive clearing, contour, pocketing) ความลึกตัด ความเร็วสปินเดิล และ feedrate เป้าหมายคือให้คมตัดกินงานอย่างมีประสิทธิภาพโดยไม่หักดอกและไม่เผาวัสดุ
เครื่อง CNC อุตสาหกรรมแต่ละค่ายมีไดอะเล็กต์ของตัวเอง — Fanuc, Siemens Sinumerik, Heidenhain, Haas ตัว post‑processor ในซอฟต์แวร์ CAM จะแปลง พาธเครื่องมือ ทั่วไปให้เป็นไวยากรณ์ที่เครื่องของคุณต้องการ หากใช้ post‑processor ผิด ไม่ได้แค่ทำให้ชิ้นงานเสีย — แต่อาจทำให้เครื่องพุ่งชนชิ้นงาน ทำลายเครื่องมือ และเกิดอันตรายได้
เส้นทางใน SVG ใช้ Bézier curve, อาร์ก และเส้นตรง แต่ G1 วาดได้แค่เส้นตรง — ตัวแปลงจึงต้อง “แปลงเส้นโค้ง” ด้วย 2 วิธีหลัก:
Faceting คือการหั่นเส้นโค้งให้เป็นเส้นตรงสั้น ๆ จำนวนมาก ยิ่งอยากให้โค้งเนียนก็ต้องใช้เซกเมนต์ที่สั้นลง ทำให้ไฟล์ใหญ่ขึ้น และอาจทำให้การเคลื่อนที่สะดุดเมื่อบัฟเฟอร์คำสั่งของเครื่องตามไม่ทัน
Arc fitting ฉลาดกว่า: ตรวจจับว่าเซกเมนต์สั้น ๆ หลายเส้นรวมกันเป็นวงกลมหรือไม่ แล้วแทนทั้งชุดด้วยคำสั่ง G2 หรือ G3 เพียงบรรทัดเดียว วงกลมที่เดิมต้องใช้ 360 บรรทัด G1 จะเหลือ 1 บรรทัดไฟล์ G-Code ขนาดเล็กลงได้ถึง 90% การเคลื่อนที่เนียนขึ้นมาก และเครื่องรักษาความเร็วต่อเนื่องผ่านอาร์กได้ แต่ GRBL บางบิลด์ไม่รองรับ G2/G3 — ควรตรวจสอบก่อนเปิดใช้

Illustrator ส่งออกที่ 72 DPI ส่วน Inkscape ก่อน v0.92 ใช้ 90 DPI เครื่องมือสมัยใหม่ส่วนใหญ่ใช้ 96 DPI ถ้าตัวแปลงสมมติว่าไฟล์เป็น 96 DPI แต่ไฟล์มาจาก Illustrator ทุกมิติจะใหญ่เกิน 33% — รูปร่าง 100mm จะถูกพล็อตออกมาเป็น 133mm วิธีแก้: ตั้งค่า DPI ในตัวแปลงให้ตรงกับโปรแกรมต้นทาง หรือที่ดีกว่า คือกำหนดขนาดเอกสาร SVG เป็นมิลลิเมตรเพื่อทำให้ DPI ไม่เกี่ยวข้องไปเลย
คำสั่งการเคลื่อนที่หลัก (G0, G1, G2, G3) ใช้ได้แทบทุกที่ แต่ส่วนอื่น ๆ — ลำดับเริ่มงาน การเปลี่ยนเครื่องมือ รูปแบบคอมเมนต์ — ต่างกันตามตระกูลเฟิร์มแวร์/คอนโทรลเลอร์ การรัน G-Code คนละไดอะเล็กต์บนเครื่อง CNC ระดับโปร ไม่ได้แค่ทำให้ผลลัพธ์ผิด — แต่อาจทำให้เครื่องพุ่งชนชิ้นงานได้ทันที
รูปถ่ายมีแค่พิกเซล — ไม่มีข้อมูล พาธ ก่อนจะพล็อตหรือแกะสลักแบบเวกเตอร์ได้ ต้องแปลงเป็น SVG ก่อน วิธีที่ใช้กันบ่อยมีดังนี้:


Pixel2Lines แปลงรูปของคุณให้เป็น SVG ที่สะอาดและพร้อมใช้กับเครื่อง ในสไตล์ระดับมืออาชีพที่ออกแบบมาสำหรับเพนพล็อตเตอร์และเลเซอร์ — ภาพลายเส้น, hatching, stippling และอีกมากมาย โดย พาธ จะถูกจัดโครงสร้างเป็นสโตรกแยกกัน เพื่อลดการยกปากกาและลดเวลาการเคลื่อนที่
เมื่อได้ SVG แล้ว ตัวแปลง SVG → G-Code จะสร้างไฟล์สุดท้าย โดยให้คุณคุมได้ครบทั้ง feedrate ความสูงตอนยกปากกา กำลังเลเซอร์ และลำดับการจัดเรียง พาธ
พายป์ไลน์ 2 ขั้นตอนนี้ — แปลงรูปเป็น SVG ด้วย Pixel2Lines แล้วแปลง SVG เป็น G-Code ด้วยตัวแปลง — ช่วยพาคุณจากรูปถ่ายใด ๆ ไปสู่ไฟล์พร้อมใช้งานกับเครื่อง โดยไม่ต้องมีทักษะออกแบบเวกเตอร์หรือความรู้ G-Code ลึก ๆ

ได้ — สำหรับรูปทรงง่าย ๆ ถือเป็นแบบฝึกหัดที่ดี แต่ถ้างานซับซ้อนควรใช้ซอฟต์แวร์ CAM หรือตัวแปลงเฉพาะทาง
คำสั่งการเคลื่อนที่หลักค่อนข้างเป็นสากล แต่ลำดับเริ่มงาน การเปลี่ยนเครื่องมือ และฟีเจอร์เสริมต่างกันมาก G-Code สำหรับพล็อตเตอร์ GRBL อาจต้องปรับเยอะเพื่อให้รันบนเครื่อง Fanuc — และการใช้ไดอะเล็กต์ผิดบนเครื่องอุตสาหกรรมอาจทำให้เครื่องชนได้
GRBL คือเฟิร์มแวร์ CNC แบบโอเพ่นซอร์สที่รันบนไมโครคอนโทรลเลอร์คลาส Arduino เป็นมาตรฐานของเพนพล็อตเตอร์สาย hobby เครื่องเลเซอร์ DIY และ CNC Router ขนาดเล็ก โดยรองรับแกนหลักของมาตรฐาน RS-274 พร้อม motion planner ที่คำนึงถึงความเร่งและระบบ look-ahead buffering
ปากกาลูกลื่น: 5000–8000 mm/min ปากกา felt-tip หรือ brush pen: 2000–4000 mm/min ปากกาหมึกซึมหรือปลายแก้ว: 1500–3000 mm/min แนะนำให้ทดสอบบนกระดาษเศษก่อนเสมอ
ได้ ใน GRBL laser mode ค่า S สามารถเปลี่ยนได้ทุกบรรทัด G1 — นี่คือวิธีที่งานแกะสลักแบบราสเตอร์ สร้างไล่เฉด grayscale ให้เนียนในการสแกนครั้งเดียว
HPGL (Hewlett‑Packard Graphics Language) ถูกใช้กับเพนพล็อตเตอร์ของ HP ในช่วงทศวรรษ 1970–90 ใช้คำสั่ง 2 ตัวอักษร (PU = pen up, PD = pen down, PA = plot absolute) และใช้หน่วยพล็อตเตอร์ 40 หน่วยต่อมิลลิเมตรแทน mm หรือนิ้ว เครื่องมือพล็อตเตอร์สมัยใหม่ส่วนใหญ่อ่านได้ทั้งสองฟอร์แมต
NCViewer (ncviewer.com) เป็นตัวเลือกที่เร็วที่สุด — วางไฟล์แล้วจะเรนเดอร์ พาธเครื่องมือ ได้ทันที CAMotics จำลองการกัดเนื้อวัสดุแบบ 3D สำหรับงาน CNC ส่วน Universal Gcode Sender มี พาธ preview ในตัว ควรตามด้วยการ dry run จริงที่ความสูงปลอดภัยเสมอ
อัปโหลดรูปเพื่อได้ SVG ที่สะอาดและผ่านการปรับแต่งจาก Pixel2Lines แล้วแปลงเป็น G-Code พร้อมใช้กับเครื่องได้ในขั้นตอนเดียว ใช้ได้กับเพนพล็อตเตอร์ เครื่องแกะสลักเลเซอร์ และเครื่อง CNC
แปลงรูปของคุณตอนนี้
ความคิดเห็น
กำลังโหลดความคิดเห็น...