Pular para o conteúdo principal

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:

DialetoFirmwareUso 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 RasterGRBL 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
LinuxCNCLinuxCNCSuporte nativo a Bézier (G5)
Mach4 (M67 Analog)Mach4Gravação raster de alta velocidade
SmoothiewareSmoothiewareCortadores a laser, CNC
MarlinMarlin 2.0+Impressoras 3D com laser
Dialetos Recomendados

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:

  1. Abra Configurações de MáquinaDialeto G-code
  2. Clique no ícone Copiar em um dialeto embutido para criar um novo dialeto personalizado
  3. Edite as configurações do dialeto conforme necessário
  4. 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

ModeloEspaços Reservados
Laser Ligadopower
Laser Focopower
Laser Desligado(nenhum)
Troca Ferram.tool_number
Ajustar Vel.speed
Mov. Rápidox, y, z, x_cmd, y_cmd, z_cmd, extra_cmd, f_command, s_command
Mov. Linearx, 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úbicox, 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 Eixoaxis_letter
Mover Paraspeed, x, y, z
Jogspeed
Limpar Alarme(nenhum)
Ajuste WCSp_num, x, y, z
Ciclo de Sondagemaxis_letter, max_travel, feed_rate
Esperaseconds, milliseconds

Referência dos Espaços Reservados

Coordenadas

Espaço ReservadoDescrição
xCoordenada X alvo como float (ex., 100.0)
yCoordenada Y alvo como float (ex., 200.0)
zCoordenada Z alvo como float (ex., 5.0)
x_cmdString de comando do eixo X, ex., " X100.0". Omitido se inalterado (se "Omitir coordenadas inalteradas" estiver ativo)
y_cmdString de comando do eixo Y, ex., " Y200.0". Omitido se inalterado
z_cmdString de comando do eixo Z, ex., " Z5.0". Omitido se inalterado
extra_cmdString de comando para eixos extras (A, B, C), ex., " A90.0". Vazio se nenhum eixo extra estiver configurado

Movimento

Espaço ReservadoDescrição
f_commandString de comando de taxa de avanço, ex., " F3000". Omitido se modal e inalterado
s_commandString de comando de spindle/potência, ex., " S500". Usado nos modos dinâmico/raster e em modo laser contínuo
iDeslocamento X do ponto de controle do arco ou Bézier a partir da posição inicial
jDeslocamento Y do ponto de controle do arco ou Bézier a partir da posição inicial
pDeslocamento X do segundo ponto de controle Bézier a partir da posição final (apenas Bézier Cúbico)
qDeslocamento 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 ReservadoDescrição
powerValor absoluto de potência do laser como float. Suporta formatação, ex., {power:.0f} para inteiros
speedValor de velocidade (para comandos Mover Para e Jog)
tool_numberNúmero da ferramenta/cabeça do laser

Máquina e Sondagem

Espaço ReservadoDescrição
axis_letterLetra do eixo única, ex., "X", "Y", "Z" (para Origem Eixo e Sondagem)
p_numNúmero P do WCS (ex., 1 para G54)
max_travelDistância máxima de deslocamento da sonda (apenas Ciclo de Sondagem)
feed_rateTaxa de avanço da sonda (apenas Ciclo de Sondagem)

Espera

Espaço ReservadoDescrição
secondsDuração da espera em segundos como float (ex., 1.5)
millisecondsDuraçã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_cmd e z_cmd ficam 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_cubic como "" desativa a saída Bézier nativa e usa linearização como alternativa).

Páginas Relacionadas