Suporte a Dialeto G-code
O Rayforge suporta múltiplos dialetos G-code para trabalhar com diferentes firmware de controlador.
Dialetos Suportados
O Rayforge atualmente suporta estes dialetos G-code:
| Dialeto | Firmware | Uso Comum |
|---|---|---|
| Grbl (Compat) | GRBL 1.1+ | Lasers de diodo, CNC hobby |
| Grbl (Compat, sem eixo Z) | GRBL 1.1+ | Cortadores a laser 2D sem Z |
| Grbl Raster | GRBL 1.1+ | Otimizado para trabalho raster |
| GRBL Dinâmico (Sensível à Profundidade) | GRBL 1.1+ | Gravação a laser sensível à profundidade |
| GRBL Dinâmico (sem eixo Z) | GRBL 1.1+ | Gravação a laser sensível à profundidade |
| LinuxCNC | LinuxCNC | Suporte nativo a Bézier (G5) |
| Mach4 (M67 Analog) | Mach4 | Gravação raster de alta velocidade |
| Smoothieware | Smoothieware | Cortadores a laser, CNC |
| Marlin | Marlin 2.0+ | Impressoras 3D com laser |
Grbl (Compat) é o dialeto mais testado e recomendado para aplicações de laser padrão.
Grbl Raster é otimizado para gravação raster em controladores GRBL. Ele mantém o laser no modo de potência dinâmica (M4) continuamente e omite comandos de taxa de avanço redundantes, resultando em G-code mais suave e compacto.
GRBL Dinâmico (Sensível à Profundidade) é recomendado para gravação a laser sensível à profundidade onde a potência varia durante os cortes (ex., gravação de profundidade variável).
LinuxCNC suporta curvas Bézier cúbicas nativas através do comando G5, o que produz G-code muito suave e compacto para caminhos curvos. Ao usar este dialeto, ative a opção "Suportar curvas Bézier" nas Configurações Avançadas de Máquina para aproveitar a saída G5.
Mach4 (M67 Analog)
O dialeto Mach4 (M67 Analog) é projetado para gravação raster de alta velocidade com controladores Mach4. Ele usa o comando M67 com saída analógica para controle preciso de potência do laser.
Recursos Principais
- Saída Analógica M67: Usa
M67 E0 Q<0-255>para potência do laser em vez de comandos S inline - Pressão de Buffer Reduzida: Ao separar comandos de potência de comandos de movimento, o buffer do controlador é menos estressado durante operações de alta velocidade
- Raster de Alta Velocidade: Otimizado para operações de gravação raster rápidas
Quando Usar
Use este dialeto quando:
- Você tem um controlador Mach4 com capacidade de saída analógica
- Você precisa de gravação raster de alta velocidade
- Seu controlador experimenta estouro de buffer com comandos S inline padrão
Formato de Comando
O dialeto gera G-code como:
M67 E0 Q127 ; Definir potência do laser para 50% (127/255)
G1 X100 Y200 F1000 ; Mover para posição
M67 E0 Q0 ; Desligar laser
Criando um Dialeto Personalizado
Para criar um dialeto G-code personalizado baseado em um dialeto embutido:
- Abra Configurações de Máquina → Dialeto G-code
- Clique no ícone Copiar em um dialeto embutido para criar um novo dialeto personalizado
- Edite as configurações do dialeto conforme necessário
- Salve seu dialeto personalizado
Cada dialeto personalizado é uma cópia independente. Alterar um dialeto nunca afeta os outros, então você pode experimentar livremente sem se preocupar em danificar uma configuração existente. Dialetos personalizados são armazenados no seu diretório de configuração e podem ser compartilhados.
Configurações do Dialeto
Ao editar um dialeto personalizado, a página de Configurações oferece estas opções:
Modo Laser Contínuo mantém o laser no modo de potência dinâmica (M4) ativo durante todo o trabalho em vez de alternar M4/M5 entre segmentos. Isso é útil para gravação raster onde o laser precisa permanecer ligado continuamente durante as linhas de varredura.
Taxa de Avanço Modal omite o parâmetro de taxa de avanço (F) dos comandos de movimento quando não mudou desde o último comando. Isso produz G-code mais compacto e reduz a quantidade de dados enviados ao controlador.
Comando Separado de Ativação do Laser para Focagem
Alguns dialetos suportam a configuração de um comando separado para ligar o laser em baixa potência, o que é útil para o modo de focagem. Isso permite usar um comando diferente para o comportamento visual de "ponteiro laser" daquele usado durante o corte ou gravação real. Verifique a página de configurações do seu dialeto para esta opção.
Espaços Reservados de Modelos
Ao criar ou editar um dialeto personalizado, cada modelo de comando utiliza
strings de formatação do Python
com espaços reservados para injetar valores dinâmicos. Use a sintaxe {nome}
ou {nome:.0f} (ex., {power:.0f} para formatar como inteiro sem decimais).
Espaços Reservados Disponíveis por Modelo
| Modelo | Espaços Reservados |
|---|---|
| Laser Ligado | power |
| Laser Foco | power |
| Laser Desligado | (nenhum) |
| Troca Ferram. | tool_number |
| Ajustar Vel. | speed |
| Mov. Rápido | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command |
| Mov. Linear | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power |
| Arco (CW) | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power |
| Arco (CCW) | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, power |
| Bézier Cúbico | x, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command, i, j, p, q, power |
| Ar On/Off | (nenhum) |
| Origem Todos | (nenhum) |
| Origem Eixo | axis_letter |
| Mover Para | speed, x, y, z |
| Jog | speed |
| Limpar Alarme | (nenhum) |
| Ajuste WCS | p_num, x, y, z |
| Ciclo de Sondagem | axis_letter, max_travel, feed_rate |
| Espera | seconds, milliseconds |
Referência dos Espaços Reservados
Coordenadas
| Espaço Reservado | Descrição |
|---|---|
x | Coordenada X alvo como float (ex., 100.0) |
y | Coordenada Y alvo como float (ex., 200.0) |
z | Coordenada Z alvo como float (ex., 5.0) |
x_cmd | String de comando do eixo X, ex., " X100.0". Omitido se inalterado (se "Omitir coordenadas inalteradas" estiver ativo) |
y_cmd | String de comando do eixo Y, ex., " Y200.0". Omitido se inalterado |
z_cmd | String de comando do eixo Z, ex., " Z5.0". Omitido se inalterado |
extra_cmd | String de comando para eixos extras (A, B, C), ex., " A90.0". Vazio se nenhum eixo extra estiver configurado |
Movimento
| Espaço Reservado | Descrição |
|---|---|
f_command | String de comando de taxa de avanço, ex., " F3000". Omitido se modal e inalterado |
s_command | String de comando de spindle/potência, ex., " S500". Usado nos modos dinâmico/raster e em modo laser contínuo |
i | Deslocamento X do ponto de controle do arco ou Bézier a partir da posição inicial |
j | Deslocamento Y do ponto de controle do arco ou Bézier a partir da posição inicial |
p | Deslocamento X do segundo ponto de controle Bézier a partir da posição final (apenas Bézier Cúbico) |
q | Deslocamento Y do segundo ponto de controle Bézier a partir da posição final (apenas Bézier Cúbico) |
Potência e velocidade
| Espaço Reservado | Descrição |
|---|---|
power | Valor absoluto de potência do laser como float. Suporta formatação, ex., {power:.0f} para inteiros |
speed | Valor de velocidade (para comandos Mover Para e Jog) |
tool_number | Número da ferramenta/cabeça do laser |
Máquina e Sondagem
| Espaço Reservado | Descrição |
|---|---|
axis_letter | Letra do eixo única, ex., "X", "Y", "Z" (para Origem Eixo e Sondagem) |
p_num | Número P do WCS (ex., 1 para G54) |
max_travel | Distância máxima de deslocamento da sonda (apenas Ciclo de Sondagem) |
feed_rate | Taxa de avanço da sonda (apenas Ciclo de Sondagem) |
Espera
| Espaço Reservado | Descrição |
|---|---|
seconds | Duração da espera em segundos como float (ex., 1.5) |
milliseconds | Duração da espera em milissegundos como inteiro (ex., 1500) |
Dicas
- Especificações de formatação são suportadas:
{power:.0f}formata a potência como inteiro,{power:.2f}com duas casas decimais. - A configuração «Omitir coordenadas inalteradas» controla se
x_cmd,y_cmdez_cmdficam vazios quando a posição do eixo não mudou desde o último comando. Isso reduz o tamanho do G-code. - A configuração «Taxa de Avanço Modal» controla se
f_commandé omitida quando a taxa de avanço não mudou. - Deixe um campo de modelo vazio para pular esse comando completamente
(ex., definir
bezier_cubiccomo""desativa a saída Bézier nativa e usa linearização como alternativa).
Páginas Relacionadas
- Exportando G-code - Configurações de exportação
- Compatibilidade de Firmware - Versões de firmware
- Configurações de Dispositivo - Configuração GRBL
- Macros & Hooks - Injeção de G-code personalizado