Lista de Códigos G y M para Programación CNC

Busca y filtra comandos ISO por control, máquina o función.

El lenguaje de programación CNC se basa en bloques de código estructurados para controlar trayectorias, avances y funciones de la máquina herramienta. En esta lista de códigos G y M encontrarás una referencia rápida de los comandos más utilizados en mecanizado para torno y fresadora. Aunque existe un estándar ISO, la ejecución exacta de un ciclo fijo o una interpolación avanzada puede variar según el control numérico Fanuc, Heidenhain, Siemens, Haas y los parámetros del fabricante.

Estos códigos pueden variar según control, postprocesador, máquina y parámetros del fabricante. Antes de ejecutar un programa real, confirma la sintaxis en los manuales oficiales de la máquina/control y simula el recorrido. GetGCode no se hace responsable de daños personales, daños materiales, paradas de producción, errores de programación, errores de diagnóstico ni decisiones tomadas a partir de esta información orientativa. Las marcas citadas pertenecen a sus respectivos titulares (ver Aviso legal).
Agregar mis códigos
Puedes usar la tabla libremente. Guardar tus propios códigos está reservado a las cuentas con acceso Pro.
Código
Nombre
Familia
Ejemplo
Qué hace
Filtros

G42 desplaza la trayectoria media herramienta hacia la derecha del contorno, mirando en el sentido de avance, usando el radio del corrector D. Es la imagen especular de G41: se usa cuando el material queda a la izquierda del avance. Con una fresa derecha girando en M03, G42 corresponde al fresado en oposición, y en torno es la compensación habitual del radio de punta de una plaquita derecha cilindrando hacia el plato.

Ver la ficha completa de la familia

Sintaxis por control

Fanuc (fresado)

G01 G42 D01 X-15. Y0. F250

Se activa en un movimiento lineal fuera de la pieza y se cancela con G40 en otro movimiento lineal. D es el corrector de radio de la tabla de herramientas.

Fanuc / Haas (torno)

G42 G01 X40. Z-2. F0.2

En torno G42 compensa el radio de punta de la plaquita. Además del radio hay que tener bien puesto el código de orientación de punta (0 a 9) en la tabla de correctores: con la orientación mal, la compensación se aplica en el sentido equivocado.

Haas (fresado)

G01 G42 D01 X-15. Y0. F250

Misma sintaxis que Fanuc. Si la tabla de correctores de la máquina trabaja en diámetro y escribes el radio (o al revés), la pieza sale fuera de medida por igual en todo el contorno.

Heidenhain TNC (Klartext)

L X-15 Y+0 RR F250

RR equivale a G42, RL a G41 y R0 a G40. El radio sale de la columna R de TOOL.T; el ciclo APPR/DEP permite entrar y salir del contorno con tangente o con arco sin construir el movimiento a mano.

Letras que lo acompañan

LetraQué indicaUnidad
DNúmero del corrector de radio en fresado. En torno, el radio de punta y su orientación salen del corrector llamado con la T.número entero (D01, D12...)
X Y (X Z en torno)Punto final del bloque de activación y de cada tramo del contorno, en cotas de la pieza acabada.mm / pulg
FAvance del bloque de aproximación y del contorneado.mm/min con G94, mm/vuelta con G95
G17 / G18 / G19Plano en el que actúa la compensación. En fresado G17 (XY); en torno el plano es G18 (XZ).modal, sin unidad

Ejemplo comentado

Misma placa de 80 x 60 mm que el ejemplo de G41, pero recorrida en sentido antihorario con fresa de Ø12 y D01 = 6,0 mm. Es el caso de fresado en oposición, que sigue siendo la opción razonable cuando hay costra de laminación o de fundición que estropea el filo en la entrada, o en una máquina con juego apreciable en los husillos.

