Domina el G-Code: Comandos clave para operadores CNC e impresoras 3D
Si tu trabajo o afición está relacionado con máquinas CNC o impresoras 3D, entender qué es el G-code y cómo funciona es esencial. En este tutorial aprenderemos los fundamentos del lenguaje G-code, los comandos más importantes y comunes, y explicaremos su funcionamiento. G-code es un lenguaje de programación para máquinas CNC (Control Numérico Computarizado). Significa "Código Geométrico". Usamos este lenguaje para decirle a una máquina qué hacer o cómo hacerlo. Los comandos G-code instruyen a la máquina a dónde moverse, a qué velocidad y qué trayectoria seguir. En una máquina herramienta (torno, fresadora), la herramienta de corte es guiada por estos comandos para seguir una trayectoria específica, eliminando material para obtener la forma deseada. En fabricación aditiva / impresoras 3D, los comandos G-code instruyen a la máquina a depositar material capa a capa, formando una forma geométrica precisa. A primera vista, un archivo G-code puede parecer complicado, pero en realidad no es difícil de entender. Observando el código, la mayoría de líneas tienen la misma estructura. Lo "complicado" son los números: coordenadas cartesianas. Analicemos una línea: G01 X247.951560 Y11.817060 Z-1.000000 F400.000000 Estructura: G## X## Y## Z## F## Resumiendo: Ahora que sabemos leer una línea, veamos los comandos más importantes. Aprenderemos su funcionamiento con ejemplos; al final podrás entender, leer, modificar e incluso escribir tu propio G-code. G00 mueve la máquina a velocidad máxima de desplazamiento desde posición actual a punto especificado por coordenadas. Mueve todos los ejes simultáneamente, completando el recorrido a la vez → movimiento en línea recta al nuevo punto. G00 es movimiento sin corte; su propósito: mover rápidamente la máquina a la posición deseada para comenzar un trabajo (corte, impresión). G01 instruye movimiento en línea recta a velocidad (feed rate) establecida. Posición final con X, Y, Z; velocidad con F. El controlador calcula (interpola) puntos intermedios para lograr la línea recta. Aunque los comandos son simples, el controlador realiza miles de cálculos/segundo. A diferencia de G00 (solo posicionamiento), G01 se usa cuando la máquina realiza su trabajo principal: cortar en línea recta (torno/fresadora) o extruir en línea recta (impresora 3D). G02 mueve la máquina en patrón circular horario. Mismo concepto que G01, usado en proceso de mecanizado/impresión. Además del punto final, definimos el centro de rotación (distancia desde punto inicio del arco al centro). El punto inicio es el punto final del comando anterior (punto actual). Ejemplo: G02 tras G01. G01 mueve a X5, Y12 → punto inicio para G02. Con X, Y de G02 definimos punto final. Para llegar con movimiento circular, definimos centro con parámetros I y J. Valores I, J son relativos al punto inicio (punto final comando anterior). Para centro en X5, Y7: offset 0 en X, -5 en Y. Podemos poner el centro en otra posición → arco diferente con mismo final: Mismo punto final (X10, Y7), centro distinto (X0, Y2) → arco más amplio. Ver también: Cómo configurar GRBL y controlar CNC con Arduino Ejemplo simple fresado CNC con G00, G01, G02. G-code para la trayectoria de la imagen: Con G00 vamos rápido de home a B(5,5). Desde ahí "cortamos" con G01 a feed rate 200. Nota: para ir de B(5,5) a C(5,25) usamos valores X, Y relativos al punto B (+20 en Y). Esto depende de modo absoluto/relativo (explicado luego). De C(5,25) a D(25,25) con otro G01. Luego G02 a E(35,15) con centro (25,15). Mismo centro para siguiente G02 a F(31,7), pero I, J distintos porque se offsetean desde punto E. Terminamos con G01 de F(31,7) a B(5,5). Así programamos manualmente G-code para esta forma. Falta completar con más comandos básicos; haremos G-code completo en ejemplo posterior. Igual que G02 pero movimiento antihorario. Mismas características y reglas. Con G01, G02, G03 generamos trayectoria para cualquier forma. Suena imposible manualmente, pero es tarea fácil para computadora y software CAM. Sí, a veces programamos manualmente, pero normalmente usamos software CAM (más fácil y seguro). Veamos más comandos importantes y al final un ejemplo real. Definen unidades del G-code: pulgadas o milímetros. Deben establecerse al inicio del programa. Si no se especifican, la máquina usa las del programa anterior. Seleccionan plano de trabajo: G17 es default en la mayoría de CNC; los otros para movimientos específicos. G28 mueve la herramienta a su punto de referencia (home). Para evitar colisiones, podemos incluir punto intermedio con X, Y, Z. La herramienta pasará por ese punto antes de ir a home. Posición home se define con Indican cómo interpretar coordenadas. G90 = modo absoluto; G91 = modo relativo. Modo absoluto: posicionamiento siempre desde punto cero absoluto. Modo relativo: posicionamiento relativo al último punto. Si máquina está en (10,10), Los comandos explicados son los más comunes, pero hay muchos más: compensación de herramienta, escalado, sistemas de coordenadas de trabajo, pausa (dwell), etc. Además de G-code, existen M-code para programas completos. M-codes comunes: Para impresora 3D: Algunos necesitan parámetros. Ej.: Muchos códigos son modales: permanecen activos hasta cancelarse o reemplazarse. Ej.: Lo mismo para feed rate F: no hay que repetirlo salvo para cambiarlo. En algunos archivos verás "N##" antes de comandos: numera línea/bloque, útil para identificar errores en programas grandes. Tras lo anterior, ya podemos escribir un G-code real completo: Descripción del programa: Así se ve listo para enviar a CNC via Universal G-code Sender: Con los comandos principales explicados, escribimos nuestro G-code funcional. Para formas complejas usamos software CAM. Ejemplo G-code complejo forma caballo (~700 líneas, generado automáticamente): G-code generado con Inkscape para mi máquina DIY Arduino CNC Foam Cutting. Resultado: Detalles en mi tutorial dedicado. Cubrimos fundamentos de G-code, explicamos comandos más importantes y escribimos nuestro propio G-code real. Entender G-code no es tan difícil. Hay muchos otros comandos y features en CNC/impresión 3D, pero eso en otros tutoriales. Si te fue útil, compártelo con entusiastas CNC e impresión 3D. Preguntas en comentarios.¿Qué es G-code?
Cómo leer comandos G-code

