O guia G-Code completo: do iniciante ao profissional
O que é G-Code, como as máquinas o utilizam e o pipeline de produção completo — desde SVG e imagens raster até arquivos prontos para máquina para plotadoras de caneta, gravadores a laser, impressoras 3D e fresadoras CNC.
O que é G-Code?
G-Code (Código Geométrico) é a linguagem de texto simples que aciona as máquinas CNC. Cada arquivo – normalmente.gcode,.nc ou.cnc – é uma sequência de instruções que informa à máquina para onde se mover, com que rapidez e quando ativar sua ferramenta. As linhas são executadas de cima para baixo, uma de cada vez.
Pense no seu design como o projeto e no G-Code como a navegação passo a passo. Uma impressora 3D não pode processar um JPG. Um plotter de caneta não sabe a aparência da letra 'A'. G-Code resolve isso dividindo qualquer forma em movimentos elementares – linhas retas, arcos e comandos de ligar/desligar ferramenta – que qualquer controlador de movimento pode executar de forma confiável.
O padrão remonta ao MIT na década de 1950, formalizado como RS-274 em 1963 e publicado internacionalmente como ISO 6983 em 1982. Apesar de sua idade, G-Code continua sendo a linguagem universal de fabricação – desde impressoras de mesa amadoras até fresadoras industriais de cinco eixos.
Onde o G-Code é usado?
- Pen Plotters (AxiDraw, HP 7475A, DIY GRBL): move uma caneta física pelo papel para reproduzir arte vetorial — um dos pontos de entrada mais acessíveis no G-Code para artistas e criadores.
- Gravadores e cortadores a laser: direcionam o feixe enquanto modulam a potência para gravar imagens em madeira ou cortar formas em acrílico.
- Impressoras 3D FDM (Prusa, Creality, Bambu Lab): coordena a cabeça de impressão em X, Y, Z enquanto alimenta o filamento, construindo objetos camada por camada.
- Roteadoras e fresas CNC: direciona uma ferramenta de corte giratória através do material para esculpir, embolsar e perfilar.
- Tornos CNC, cortadores de plasma, máquinas de jato de água e eletroerosão a fio: todos usam G-Code ou um derivado próximo.
A anatomia de um arquivo G-Code
Cada linha (chamada de bloco) é uma instrução completa. A máquina lembra seu estado entre as linhas — um avanço definido na linha 10 permanece ativo na linha 200, a menos que você o altere. Isso é chamado de estado modal.
Aqui está um programa plotter de caneta que desenha um quadrado 50×50mm:
G21 ; millimeters
G90; posicionamento absoluto
G0 Z5.0 ; lift pen
G0 X0 Y0 ; move to origin
M3 S1000 ; pen down
G1 X50.0 Y0 F2000
G1 X50.0 Y50.0
G1 X0 Y50.0
G1 X0 Y0
M5 ; pen up
M2 ; end
Dividindo G1 X50.0 Y25.3 F1500: G1 = desenhar uma linha reta, X50.0 Y25.3 = destino, F1500 = 1500 mm/min. Observe que G1 aparece apenas uma vez — cada linha de coordenadas seguinte a reutiliza automaticamente até que você escreva G0 ou outro comando de movimento. Qualquer coisa após um ponto e vírgula é um comentário, ignorado pela máquina.
Comandos G-Code essenciais
Esses comandos funcionam em praticamente todos os firmwares – desde o GRBL amador até o Fanuc industrial.
- G0 — Movimento Rápido: reposicione tão rápido quanto a máquina permitir. Nunca use com laser ou fuso ativo.
- G1 — Movimento Linear: desenhe ou corte uma linha reta no avanço definido (F). O comando principal para todo o trabalho CNC.
- G2 / G3 — Arco no sentido horário/anti-horário: produza curvas suaves em um único comando usando deslocamentos centrais I/J ou raio R. Um G2/G3 substitui dezenas de pequenos segmentos G1.
- G4 — Espera: pausa por um tempo definido. ⚠ Unidade P varia: GRBL = segundos (G4 P1.5 = 1.5s), Marlin = milissegundos (G4 P1500 = 1.5s).
- G20 / G21 — Unidades em polegadas/milímetros. Sempre defina isso no início de cada arquivo.
- G28 — Inicializar todos os eixos. O comportamento varia de acordo com o firmware — verifique sempre antes de usar.
- G90 / G91 — Posicionamento absoluto/relativo. G90 é o padrão; G91 torna cada coordenada relativa à posição atual.
- G92 — Define a posição atual como origem sem se mover. Usado para definir uma origem de trabalho no meio do trabalho.
- M3 S[value] — Ferramenta ligada: dispara o laser, gira o eixo ou abaixa o servo da caneta. S controla a potência, RPM ou ângulo do servo.
- M5 — Ferramenta desligada. Sempre inclua antes de qualquer movimento rápido.
- M104 / M109 — Defina a temperatura do hotend (impressão 3D). M109 aguarda até que o destino seja alcançado antes de continuar.
- M140 / M190 — Definir temperatura da base (impressão 3D). M190 espera — use antes do início da impressão.
- F — Avanço em mm/min. Modal: persiste até você alterá-lo.
- S — Potência ou velocidade: potência do laser (0–1000 em GRBL), RPM do fuso ou ângulo do servo.
- E — Distância do filamento da extrusora (somente impressão 3D).
- I, J — Deslocamentos do centro do arco a partir da posição atual, usados com G2 e G3.
GRBL usa segundos — G4 P1.5 pausa por 1,5 segundos. Marlin usa milissegundos – G4 P1500 é a mesma pausa. Usar a unidade errada significa que sua máquina mal para ou congela por alguns minutos. Sempre verifique seus documentos de firmware.
Fluxo de trabalho 1: plotadora de caneta
- 1
Design em software vetorial
As plotadoras entendem apenas caminhos – não pixels, preenchimentos ou texto bruto. Use Inkscape, Illustrator ou Affinity Designer para criar caminhos de traçado SVG. Converta todo o texto em contornos. Remova preenchimentos, bitmaps e efeitos — eles são ignorados silenciosamente pelo conversor.
- 2
Otimize o SVG
Mesclar caminhos duplicados (a caneta traçaria a mesma linha duas vezes), simplificar nós densos e definir as dimensões do documento em milímetros (não em pixels) para evitar problemas de escala de DPI posteriormente.
- 3
Converter para G-Code
O conversor traduz cada caminho em movimentos G1 e insere comandos de elevação da caneta M3/M5 entre movimentos desconectados. A configuração mais importante é a classificação do caminho – em que ordem os traços são desenhados. Uma classificação ruim faz com que a caneta ziguezagueie pela página milhares de vezes. Uma classificação pelo vizinho mais próximo pode reduzir o tempo de viagem em 50% ou mais em obras de arte densas.
- 4
Enviar por meio de um remetente G-Code
Transmita o arquivo para o firmware GRBL por meio de Universal Gcode Sender (UGS) ou bCNC. O remetente entrega as linhas uma por uma; GRBL traduz cada um em pulsos de motor de passo.
Fluxo de trabalho 2: gravador/cortador a laser
- 1
Escolha o seu modo: vetorial ou raster
O modo vetorial traça caminhos com potência constante – use-o para cortar contornos e linhas gravadas. O modo raster se move para frente e para trás como uma impressora, variando a potência pixel por pixel – use-o para fotos e preenchimentos sombreados. Um único trabalho pode usar ambos os modos em camadas separadas.
- 2
Gere G-Code com configurações de laser
Ferramentas como LightBurn ou LaserGRBL produzem M3 S[valor] para disparar o laser e M5 para pará-lo. No modo raster, o valor S muda em cada linha G1, reproduzindo gradientes em tons de cinza. GRBL deve ser compilado no modo laser para isso – ele desativa a rampa de velocidade e permite resposta instantânea de potência.
- 3
Teste primeiro na sucata
A potência e a velocidade variam drasticamente de acordo com o material. Sempre execute um pequeno teste de rede de potência/velocidade no mesmo material antes de iniciar o trabalho real.
Laser: use óculos de segurança classificados para o seu comprimento de onda (CO2 = 10.600 nm; gravadores de diodo ≈ 450 nm – estes requerem óculos diferentes). Garanta a ventilação – a gravação produz gases tóxicos de quase todos os materiais. Nunca deixe um laser em funcionamento sem supervisão. CNC: prenda a peça de trabalho antes de operar o fuso - uma peça não segura pode ser lançada em alta velocidade. Conheça sua parada de emergência antes de começar.
Fluxo de trabalho 3: impressão 3D
- 1
Modele e exporte como STL ou STEP
Projete em Fusion 360, Blender, FreeCAD ou similar. STL é o formato de troca padrão; STEP traz geometria mais precisa para peças de engenharia.
- 2
Divida em camadas
Uma segmentação de dados (PrusaSlicer, Cura, Bambu Studio) corta o modelo em camadas horizontais de 0,1 a 0.3mm e calcula percursos, suportes, preenchimento e pontes. Um movimento típico se parece com G1 X42.5 Y88.3 E0.0234 F4500 - mover a cabeça enquanto extrusa exatamente 0.0234mm de filamento. O fatiador também insere M109 e M190 para aquecer o bico e a base antes do início da impressão.
- 3
Enviar via cartão SD ou rede
Marlin, Klipper ou RepRapFirmware executa o arquivo. Klipper transfere a computação para um Raspberry Pi e suporta modelagem de entrada – ele mede a ressonância do quadro com um acelerômetro e filtra os comandos de movimento, reduzindo artefatos de toque e permitindo velocidades de impressão mais altas.
Fluxo de trabalho 4: Usinagem CNC
- 1
Modelo em CAD
Use Fusion 360, SolidWorks ou FreeCAD. As peças usinadas exigem tolerâncias de 0.01–0.05mm, portanto, a qualidade do modelo determina diretamente a qualidade da peça.
- 2
Definir percursos em CAM
O software CAM (Fusion 360 CAM, VCarve, Mastercam) permite especificar a ferramenta, a estratégia de corte (limpeza adaptativa, contorno, abertura de bolsões), profundidade de corte, velocidade do fuso e taxa de avanço. O objetivo é o engate eficiente da ferramenta sem quebrar a broca ou queimar o material.
- 3
Pós-processo para seu controlador
Cada máquina industrial CNC fala seu próprio dialeto - Fanuc, Siemens Sinumerik, Heidenhain, Haas. Um pós-processador dentro do software CAM traduz caminhos de ferramenta genéricos na sintaxe exata que sua máquina espera. Usar o pós-processador errado não produz apenas peças ruins – ele pode bater a máquina na peça de trabalho, destruindo ferramentas e criando um risco à segurança.
SVG a G-Code: o que realmente acontece
Os caminhos SVG usam curvas, arcos e linhas retas Bézier. G1 desenha apenas linhas retas - portanto, os conversores devem preencher a lacuna de duas maneiras:
A facetação quebra as curvas em muitos pequenos segmentos retos. Curvas mais suaves requerem segmentos mais curtos, o que significa arquivos maiores e possíveis interrupções de movimento quando o buffer de comando da máquina não consegue acompanhar.
O ajuste de arco é mais inteligente: ele detecta quando uma sequência de segmentos curtos forma coletivamente um círculo e substitui todo o grupo por um único comando G2 ou G3. Um círculo que ocupa 360 linhas G1 torna-se uma linha de G-Code. As limas encolhem até 90%, o movimento é perfeitamente suave e a máquina mantém uma velocidade contínua através do arco. Nem todas as compilações GRBL suportam G2/G3 – verifique antes de ativar.
Illustrator exporta em 72 DPI. Inkscape antes de v0.92 usar 90 DPI. Ferramentas modernas usam 96 DPI. Se o seu conversor assume 96 DPI, mas seu arquivo veio de Illustrator, cada dimensão é 33% grande demais - uma forma 100mm é plotada em 133mm. Correção: combine a configuração de DPI do seu conversor com o seu aplicativo de origem ou, melhor ainda, defina as dimensões do documento SVG em milímetros para tornar o DPI totalmente irrelevante.
Dialetos G-Code: Por que um arquivo não cabe em todas as máquinas
Os comandos principais de movimento (G0, G1, G2, G3) funcionam em qualquer lugar. Todo o resto – sequências de inicialização, alterações de ferramentas, sintaxe de comentários – varia de acordo com a família de firmware. Executar G-Code a partir do controlador errado em uma máquina CNC profissional não produz apenas saída errada – pode causar uma rápida colisão na peça de trabalho.
- GRBL: firmware dominante para plotters de caneta amadores, gravadores a laser e pequenos roteadores CNC. Baseado em Arduino, amplamente suportado por conversores e ferramentas CAM.
- Marlin: dominante para impressoras 3D FDM. Adiciona controle da extrusora, códigos M de temperatura e nivelamento da base além dos comandos de movimento padrão.
- Klipper: firmware moderno de impressora 3D rodando em Raspberry Pi. Permite modelagem de entrada e velocidades de impressão mais altas que não são possíveis na Marlin com o mesmo hardware.
- Smoothieware: Firmware ARM de 32 bits para gravadores a laser de médio porte e CNCs – mais espaço de computação do que o GRBL baseado em Arduino.
- Fanuc: controlador industrial CNC dominante globalmente. Inclui ciclos fixos (G81–G89) e programação macro.
- Siemens Sinumerik / Heidenhain / Haas: Controladores industriais europeus e norte-americanos com dialetos próprios. Um pós-processador Fanuc não funcionará corretamente em uma máquina Sinumerik.
Convertendo fotos em caminhos plotáveis
As fotos contêm apenas pixels – nenhum dado de caminho. Antes que uma foto possa ser plotada ou gravada em vetor, ela deve ser convertida para SVG. Abordagens comuns:
- Rastreamento de arte linear: extrai os contornos e bordas estruturais do assunto como caminhos SVG. Melhor para logotipos, retratos e ilustrações com contornos claros.
- Hachurado/hachurado: mapeia o brilho da imagem para a densidade da linha – áreas mais escuras obtêm linhas mais compactadas. Os resultados evocam a gravura tradicional e a plotagem lindamente.
- Pontilhado: mapeia o brilho para a densidade de pontos. Cada ponto é um breve toque de caneta ou pausa de laser - semelhante à ilustração pontilhista.
- Mapeamento de contorno: trata a luminosidade como elevação, desenhando linhas concêntricas nos limites de brilho. Produz resultados fluidos e orgânicos a partir de fotos.
- Estilos algorítmicos (Voronoi, campos de fluxo, padrões de onda): transformações matemáticas moduladas pelo brilho da imagem para arte abstrata, mas reconhecível, desenhada à máquina.
O pipeline completo: Foto → SVG → G-Code com Laserlinez
Laserlinez converte sua foto em um SVG limpo e pronto para máquina em estilos profissionais desenvolvidos para plotters de caneta e gravadores a laser - desenho de linha, hachura, pontilhado e muito mais. Os caminhos de saída são estruturados como traços discretos, minimizando o levantamento da caneta e o tempo de deslocamento.
Depois de ter o SVG, o serviço SVG para G-Code gera o arquivo final com configurações de perfil da máquina, verificações de comprovação e um artefato de visualização.
Este pipeline de duas etapas - foto para SVG via Laserlinez, SVG para G-Code por meio do serviço - leva você de uma fonte raster para um arquivo laser ou plotter preparado pela máquina sem a necessidade de escrever G-Code manualmente.
Lista de verificação pré-voo
- Simule primeiro — use NCViewer (navegador, gratuito) ou CAMotics (desktop, gratuito) para renderizar o percurso completo antes da máquina se mover. Captura tamanhos errados, falta de elevadores de caneta e corredeiras inesperadas.
- Verifique as unidades — G20 (polegadas) ou G21 (milímetros) devem corresponder às dimensões esperadas.
- Defina a origem do trabalho – posição inicial da máquina, deslocamento G92 ou WCS posicionado corretamente.
- Verifique a folga Z – a altura da caneta ou do laser deve estar fisicamente livre da peça de trabalho e de quaisquer grampos.
- Procure caminhos duplicados — cada contorno apenas uma vez; duplica gravação dupla ou corte duplo.
- Revise os avanços — muito rápido faz com que etapas sejam ignoradas; muito lento desperdiça tempo.
- Confirme as unidades de permanência G4 — segundos para GRBL, milissegundos para Marlin.
- Funcionamento a seco em altura segura — verifique se todo o envelope de viagem se ajusta à área de trabalho da máquina.
- Teste em sucata - para laser e CNC sempre corte o mesmo material na sucata antes de entregar a peça final.
Problemas comuns e soluções
- O desenho é espelhado: SVG Y aumenta para baixo; G-Code Y aumenta para cima. Habilite a inversão do eixo Y em seu conversor.
- Tamanho de saída incorreto: incompatibilidade de DPI. Illustrator = 72, Inkscape antigo = 90, ferramentas modernas = 96. Combine o DPI do conversor com seu aplicativo de origem ou defina as dimensões do SVG em milímetros.
- A máquina gagueja nas curvas: muitos segmentos minúsculos transbordando o buffer de movimento. Ative o ajuste do arco, aumente a tolerância de linearização ou diminua a taxa de avanço.
- A caneta arrasta e nunca levanta: o comando M5 está faltando ou a folga Z é muito baixa para levantar fisicamente do papel.
- O trabalho leva muito mais tempo do que o esperado: ordem de caminho inadequada. Reordene os caminhos com vpype antes de regenerar G-Code.
- A máquina se move para o local errado no início: origem do trabalho não definida. Volte para casa, corra para a origem pretendida e execute G92 X0 Y0 antes de iniciar.
Comentários
Carregando comentários...