Підтримка діалектів G-code
Rayforge підтримує кілька діалектів G-code для роботи з різними прошивками контролерів.
Підтримувані діалекти
Rayforge наразі підтримує ці діалекти G-code:
| Діалект | Прошивка | Поширене використання |
|---|---|---|
| Grbl (Compat) | GRBL 1.1+ | Діодні лазери, хобі CNC |
| Grbl (Compat, no Z axis) | GRBL 1.1+ | 2D лазерні різаки без Z |
| Grbl Raster | GRBL 1.1+ | Оптимізований для растрової роботи |
| GRBL Dynamic (Depth-Aware) | GRBL 1.1+ | Гравірування лазером з урахуванням глибини |
| GRBL Dynamic (no Z axis) | GRBL 1.1+ | Гравірування лазером з урахуванням глибини |
| LinuxCNC | LinuxCNC | Нативна підтримка Bézier (G5) |
| Mach4 (M67 Analog) | Mach4 | Високошвидкісне растрове гравірування |
| Smoothieware | Smoothieware | Лазерні різаки, CNC |
| Marlin | Marlin 2.0+ | 3D-принтери з лазером |
Grbl (Compat) — найбільш перевірений і рекомендований діалект для стандартних лазерних застосувань.
Grbl Raster оптимізований для растрового гравірування на контролерах GRBL. Він утримує лазер у режимі динамічної потужності (M4) безперервно і пропускає зайві команди подачі, що дає більш плавний та компактний G-code.
GRBL Dynamic (Depth-Aware) рекомендується для гравірування лазером з урахуванням глибини, де потужність змінюється під час різання (наприклад, гравірування зі змінною глибиною).
LinuxCNC підтримує нативні кубічні криві Bézier через команду G5, що дає дуже плавний і компактний G-code для криволінійних траєкторій. При використанні цього діалекту увімкніть опцію «Підтримка кривих Bézier» у Додаткових налаштуваннях машини, щоб скористатися виводом G5.
Mach4 (M67 Analog)
Діалект Mach4 (M67 Analog) призначений для високошвидкісного растрового гравірування з контролерами Mach4. Він використовує команду M67 з аналоговим виходом для точного контролю потужності лазера.
Основні характеристики
- Аналоговий вихід M67: Використовує
M67 E0 Q<0-255>для потужності лазера замість inline S-команд - Зменшений тиск на буфер: Розділяючи команди потужності та команди руху, буфер контролера менше навантажується під час високошвидкісних операцій
- Високошвидкісний растр: Оптимізований для швидких операцій растрового гравірування
Коли використовувати
Використовуйте цей діалект, коли:
- Ви маєте контролер Mach4 з можливістю аналогового виходу
- Вам потрібно високошвидкісне растрове гравірування
- Ваш контролер відчуває переповнення буферу зі стандартними inline S-командами
Формат команди
Діалект генерує G-code як:
M67 E0 Q127 ; Встановити потужність лазера на 50% (127/255)
G1 X100 Y200 F1000 ; Перемістити до позиції
M67 E0 Q0 ; Вимкнути лазер
Створення власного діалекту
Щоб створити власний діалект G-code на основі вбудованого:
- Відкрийте Налаштування машини → Діалект G-code
- Натисніть іконку Копіювати на вбудованому діалекті, щоб створити новий власний діалект
- Відредагуйте налаштування діалекту за потреби
- Збережіть ваш власний діалект
Кожен власний діалект є незалежною копією. Зміна одного діалекту ніколи не впливає на інші, тому ви можете вільно експериментувати, не побоюючись пошкодити існуючі налаштування. Власні діалекти зберігаються у вашому каталозі конфігурації і можуть бути спільними.
Налаштування діалекту
При редагуванні власного діалекту сторінка Налаштування пропонує такі опції:
Безперервний лазерний режим утримує лазер у режимі динамічної потужності (M4) активним протягом усієї роботи замість перемикання M4/M5 між сегментами. Це корисно для растрового гравірування, де лазер повинен залишатися ввімкненим безперервно під час ліній сканування.
Модальна подача пропускає параметр подачі (F) з команд руху, коли він не змінився з моменту останньої команди. Це дає більш компактний G-code і зменшує обсяг даних, що надсилаються контролеру.
Окрема команда вмикання лазера для фокусування
Деякі діалекти підтримують налаштування окремої команди для вмикання лазера на низькій потужності, що корисно для режиму фокусування. Це дозволяє використовувати іншу команду для візуальної поведінки «лазерного вказівника», ніж та, що використовується під час фактичного різання або гравірування. Перевірте сторінку налаштувань вашого діалекту щодо цієї опції.
Заповнювачі шаблонів
При створенні або редагуванні власного діалекту кожен шаблон команди
використовує
рядки форматування Python
з заповнювачами для введення динамічних значень. Використовуйте синтаксис
{назва} або {назва:.0f} (наприклад, {power:.0f} для форматування як
ціле число без десяткових знаків).
Доступні заповнювачі за шаблоном
| Шаблон | Заповнювачі |
|---|---|
| Лазер Увімкн. | power |
| Лазер Фокус | power |
| Лазер Вимкн. | (немає) |
| Заміна інструм. | tool_number |
| Встановити швид. | speed |
| Переміщення | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command |
| Лінійний рух | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power |
| Дуга (CW) | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power |
| Дуга (CCW) | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power |
| Без'є Кубічний | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, p, q, power |
| Повітря Увімкн./Вимкн. | (немає) |
| Всі почати | (немає) |
| Вісь почати | axis_letter |
| Перемістити до | speed, x, y, z |
| Jog | speed |
| Очистити тривогу | (немає) |
| Зміщення WCS | p_num, x, y, z |
| Цикл зондування | axis_letter, max_travel, feed_rate |
| Затримка | seconds, milliseconds |
Довідка по заповнювачах
Координати
| Заповнювач | Опис |
|---|---|
x | Цільова координата X як float (наприклад, 100.0) |
y | Цільова координата Y як float (наприклад, 200.0) |
z | Цільова координата Z як float (наприклад, 5.0) |
x_cmd | Рядок команди осі X, наприклад, " X100.0". Опускається, якщо не змінилася (якщо увімкнено «Пропускати незмінні координати») |
y_cmd | Рядок команди осі Y, наприклад, " Y200.0". Опускається, якщо не змінилася |
z_cmd | Рядок команди осі Z, наприклад, " Z5.0". Опускається, якщо не змінилася |
extra_cmd | Рядок команди додаткових осей (A, B, C), наприклад, " A90.0". Порожній, якщо додаткові осі не налаштовані |
Рух
| Заповнювач | Опис |
|---|---|
f_command | Рядок команди подачі, наприклад, " F3000". Опускається, якщо модальна і не змінилася |
s_command | Рядок команди шпинделя/потужності, наприклад, " S500". Використовується в динамічному/растровому режимах та безперервному лазерному режимі |
i | Зміщення X контрольної точки дуги або Без'є від початкової позиції |
j | Зміщення Y контрольної точки дуги або Без'є від початкової позиції |
p | Зміщення X другої контрольної точки Без'є від кінцевої позиції (лише Без'є Кубічний) |
q | Зміщення Y другої контрольної точки Без'є від кінцевої позиції (лише Без'є Кубічний) |
Потужність і швидкість
| Заповнювач | Опис |
|---|---|
power | Абсолютне значення потужності лазера як float. Підтримує форматування, наприклад, {power:.0f} для цілих чисел |
speed | Значення швидкості (для команд Перемістити до та Jog) |
tool_number | Номер інструмента/головки лазера |
Машина і зондування
| Заповнювач | Опис |
|---|---|
axis_letter | Окрема літера осі, наприклад, "X", "Y", "Z" (для Вісь почати та Зондування) |
p_num | Номер P WCS (наприклад, 1 для G54) |
max_travel | Максимальна відстань переміщення зонда (лише Цикл зондування) |
feed_rate | Подача зондування (лише Цикл зондування) |
Затримка
| Заповнювач | Опис |
|---|---|
seconds | Тривалість затримки в секундах як float (наприклад, 1.5) |
milliseconds | Тривалість затримки в мілісекундах як ціле число (наприклад, 1500) |
Поради
- Специфікації форматування підтримуються:
{power:.0f}формує потужність як ціле число,{power:.2f}з двома десятковими знаками. - Налаштування «Пропускати незмінні координати» контролює, чи
x_cmd,y_cmdтаz_cmdзалишаються порожніми, коли позиція осі не змінилася з моменту останньої команди. Це зменшує розмір G-code. - Налаштування «Модальна подача» контролює, чи
f_commandопускається, коли подача не змінилася. - Залиште поле шаблону порожнім, щоб повністю пропустити цю команду
(наприклад, встановіть
bezier_cubicна"", щоб вимкнути нативний вивід Без'є і використовувати лінеаризацію натомість).
Пов'язані сторінки
- Експорт G-code - Налаштування експорту
- Сумісність прошивки - Версії прошивок
- Налаштування пристрою - Конфігурація GRBL
- Макроси та хуки - Вставка власного G-code