O que o G-code descreve
O G-code é uma linguagem de instruções orientada a linhas, usada por impressoras 3D, máquinas CNC e sistemas de movimento relacionados. Uma linha pode pedir um movimento, mudar um ajuste modal, definir uma temperatura ou atualizar um recurso específico do controlador.
Um comando raramente tem sentido isolado. Seu resultado pode depender do modo de unidades, do modo de coordenadas, do modo de extrusão, da configuração da máquina e do firmware que interpreta o arquivo. Por isso esta referência documenta tanto o significado comum quanto o contexto capaz de alterá-lo.
O G-code é mais bem compreendido como uma família de dialetos aparentados do que como um padrão de arquivo perfeitamente uniforme para impressoras. A sintaxe básica de movimento coincide, mas os comandos disponíveis, os parâmetros, os padrões e as extensões dependem do firmware de destino e da sua configuração.
Ler uma linha de comando
G1 X120 Y40 E1.6 F1800G1Solicita um movimento linear coordenado.
X / YInformam a posição de destino ou a distância, conforme G90/G91.
EInforma uma posição ou uma distância do extrusor, conforme M82/M83.
FDefine a velocidade de avanço. Arquivos de impressão normalmente a expressam em milímetros por minuto, e os movimentos seguintes muitas vezes continuam usando o último valor.
; ...Normalmente inicia um comentário para pessoas ou programas. Os fatiadores usam comentários para marcar camadas e tipos de elemento, mas esses rótulos não são padronizados.
Uma letra não carrega uma unidade fixa e independente de contexto. X pode ser uma coordenada e F uma velocidade de avanço, enquanto S pode representar temperatura, potência do ventilador ou outro ajuste. Interprete cada parâmetro pelo comando ao qual ele pertence.
Um arquivo de impressão costuma ter três partes
Preparação
Define unidades e modos de posicionamento, liga os aquecedores, referencia os eixos, seleciona uma ferramenta e pode executar nivelamento, limpeza ou macros de início. É aqui que se estabelece como os valores seguintes serão lidos.
Corpo em camadas
Longas sequências de movimento, extrusão, retração e mudanças de ventilação e temperatura formam a peça. Camadas e tipos de elemento costumam ser marcados por comentários do fatiador, e não por comandos próprios.
Encerramento
Desliga aquecedores e ventiladores, levanta ou estaciona o cabeçote, libera os motores e pode chamar uma macro final específica da máquina. Um encerramento ausente pode deixar a máquina em um estado diferente do esperado.
; início: estabelecer o estado
G21
G90
M83
G28
; corpo: deslocar e depois imprimir
G0 X40 Y20 Z0.20 F9000
G1 X80 Y20 E1.40 F1800
; fim: parar as saídas ativas
M104 S0
M140 S0
M107Esta é uma ilustração estrutural, não um arquivo completo para rodar em qualquer máquina. O sentido do referenciamento, a ordem de aquecimento, a posição de estacionamento e os nomes das macros precisam corresponder à impressora específica.
O estado muda o significado
| Estado | Comandos | Por que importa |
|---|---|---|
| Posicionamento dos eixos | G90 / G91 | Os valores seguintes de X, Y e Z passam a ser posições absolutas ou distâncias relativas. |
| Posicionamento da extrusão | M82 / M83 | O eixo E pode usar um modo independente dos eixos de movimento. |
| Unidades | G20 / G21 | Coordenadas e velocidades podem ser interpretadas em polegadas ou em milímetros. |
| Velocidade de avanço | F | Muitos interpretadores mantêm o último valor de F até que um movimento posterior o altere. |
| Ferramenta ativa | T0 / T1... | Em máquinas multiferramenta, o mesmo comando de temperatura ou extrusão pode agir sobre outra ferramenta. |
| Redefinição de coordenadas | G92 | A posição física atual pode receber novas coordenadas lógicas sem se mover. |
O estado persistente é uma fonte comum de leitura errada. E1.6 sozinho não prova que 1,6 mm foram adicionados: sob M83 é o incremento deste movimento, enquanto sob M82 é a nova posição acumulada.
O contexto do firmware importa
Marlin, Klipper, RepRapFirmware e controladores CNC coincidem nos comandos básicos de movimento, mas não formam uma linguagem perfeitamente intercambiável. Um mesmo objetivo na máquina pode exigir outros nomes de comando, outros parâmetros ou outra escala de valores.
| Sistema | Modelo de extensão | O que verificar |
|---|---|---|
| Marlin | Comandos no estilo RepRap | Muitos recursos são opções de compilação, então duas compilações da mesma versão podem expor comandos diferentes. |
| Klipper | Subconjunto padrão + extensões nomeadas | Dá suporte deliberado a um subconjunto padrão comum, acrescenta nomes como SET_PRESSURE_ADVANCE e permite que macros adicionem ou substituam comportamentos. |
| RepRapFirmware | G-code em toda parte + macros e expressões | Configuração, controle e relatórios de estado usam G-code intensivamente, e versões recentes também aceitam metacomandos e expressões. |
| LinuxCNC / RS274NGC | Grupos modais CNC e sistemas de coordenadas | Conceitos de CNC como controle de árvore, compensação de ferramenta, coordenadas de trabalho e ciclos fixos não implicam eixo E ou aquecedores no estilo de impressora. |
Nome do firmware, versão e configuração são, portanto, o contexto mínimo de compatibilidade. Nem a extensão do arquivo nem uma execução bem-sucedida na máquina de outra pessoa provam execução idêntica na sua impressora.
Como inspecionar um arquivo desconhecido
- Identifique o fatiador, a máquina de destino e o firmware. Sem esse contexto, trate a compatibilidade como desconhecida.
- Leia unidades, modo de eixos, modo de extrusão, referenciamento e configuração de ferramenta e aquecedores antes de interpretar os movimentos seguintes.
- Acompanhe as mudanças de X/Y/Z separadamente das de E para distinguir deslocamento, impressão, retração e escorva.
- Trate comentários iniciados por ponto e vírgula como pistas do fatiador, não como comandos que a máquina necessariamente executa, e não presuma que todos os fatiadores usam os mesmos rótulos.
- Diante de macros, extensões nomeadas ou códigos M desconhecidos, consulte a documentação oficial daquela versão de firmware em vez de deduzir pelo número.
- Por fim, confira se o encerramento desliga aquecedores, ventiladores e outras saídas, e se os movimentos de estacionamento não podem ultrapassar limites nem atingir a peça.
O que cada página de comando contém
- Uma definição concisa seguida do estado necessário para interpretar o comando.
- Sintaxe e significado dos parâmetros, com exemplos práticos de G-code.
- Diferenças entre firmwares e erros que podem alterar o comportamento da máquina.
- Uma declaração transparente do que o visualizador local pode e não pode verificar.
O que o visualizador pode mostrar
O visualizador consegue mostrar as trajetórias suportadas e alguns detalhes do arquivo. Ele não reproduz os ajustes da impressora nem prevê exatamente o que uma impressora física fará.
Comece por estes comandos essenciais
Fontes oficiais usadas neste guia
Redigido em 8 de agosto de 2026 com base nas fontes primárias a seguir. Juntas, elas explicam a estrutura de linha compartilhada e o motivo de os dialetos de cada controlador divergirem.