Перейти до основного вмісту

Підтримка діалектів 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 RasterGRBL 1.1+Оптимізований для растрової роботи
GRBL Dynamic (Depth-Aware)GRBL 1.1+Гравірування лазером з урахуванням глибини
GRBL Dynamic (no Z axis)GRBL 1.1+Гравірування лазером з урахуванням глибини
LinuxCNCLinuxCNCНативна підтримка Bézier (G5)
Mach4 (M67 Analog)Mach4Високошвидкісне растрове гравірування
SmoothiewareSmoothiewareЛазерні різаки, CNC
MarlinMarlin 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 на основі вбудованого:

  1. Відкрийте Налаштування машиниДіалект G-code
  2. Натисніть іконку Копіювати на вбудованому діалекті, щоб створити новий власний діалект
  3. Відредагуйте налаштування діалекту за потреби
  4. Збережіть ваш власний діалект

Кожен власний діалект є незалежною копією. Зміна одного діалекту ніколи не впливає на інші, тому ви можете вільно експериментувати, не побоюючись пошкодити існуючі налаштування. Власні діалекти зберігаються у вашому каталозі конфігурації і можуть бути спільними.

Налаштування діалекту

При редагуванні власного діалекту сторінка Налаштування пропонує такі опції:

Безперервний лазерний режим утримує лазер у режимі динамічної потужності (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
Jogspeed
Очистити тривогу(немає)
Зміщення WCSp_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 на "", щоб вимкнути нативний вивід Без'є і використовувати лінеаризацію натомість).

Пов'язані сторінки