جیکد (G-Code)، زبان برنامهنویسی استاندارد و تکخطی است که به ماشینهای کنترل عددی کامپیوتری (CNC) شامل پرینترهای سهبعدی، ماشینهای فرز، تراش و دستگاههای برش لیزری یا واترجت دستورالعملهای دقیق حرکت، عملکرد و تنظیمات را میدهد.
در دنیای مدرن تولید، کامپیوترها حرکات ابزار، سرعت اسپیندل، جریان خنککننده، و برای چاپگرهای سهبعدی، دمای اکستروژن و بستر را مدیریت میکنند. G-Code بهعنوان زبان رایج و تکاملیافته برای برقراری ارتباط با این ماشینآلات، اکنون در قلب هر عملیات ساخت دیجیتال قرار دارد.
آناتومی جیکد(شناخت الفبای زبان ماشین)
G-Code در اصل یک زبان متنی است که از یک سری دستورالعملهای تکخطی تشکیل شده است. این زبان از حروف الفبا برای رمزگذاری توابع مختلف استفاده میکند:
حرف
معنی
کاربرد در پرینت سهبعدی
کاربرد در CNC (تراش/فرز)
G
حرکت و هندسه (Geometric)
حرکتهای خطی (G01)، حرکت سریع (G00)، بازگشت به مبدأ (G28).
حرکتهای خطی، قوسی، تعیین سیستم مختصات.
M
دستورات متفرقه (Miscellaneous)
کنترل فنها (M107)، تنظیم دما (M104/M109)، خاموش کردن دستگاه.
روشن/خاموش کردن اسپیندل (M03)، کنترل مایع خنککننده (M08).
X, Y, Z
مختصات فضایی
تعیین موقعیت دقیق هد چاپ در فضای سهبعدی.
تعیین موقعیت ابزار برش در فضای کاری.
E
اکستروژن (Extrusion)
تعیین مقدار فیلامنتی که باید از نازل خارج شود.
(مختص پرینت سهبعدی)
F
نرخ تغذیه (Feed Rate)
تعیین سرعت حرکت هد چاپ.
تعیین سرعت حرکت ابزار برش در طول مسیر.
دستورات GXX مربوط به حرکت ماشین هستند، در حالی که دستورات MXX برای کنترل توابع جانبی (مانند فنها یا بخاریها) به کار میروند.
فرآیند تولید جیکد | از مدل سهبعدی تا دستورالعمل حرکت
فرآیند تولید G-Code مرحلهای کلیدی در تبدیل مدل سهبعدی به دستورالعمل حرکتی دقیق برای دستگاه است. در این مسیر، مدل طراحیشده ابتدا به فرمتهایی مانند STL خروجی گرفته و سپس در نرمافزار Slicer یا CAM پردازش میشود تا مسیر حرکت ابزار یا نازل، سرعت، دما و سایر پارامترها محاسبه شود. در نهایت، نرمافزار با ترکیب دستورات G و M، فایل نهایی را تولید میکند تا دستگاه بتواند لایهبهلایه مدل را با دقت بالا چاپ یا ماشینکاری کند. این مرحله، قلب ارتباط میان طراحی دیجیتال و ساخت فیزیکی است.
نقش نرمافزارهای اسلایسر در تولید G-Code پرینت سهبعدی
- برش لایهای:
اسلایسر فایل ورودی (STL) را به لایههای نازک تقسیم میکند.
- تعیین مسیر:
بر اساس تنظیمات کاربر (ضخامت لایه، درصد پرشدگی، ساپورت و...)، اسلایسر مسیر بهینه اکستروژن را برای خطوط بیرونی، داخلی و پرشدگی تعیین میکند.
- تبدیل به کد:
مسیرها به دستورات دقیق GXX تبدیل شده و پارامترهای E و F اضافه میشوند.
- تنظیمات حرارتی:
کدهای MXX لازم برای تنظیم دمای اکسترودر، بستر و فنها در نقاط مناسب قرار میگیرند.
- برش لایهای:
اسلایسر فایل ورودی (STL) را به لایههای نازک تقسیم میکند.
- تعیین مسیر:
بر اساس تنظیمات کاربر (ضخامت لایه، درصد پرشدگی، ساپورت و...)، اسلایسر مسیر بهینه اکستروژن را برای خطوط بیرونی، داخلی و پرشدگی تعیین میکند.
- تبدیل به کد:
مسیرها به دستورات دقیق GXX تبدیل شده و پارامترهای E و F اضافه میشوند.
- تنظیمات حرارتی:
کدهای MXX لازم برای تنظیم دمای اکسترودر، بستر و فنها در نقاط مناسب قرار میگیرند.
استفاده از CAM در ساخت G-Code برای دستگاههای CNC (فرز و تراش)
ماشینکاری CNC برای رسیدن به عمق برش و کیفیت سطح مورد نظر نیازمند پاسهای متعدد و برنامهریزی دقیق است. نرمافزارهای CAM (Computer-Aided Manufacturing) این فرآیند را خودکار میکنند:
- CAM:اتوماتیکسازی پاسها:
بهطور خودکار چندین گذر، عمق برش و برشهای تکمیلی (Finishing Pass) را برنامهریزی میکند.
- مدیریت ابزار:
قطر ابزار، سرعت اسپیندل و شدت برش تنظیم میشوند.
- افزودن جزئیات:
جزئیاتی مانند زبانهها (Tabs) که قطعه نهایی را موقتاً به ماده اصلی متصل نگه میدارند، به راحتی اضافه میشوند.
هسته G-Code: بررسی کدها و توابع اصلی
مولدهای G-Code (مانند اسلایسرها و نرمافزارهای CAM)، مسئول تبدیل مدلهای سهبعدی پیچیده به هزاران خط دستورالعمل ساده و تکخطی هستند که ماشین قادر به اجرای آنها باشد. در این بخش، به بررسی کدهای اصلی و کلیدی در هر دو حوزه پرینت سهبعدی و CNC میپردازیم.
توابع محوری در پرینت سهبعدی (3D Printing)
در چاپ سهبعدی، G-Code نه تنها حرکت را کنترل میکند، بلکه جریان پلاستیک (اکستروژن) و مدیریت حرارتی دستگاه را نیز بر عهده دارد.
کد
شرح عملکرد
توضیح بیشتر برای مخاطب
G01 X61.888 Y127.862 E19.90544;
حرکت خطی اکسترود فعال
این کد به دستگاه میگوید: \هد چاپ را به صورت خطی به موقعیتهای X و Y جدید حرکت بده، و همزمان، مقدار E (اکستروژن) مشخص شده از فیلامنت را نیز خارج کن. \ این عملیات، هسته ساخت هر لایه است.
M107;
خاموش کردن فن قطعه
یک کد متفرقه (M-Code) که وظیفه خاموش کردن فن خنککننده قطعه را بر عهده دارد. اغلب برای جلوگیری از خنک شدن سریع در حین چاپ لایههای اول یا برای مواد خاص استفاده میشود.
M109 R245;
تنظیم دمای اکسترودر و انتظار
این کد میگوید: \دمای اکسترودر را روی ۲۴۵ درجه سانتیگراد تنظیم کن، و تا زمانی که دستگاه واقعاً به آن دما برسد (R مخفف Read یا Report)، اجرای کدهای بعدی را متوقف کن. \ این توقف برای اطمینان از آماده بودن کامل نازل برای چاپ ضروری است.
توابع محوری در ماشینکاری CNC
در ماشینکاری CNC (مانند فرز، تراش یا برش لیزری)، تمرکز بر مدیریت ابزار برش، موقعیتیابی دقیق و کنترل فرآیند برش است.
کد
شرح عملکرد
توضیح بیشتر برای مخاطب
G28 X0 Y0;
بازگشت به نقطه مبدأ (Home)
این کد حرکتی به دستگاه میگوید که ابزار برش را به صورت ایمن به موقعیت صفر (مبدأ) سیستم مختصات در محورهای X و Y بازگرداند. این عمل معمولاً در ابتدای یا انتهای برنامه اجرا میشود.
M03;
روشن کردن اسپیندل
یک کد متفرقه (M-Code) که فرمان روشن شدن اسپیندل (موتور چرخاننده ابزار برش) را صادر میکند. این عمل معمولاً باید قبل از شروع هرگونه برش فعال انجام شود.
M08;
روشن کردن مایع خنککننده
این کد فرمان میدهد که سیستم مایع خنککننده (Coolant) برای کاهش دمای ابزار و قطعه کار در حین برش و دفع برادهها، فعال شود.
نکات فنی ضروری: درک عمیقتر G-Code
این نکات برای هر فردی که با G-Code کار میکند، حیاتی هستند:
۱. سیستمهای مختصات در G-Code
- مختصات مطلق (G90):
دستگاه همیشه مختصات ارائه شده را نسبت به نقطه مبدأ (Origin) سیستم [0,0,0] تفسیر میکند.
- مختصات افزایشی (G91):
دستگاه مختصات را نسبت به موقعیت فعلی خود تفسیر میکند (مثلاً X10 یعنی ۱۰ واحد از جایی که الان هستم حرکت کن).
۲. تفاوت حیاتی بین حرکت سریع و خطی
- G00 (حرکت سریع - Rapid Movement):
برای جابجایی ابزار در سریعترین سرعت ممکن و در فضای آزاد (بدون برش یا اکستروژن) استفاده میشود. مسیر حرکت بهینه نیست.
- G01 (حرکت خطی - Linear Movement):
برای حرکت با نرخ تغذیه (F) مشخص شده استفاده میشود. این دستور برای برش فعال یا اکستروژن فعال حیاتی است.
پرسشهای متداول (FAQ) درباره G-Code
آیا G-Code توسط انسان قابل خواندن و ویرایش است؟
1
آیا G-Code تولید شده برای CNC در پرینتر سهبعدی قابل استفاده است؟
1
آیا G-Code یک زبان برنامهنویسی واحد و جهانی است؟
1
آیا فایلهای STL یا CAD شامل G-Code هستند؟
1