O0042 (PERFIL EXTERIOR CON G42)( Cabecera del programa. )
G21 G17 G40 G49 G80( Estado de partida limpio: sin compensaciones y sin ciclos activos. )
G91 G28 Z0.( Z a referencia en incremental antes del cambio de herramienta. )
T1 M06( Fresa de Ø12. )
G90 G54 G00 X-25. Y-15.( Punto de partida fuera de la pieza, por debajo y a la izquierda del perfil. )
G43 H01 Z50. M03 S3000( Longitud de la T1 y husillo en marcha. )
M08( Refrigerante. )
G00 Z-5.( Profundidad de pasada, todavía fuera del material. )
G01 G42 D01 X-15. Y0. F250( Activa la compensación a la derecha en un tramo con 15 mm de desplazamiento lateral en Y, muy por encima de los 6 mm de radio. )
G01 X80. F450( Pared inferior Y0 avanzando hacia +X. Mirando hacia donde avanza la fresa, el material queda a la izquierda: por eso G42. )
Y60.( Pared derecha X80, subiendo. )
X0.( Pared superior Y60, hacia -X. )
Y-15.( Pared izquierda X0 bajando y salida por la prolongación, ya fuera del material. )
G01 G40 X-25.( Cancela la compensación en recta y con la fresa fuera de la pieza. )
G00 Z50. M09( Retirada en Z y refrigerante fuera. )
G91 G28 Z0. M05( Z a referencia y husillo parado. )
G90 M30( Vuelve a absoluto y termina el programa. )

Cuándo se usa G42 y no G41

La regla es la misma para los dos y no depende de si el contorno es exterior o interior: mira en la dirección de avance. Si el material queda a la izquierda, la herramienta se desplaza a la derecha y toca G42. Con fresa derecha y M03, eso ocurre al recorrer un perfil exterior en sentido antihorario o una cajera en sentido horario, es decir, en fresado en oposición. En torno con torreta frontal y plaquita derecha, cilindrar de derecha a izquierda hacia el plato deja el material a la izquierda del avance y se compensa con G42.

Cómo se combina con la aproximación, D y G40

G42 se activa en un bloque lineal que empieza fuera del material y cuyo desplazamiento lateral supera el radio de la herramienta, porque el control tiene que colocar el centro perpendicular al movimiento siguiente. La salida con G40 sigue la misma regla. En torno, además del radio hace falta el código de orientación de punta en la tabla de correctores: sin él, el control no sabe hacia dónde mira el filo y compensa al revés, sobre todo en conos y radios. G42 convive con G43 en fresado y con la T del corrector en torno.

Qué corrige realmente en un perfil

La compensación solo afecta a la trayectoria, así que el margen dimensional queda en el corrector. En fresado, el corrector D es donde se ajustan las centésimas del perfil sin tocar el programa. En torno, la compensación de radio de punta no cambia nada en un cilindrado ni en un refrentado rectos, pero es imprescindible en conos y radios: sin ella el cono sale con el ángulo bien pero desplazado, y los radios salen cortos o largos según el sentido. Ese error crece con el radio de punta de la plaquita.

Errores que cuestan una pieza (o una herramienta)

  • Copiar un programa hecho con G41 y limitarse a invertir el orden de los puntos sin cambiar a G42: la fresa se come el perfil por el lado equivocado en toda la vuelta.
  • Activar G42 en un bloque de aproximación más corto que el radio de la herramienta, o hacerlo con un arco: alarma de compensación o sobrecorte en la entrada.
  • En torno, poner el radio de punta en la tabla y olvidar el código de orientación (0 a 9): los tramos rectos salen bien y los conos y radios salen desplazados.
  • Entrar directamente al contorno con G42 desde dentro del material: la corrección se mete en el primer movimiento y arranca material donde no toca.
  • Dejar G42 activa al llegar al cambio de herramienta o al G28: hay que cancelar con G40 antes de retirarse.
  • Llamar un D que no corresponde a la herramienta montada: la trayectoria se desplaza lo que diga otra fila de la tabla y el perfil sale fuera de medida sin síntoma visible en la máquina.

Preguntas Frecuentes (FAQ)

¿Cuál es la diferencia real entre G41 y G42?

Solo el lado. Mirando en la dirección de avance, G41 desplaza la herramienta a la izquierda y G42 a la derecha. Como consecuencia, con G41 el material queda a la derecha del avance y con G42 a la izquierda. No tiene nada que ver con que el contorno sea exterior o interior.