G01 X247.951560 Y11.817060 Z-1.000000 F400 dice a la CNC: muévete en línea recta desde posición actual a coordenadas X247.95, Y11.82, Z-1.00 a 400 mm/min. La unidad es mm/min porque antes usamos G21 (unidades en mm). Para pulgadas: G20.Los comandos G-code más importantes / comunes
G00 – Posicionamiento rápido

G01 – Interpolación lineal

G02 – Interpolación circular en sentido horario


Ejemplo G00, G01, G02 – Programación manual G-code

G00 X5 Y5 ; punto B
G01 X0 Y20 F200 ; punto C
G01 X20 Y0 ; punto D
G02 X10 Y-10 I0 J-10 ; punto E
G02 X-4 Y-8 I-10 J0 ; punto F
G01 X-26 Y-2 ; punto BG03 – Interpolación circular antihoraria

G20 / G21 – Selección de unidades
G17 / G18 / G19 – Selección de plano G-code

G28 – Retorno a home
G28 X## Y## Z## 
G28.1 X## Y## Z##.G90 / G91 – Comandos de posicionamiento G-code
G01 X10 Y5 lleva herramienta a (10,5) exacto, sin importar posición previa.G01 X10 Y5 la lleva a (20,15). También llamado "modo incremental".Más comandos y reglas
M03 S1000 enciende husillo a 1000 RPM.G01 X5 Y7 F200. Si siguiente movimiento también es corte lineal, basta con coordenadas X, Y sin repetir G01.G01 X5 Y7 F200
X10 Y15
X12 Y20
G02 X5 Y5 I0 J-5
X3 Y6 I-2 J0Ejemplo de programa G-code simple

%
G21 G17 G90 F100 M03 S1000
G00 X5 Y5 ; punto B
G01 X5 Y5 Z-1 ; punto B
G01 X5 Y15 Z-1 ; punto C
G02 X9 Y19 Z-1 I4 J0 ; punto D
G01 X23 Y19 Z-1 ; punto E
G01 X32 Y5 Z-1 ; punto F
G01 X21 Y5 Z-1 ; punto G
G01 X21 Y8 Z-1 ; punto H
G03 X19 Y10 Z-1 I-2 J0 ; punto I
G01 X13 Y10 Z-1 ; punto J
G03 X11 Y8 Z-1 I0 J-2 ; punto K
G01 X11 Y5 Z-1 ; punto L
G01 X5 Y5 Z-1 ; punto B
G01 X5 Y5 Z0
G28 X0 Y0
M05
M30
%



Conclusión
Proceso de manufactura
- Fortune Nombra a Grainger como la Empresa Más Admirada en Mayoristas Diversificados
- El Papel Crítico del Diseño para Fabricación (DFM) en el Éxito del Hardware
- Constantes Matemáticas Clave: Número de Euler (e) y Pi (π) – Aplicaciones y Definiciones
- Programación CNC desmitificada: Código G vs Código M
- Las 4 Mejores Estrategias para Contratar a los Candidatos Adecuados para Roles Clave en Fábrica
- Elementos esenciales de una Lista de Materiales (BOM) – 7 claves que todo diseñador de PCB necesita
- 6 Factores Clave a Considerar Antes de Elegir un Taller de Mecanizado
- Referencia completa de códigos G Fanuc para programación CNC
- Top 5 Directrices Esenciales de Seguridad para Grúas para Operaciones Más Seguras
- Transformadores RF: Diseño, función y aplicaciones clave
- Cualidades esenciales de pigmentos para pinturas de alto rendimiento