¿G42 es fresado en oposición?

Con una fresa derecha girando en M03, sí: G42 deja el material a la izquierda del avance y eso da fresado en oposición. Con herramienta a izquierdas o husillo en M04 la relación se invierte, así que la regla útil es mirar el sentido de giro y el lado del material, no el código.

¿Se usa G42 en torno?

Sí, y es el caso más frecuente: con torreta frontal y plaquita derecha cilindrando hacia el plato, la compensación de radio de punta se activa con G42. Se cancela con G40 antes de retirar la herramienta y hay que tener bien puesta la orientación de punta en el corrector.

¿Puedo pasar de G41 a G42 sin cancelar?

Algunos controles lo admiten en un movimiento lineal, pero es una fuente clásica de sobrecorte porque la herramienta cruza de un lado al otro del contorno. Lo seguro es cancelar con G40 fuera del material y volver a activar en un bloque de aproximación nuevo.

¿Por qué la pieza sale fuera de medida por igual en todo el perfil?

Casi siempre es el valor del corrector: radio donde el control espera diámetro, un desgaste antiguo sin borrar o el corrector de otra herramienta. Mide el perfil, calcula la diferencia por lado y corrígela en la tabla; el programa no se toca.

Códigos relacionados

G40G41G43G18

G00

Movimiento

Posicionamiento rápido

Movimiento rápido hasta una coordenada sin controlar avance de corte.

G01

Movimiento

Interpolación lineal

Movimiento lineal controlado con avance programado.

G02

Movimiento

Interpolación circular horaria

Arco circular en sentido horario en el plano activo.

G02.1/G03.1

Interpolación

Interpolación espiral (circular threading B)

Interpolación espiral CW/CCW: movimiento helicoidal continuo con paso variable; usado en roscado B y algunas operaciones de lapeado.

G02.2/G03.2

Interpolación

Interpolación evolvente

Interpolación a lo largo de una evolvente de círculo (involute interpolation), usada en fabricación de engranajes.

G03

Movimiento

Interpolación circular antihoraria

Arco circular en sentido antihorario en el plano activo.

G04

Control de programa

Pausa temporizada

Detiene temporalmente la ejecución durante un tiempo o número de revoluciones definido.

G05/G05.1

Alta velocidad

Alta velocidad / AI contour

Activa funciones de mecanizado de alta velocidad, anticipación de trayectoria o control avanzado de contorno.

G5/G5.1/G5.2

Interpolación avanzada

Splines y NURBS

Interpolaciones por spline cúbica, spline cuadrática o NURBS en controles que lo soportan.

G05.4

Alta velocidad

HRV3/HRV4 on/off

Activa o desactiva el control de corriente HRV3/HRV4 (High Response Vector) para mejorar la precisión de servo en alta velocidad.

G06.2

Alta velocidad

Interpolación NURBS

Interpolación de curvas NURBS (Non-Uniform Rational B-Spline) directamente en el control, reduciendo puntos de bloque y mejorando la suavidad.

G07

Interpolación

Interpolación eje hipotético

Define un eje hipotético (virtual) para interpolación; usado en mecanizado de piezas con simetría o para coordinar movimientos no físicos.

G7/G8

Torno

Modo diámetro/radio en torno

Selecciona si las coordenadas X de torno se interpretan como diámetro o radio según control.

G08/G09

Trayectoria

Suavizado y parada exacta puntual

Funciones usadas para activar/desactivar suavizado o exigir parada exacta en un bloque concreto según control.

G10

Offsets

Escritura de offsets

Permite escribir offsets de herramienta, trabajo u otros datos desde el programa.

G12/G13

Ciclos fresado

Cajera circular

Ciclo de interpolación circular para mecanizar cajeras o patrones circulares según control.

G15/G16

Coordenadas

Coordenadas polares

Activa o cancela programación en coordenadas polares, normalmente radio y ángulo.

G17/G18/G19

Plano

Selección de plano

Define el plano activo para arcos y compensaciones.

G20/G21

Unidades

Unidades pulgadas / milímetros

Selecciona programación en pulgadas o milímetros.

G22/G23

Seguridad

Límites de carrera programados

Activa o desactiva comprobación de zona/límites almacenados según control.

¿Qué son los códigos preparatorios (G) y auxiliares (M)?

Los códigos G preparan y gobiernan el movimiento de la herramienta: desplazamientos rápidos, interpolación lineal, interpolación circular, ciclos fijos, planos de trabajo y compensaciones. Los códigos M controlan funciones auxiliares de la máquina como husillo, refrigerante, parada, cambio de herramienta o fin de programa.

Categorías principales de programación

Movimiento e interpolación (G00, G01, G02, G03)

G00 se usa para posicionamiento rápido, G01 para avance lineal de corte y G02/G03 para interpolación circular horaria o antihoraria. Son la base de la mayoría de programas CNC en fresadora y torno.

Ciclos fijos y subprogramas

Los ciclos fijos simplifican operaciones repetitivas como taladrado, roscado, mandrinado o desbaste. Su sintaxis cambia mucho entre controles, por lo que conviene validar siempre el manual de máquina.

Preguntas Frecuentes (FAQ)

¿Cuál es la diferencia entre un código G y un código M?

Los códigos G (preparatorios) definen la geometría y el movimiento de la herramienta, como interpolaciones lineales o ciclos de desbaste. Los códigos M (misceláneos o auxiliares) controlan el hardware de la máquina, como el encendido del husillo (M03), el refrigerante (M08) o el fin de programa (M30).

¿Los códigos G son universales para todos los tornos y fresadoras?

No totalmente. Aunque los movimientos básicos como G00, G01, G02 y G03 son universales, los ciclos fijos complejos, como G71 para desbaste o G83 para taladrado profundo, tienen sintaxis y parámetros diferentes según uses Fanuc, Haas, Siemens o Heidenhain.

¿Qué es y cuándo se usa el código G01?

G01 es el código de interpolación lineal. Se utiliza para ordenar a la herramienta que se mueva en línea recta hasta una coordenada específica a un avance de corte controlado y programado por la letra F.

¿Qué diferencia hay entre los códigos G90 y G91?

El código G90 establece el sistema de posicionamiento absoluto, donde todas las coordenadas se miden desde el cero pieza (origen). El G91 activa el posicionamiento incremental, donde cada nuevo movimiento se calcula desde la posición actual de la herramienta.

¿Para qué sirven los códigos G41 y G42 en mecanizado?

Estos códigos activan la compensación del radio de la herramienta o plaquita. G41 compensa la trayectoria hacia la izquierda del contorno programado según el sentido de avance, y G42 hacia la derecha. Se usan para mecanizar perfiles, chaflanes y radios con medidas exactas sin clavar la herramienta.

¿Cómo se cancelan los ciclos fijos y las compensaciones?

Para evitar colisiones, es obligatorio cancelar las funciones modales cuando ya no se necesitan. El código G80 cancela cualquier ciclo fijo activo, como los de taladrado. G40 cancela la compensación de radio de herramienta, y G49 cancela la compensación de longitud, muy usado en fresadora.

¿Cuáles son los códigos M auxiliares imprescindibles?

Los códigos de hardware más estandarizados son M03 (giro del husillo a derechas), M04 (giro a izquierdas), M05 (parada del husillo), M08 (encendido del refrigerante o taladrina), M09 (apagado del refrigerante) y M30 (fin del programa, detención de ejes y rebobinado).

¿Los ciclos fijos de Fanuc funcionan igual en otros controles?

No. Aunque los movimientos de interpolación (G00 a G03) son un estándar ISO muy extendido, la sintaxis de los ciclos complejos cambia. Por ejemplo, el ciclo de desbaste en torno es un G71 en Fanuc, pero en Siemens requiere una estructura de parámetros diferente, como CYCLE95.

¿Qué significa la letra F, S y T en el código CNC?

Acompañando a los códigos G y M, la letra F (Feed) define el avance de corte, la letra S (Speed) establece las revoluciones por minuto o la velocidad de corte del husillo, y la letra T (Tool) llama al número de la herramienta y su corrector en la torreta o cargador.

Herramientas relacionadas