{"id":10351,"date":"2026-03-20T13:59:24","date_gmt":"2026-03-20T05:59:24","guid":{"rendered":"https:\/\/www.cncmachiningshops.com\/?p=10351"},"modified":"2026-07-19T17:12:07","modified_gmt":"2026-07-19T09:12:07","slug":"what-is-g-code","status":"publish","type":"post","link":"https:\/\/www.cncmachiningshops.com\/es\/what-is-g-code\/","title":{"rendered":"\u00bfQu\u00e9 es el c\u00f3digo G en el mecanizado CNC? Sintaxis, estructura y ejemplos pr\u00e1cticos de programaci\u00f3n"},"content":{"rendered":"<div data-page-id=\"A6cNdQPsso1VkNxnLMecVSBRnhe\" data-lark-html-role=\"root\" data-docx-has-block-data=\"true\">\n<p>El software CAM ha hecho que el c\u00f3digo G sea menos visible en los flujos de trabajo cotidianos del CNC, pero no ha hecho que el c\u00f3digo G sea menos importante. Cada trayectoria de herramienta que genera un sistema CAM acaba convirti\u00e9ndose en un archivo de c\u00f3digo G, y ese archivo es lo que el controlador CNC ejecuta realmente, l\u00ednea a l\u00ednea, sin tener en cuenta el modelo CAD ni la estrategia de mecanizado que hay detr\u00e1s. Cuando una herramienta se hunde demasiado, el tiempo de ciclo es inesperadamente alto o el acabado superficial no coincide con la simulaci\u00f3n, la respuesta est\u00e1 casi siempre en el c\u00f3digo G, no en la configuraci\u00f3n CAM. Entender el c\u00f3digo G en el mecanizado CNC significa entender lo que la m\u00e1quina est\u00e1 haciendo realmente, en lugar de lo que usted pretende que haga.<\/p>\n<p>Este art\u00edculo trata el c\u00f3digo G desde la perspectiva de c\u00f3mo los controladores CNC lo interpretan y ejecutan en entornos de mecanizado reales. El objetivo es pr\u00e1ctico: sintaxis, estructura, l\u00f3gica modal, errores comunes y un ejemplo de c\u00f3digo paso a paso que muestra exactamente lo que ocurre a nivel de m\u00e1quina. Tanto si est\u00e1 depurando un programa, revisando la configuraci\u00f3n de un proveedor o tratando de entender por qu\u00e9 un tiempo de ciclo presupuestado parece err\u00f3neo, \u00e9ste es el marco a partir del cual trabajar.<\/p>\n<hr \/>\n<h2>\u00bfQu\u00e9 es el c\u00f3digo G y c\u00f3mo controla las m\u00e1quinas CNC?<\/h2>\n<h3>La definici\u00f3n que realmente importa en la producci\u00f3n<\/h3>\n<p>El c\u00f3digo G es el lenguaje de instrucciones de bajo nivel que ejecutan directamente los controladores de m\u00e1quinas CNC. Cada l\u00ednea especifica comandos de movimiento, posiciones de ejes, velocidades de avance, estados de cabezal y funciones auxiliares. No es descriptivo: no dice \u201cmecanizar esta cavidad\u201d o \u201cacabar esta superficie\u201d. Dice \u201cdespl\u00e1zate a esta coordenada a este avance en este modo\u201d. El controlador sigue esas instrucciones exactamente, sin interpretaci\u00f3n de la intenci\u00f3n m\u00e1s all\u00e1 de lo que est\u00e1 codificado.<\/p>\n<p>Esta distinci\u00f3n es importante en la pr\u00e1ctica. El software CAM define lo que debe ocurrir en funci\u00f3n de la geometr\u00eda y la estrategia de mecanizado. El archivo de c\u00f3digo G define lo que el controlador ejecutar\u00e1 realmente. A menudo son muy parecidos, pero no siempre id\u00e9nticos, y en la distancia que los separa se encuentran la mayor\u00eda de los problemas de mecanizado.<\/p>\n<h3>C\u00f3mo leen el c\u00f3digo G los controladores CNC<\/h3>\n<p>Los controladores procesan el c\u00f3digo G secuencialmente, un bloque cada vez. Tras leer cada l\u00ednea, el controlador actualiza su estado interno -modo de movimiento activo, sistema de coordenadas, desplazamiento de longitud de herramienta, selecci\u00f3n de plano- y, a continuaci\u00f3n, ejecuta el comando. Los comandos modales permanecen activos hasta que se cambian expl\u00edcitamente. Esta es la parte que pilla a la mayor\u00eda de la gente desprevenida: un comando establecido hace 50 l\u00edneas puede seguir controlando el comportamiento de la m\u00e1quina en la l\u00ednea 200 si nada lo cancel\u00f3.<\/p>\n<p>Los controladores tambi\u00e9n aplican funciones de anticipaci\u00f3n, l\u00edmites de aceleraci\u00f3n y algoritmos de interpolaci\u00f3n despu\u00e9s de leer el c\u00f3digo G, no durante la generaci\u00f3n del CAM. Dos m\u00e1quinas que ejecutan un c\u00f3digo G id\u00e9ntico pueden producir perfiles de movimiento diferentes si los par\u00e1metros de sus controladores difieren. Por este motivo, los resultados del mecanizado no se determinan completamente en la fase de CAM.<\/p>\n<h3>Qu\u00e9 lugar ocupa el c\u00f3digo G en el flujo de trabajo del CNC<\/h3>\n<p>El flujo desde el dise\u00f1o hasta el corte sigue una secuencia clara:<\/p>\n<p><strong>Modelo CAD \u2192 Estrategia de sendas CAM \u2192 Salida de c\u00f3digo G \u2192 Controlador CNC \u2192 Movimiento servo \u2192 Arranque de material.<\/strong><\/p>\n<p>El c\u00f3digo G es el punto de transferencia. Todo lo anterior es dise\u00f1o y planificaci\u00f3n. Todo lo que sigue es el corte f\u00edsico. Entender el c\u00f3digo G significa entender lo que ocurre en ese l\u00edmite, que es exactamente donde los problemas son m\u00e1s dif\u00edciles de ver y m\u00e1s caros de solucionar.<\/p>\n<hr \/>\n<h2>C\u00f3mo se estructura un programa CNC G-Code<\/h2>\n<h3>Bloques, l\u00edneas y orden de ejecuci\u00f3n<\/h3>\n<p>Un programa en c\u00f3digo G se construye a partir de bloques: l\u00edneas individuales que el controlador procesa en secuencia, de arriba abajo. Cada bloque representa un ciclo de instrucciones. El controlador no tiene conocimiento de los bloques futuros m\u00e1s all\u00e1 de una previsi\u00f3n limitada, por lo que el orden de los comandos determina directamente el comportamiento de la m\u00e1quina.<\/p>\n<p>Un programa bien estructurado sigue esta secuencia:<\/p>\n<ol>\n<li>Inicio del programa e inicializaci\u00f3n de seguridad<\/li>\n<li>Declaraci\u00f3n de unidades, plano y modo de coordenadas<\/li>\n<li>Selecci\u00f3n de herramientas y activaci\u00f3n de offset<\/li>\n<li>Movimientos de mecanizado (desbaste, acabado, taladrado, etc.)<\/li>\n<li>Repliegue y cambio de herramienta (si hay varias herramientas)<\/li>\n<li>Fin de programa y reinicio<\/li>\n<\/ol>\n<p>Omitir o reordenar pasos crea riesgos. Un movimiento de corte ejecutado antes de la activaci\u00f3n del desplazamiento de longitud de la herramienta, por ejemplo, posiciona la herramienta bas\u00e1ndose en una referencia Z no corregida, que es una forma fiable de producir un bloqueo incluso cuando la geometr\u00eda de la trayectoria de la herramienta es correcta.<\/p>\n<h3>Palabras de direcci\u00f3n: Qu\u00e9 hace cada letra<\/h3>\n<p>Cada bloque se compone de palabras de direcci\u00f3n: una letra que identifica la funci\u00f3n, seguida de un n\u00famero que define el valor.<\/p>\n<ul>\n<li><strong>G<\/strong> - Comando de movimiento o modo (r\u00e1pido, lineal, circular, selecci\u00f3n de plano, etc.)<\/li>\n<li><strong>M<\/strong> - Funciones de la m\u00e1quina y auxiliares (husillo, refrigerante, cambio de herramienta, fin de programa)<\/li>\n<li><strong>X, Y, Z<\/strong> - Posiciones objetivo de los ejes<\/li>\n<li><strong>F<\/strong> - Avance (distancia por minuto o por revoluci\u00f3n, seg\u00fan el modo)<\/li>\n<li><strong>S<\/strong> - Velocidad del cabezal (RPM)<\/li>\n<li><strong>T<\/strong> - N\u00famero de herramienta<\/li>\n<\/ul>\n<p>En una l\u00ednea pueden aparecer varias palabras de direcci\u00f3n. El controlador las interpreta conjuntamente para determinar el tipo de movimiento, la posici\u00f3n y el estado de la m\u00e1quina. La secuencia dentro de un bloque tambi\u00e9n es importante en algunos controladores; consulte siempre el manual del controlador para conocer el orden de an\u00e1lisis sint\u00e1ctico de los bloques.<\/p>\n<h3>Comandos modales y no modales<\/h3>\n<p>Este es el concepto que provoca m\u00e1s errores en la programaci\u00f3n de CNC y m\u00e1s confusi\u00f3n a la hora de depurar.<\/p>\n<p><strong>Comandos modales<\/strong> permanecen activas en varios bloques hasta que se cancelan o sustituyen expl\u00edcitamente. G01 (interpolaci\u00f3n lineal), G90 (posicionamiento absoluto) y F (velocidad de avance) son modales. Si se configuran una vez, se aplican a todos los bloques siguientes hasta que se modifican.<\/p>\n<p><strong>Comandos no modales<\/strong> s\u00f3lo se aplican al bloque en el que aparecen. G04 (dwell) es un ejemplo t\u00edpico - hace una pausa de un bloque, luego la ejecuci\u00f3n contin\u00faa sin que se aplique de nuevo el dwell.<\/p>\n<p>El peligro con los comandos modales: un modo establecido al principio del programa controla el comportamiento de todo lo que sigue, incluyendo bloques escritos mucho m\u00e1s tarde. Una transici\u00f3n G00 a G01 omitida donde se espera una, o una velocidad de avance que no se actualiz\u00f3 entre operaciones, puede producir un movimiento incorrecto sin activar ninguna alarma del controlador.<\/p>\n<h3>Desglose de una l\u00ednea t\u00edpica de c\u00f3digo G<\/h3>\n<pre><code>G01 X50.0 Y20.0 Z-5.0 F300\r\n<\/code><\/pre>\n<ul>\n<li><strong>G01<\/strong> - Interpolaci\u00f3n lineal (modal; permanece activa hasta que se especifica otro modo de movimiento)<\/li>\n<li><strong>X50,0 Y20,0 Z-5,0<\/strong> - Posici\u00f3n del objetivo en el sistema de coordenadas actual<\/li>\n<li><strong>F300<\/strong> - Avance de 300 mm\/min (modal; se aplica a todos los movimientos de corte posteriores)<\/li>\n<\/ul>\n<p>Si el siguiente bloque dice <code>X80,0 Y20,0<\/code> sin c\u00f3digo G, la m\u00e1quina se mueve linealmente a 300 mm\/min a la nueva posici\u00f3n - porque G01 y F300 siguen activos. Eso es un comportamiento correcto si se pretende, y un problema si no se espera.<\/p>\n<hr \/>\n<h2>Los c\u00f3digos G m\u00e1s utilizados en el mecanizado CNC<\/h2>\n<h3>Comandos de movimiento: G00, G01, G02, G03<\/h3>\n<p>Estos cuatro c\u00f3digos representan la mayor parte del movimiento en cualquier programa CNC.<\/p>\n<p><strong>G00 - Posicionamiento r\u00e1pido<\/strong> Desplaza la herramienta a una posici\u00f3n a la velocidad m\u00e1xima de desplazamiento de la m\u00e1quina. El regulador no respeta el avance programado durante G00. Util\u00edcelo exclusivamente para movimientos que no sean de corte: posiciones libres, aproximaciones de cambio de herramienta y reposicionamiento por encima de la pieza. Nunca utilice G00 mientras la herramienta est\u00e9 en contacto con el material; los l\u00edmites de avance no se aplican y el resultado es impredecible.<\/p>\n<p><strong>G01 - Interpolaci\u00f3n lineal<\/strong> Ejecuta un movimiento de corte en l\u00ednea recta a la velocidad de avance programada. Este es el comando de corte principal para fresado, torneado y cualquier remoci\u00f3n controlada de material. La selecci\u00f3n del avance debe reflejar el di\u00e1metro de la herramienta, el material y el recubrimiento, no un valor gen\u00e9rico \u201cseguro\u201d. Para aluminio 6061 con una fresa de metal duro de 10 mm, F400-600 mm\/min a S8000-12000 RPM suele ser adecuado. Para acero inoxidable 316L con la misma herramienta, F100-180 mm\/min a S3000-5000 RPM es m\u00e1s realista debido al comportamiento de endurecimiento por deformaci\u00f3n.<\/p>\n<p><strong>G02 \/ G03 - Interpolaci\u00f3n circular (CW \/ CCW)<\/strong> Genera un movimiento de arco en el plano activo. G02 se mueve en el sentido de las agujas del reloj; G03 en sentido contrario. La geometr\u00eda del arco se define mediante un punto inicial, un punto final y un desplazamiento del centro (I, J, K) o un valor de radio (R). Una geometr\u00eda de arco mal definida - en la que los puntos inicial y final no coinciden con el radio especificado - produce alarmas en el controlador o sobrecortes. Verifique siempre las definiciones de arco en la simulaci\u00f3n antes de cortar.<\/p>\n<h3>Selecci\u00f3n de planos y unidades: G17-G19, G20, G21<\/h3>\n<p><strong>G17, G18, G19<\/strong> seleccionar el plano de mecanizado activo: XY, XZ e YZ respectivamente. La selecci\u00f3n del plano afecta directamente a la interpretaci\u00f3n de los arcos G02\/G03. Un arco G02 programado con coordenadas XY se comporta correctamente en G17 pero produce un movimiento incorrecto si G18 o G19 est\u00e1n activos desde una operaci\u00f3n anterior.<\/p>\n<p><strong>G20 \/ G21<\/strong> declarar unidades en pulgadas o m\u00e9tricas. Esto siempre debe establecerse expl\u00edcitamente al inicio del programa. Heredar unidades de un programa anterior es una de las formas menos obvias de bloquear una m\u00e1quina - el controlador escala todas las posiciones por el factor de conversi\u00f3n de unidades, lo que mueve la herramienta a lugares que no se acercan a las posiciones previstas.<\/p>\n<h3>Modos de posicionamiento: G90 vs G91<\/h3>\n<p><strong>G90 - Posicionamiento absoluto<\/strong>: Todas las coordenadas hacen referencia al cero de trabajo activo. Este es el modo est\u00e1ndar para la mayor\u00eda de los mecanizados CNC porque cada posici\u00f3n es inequ\u00edvoca - X50.0 siempre significa 50 mm desde cero, independientemente de d\u00f3nde estaba la herramienta anteriormente.<\/p>\n<p><strong>G91 - Posicionamiento incremental<\/strong>: Las coordenadas hacen referencia a la posici\u00f3n actual de la herramienta. \u00datil para patrones repetitivos (matrices de agujeros, espaciado de ranuras) donde definir todo desde cero requerir\u00eda c\u00e1lculos. El riesgo es el error acumulativo - un error de redondeo en un movimiento desplaza cada posici\u00f3n incremental subsiguiente. Utilice G91 deliberadamente y vuelva siempre a G90 despu\u00e9s de la secuencia incremental.<\/p>\n<h3>C\u00f3digos de seguridad y referencia<\/h3>\n<p><strong>G04 (Vivienda)<\/strong>: Pausa el movimiento durante un tiempo o n\u00famero de revoluciones del cabezal definidos. Los usos comunes incluyen la rotura de virutas durante el taladrado profundo y permitir que el husillo se estabilice despu\u00e9s de un cambio de velocidad antes de comenzar una pasada de acabado de precisi\u00f3n.<\/p>\n<p><strong>G28 (Retorno de referencia de la m\u00e1quina)<\/strong>: Env\u00eda los ejes a trav\u00e9s de un punto intermedio a la m\u00e1quina de origen. El punto intermedio es cr\u00edtico - si no se define expl\u00edcitamente en una posici\u00f3n segura, G28 puede conducir la herramienta a trav\u00e9s de la pieza o accesorio en el camino a casa.<\/p>\n<p><strong>G53 (Movimiento de coordenadas de la m\u00e1quina)<\/strong>: Se desplaza directamente en las coordenadas de la m\u00e1quina, sin desplazamientos de trabajo. M\u00e1s predecible que G28 para movimientos de estacionamiento y cambios de herramienta cuando se utiliza correctamente.<\/p>\n<table>\n<thead>\n<tr>\n<th>Categor\u00eda<\/th>\n<th>C\u00f3digo G<\/th>\n<th>Funci\u00f3n<\/th>\n<th>Uso t\u00edpico<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Movimiento<\/td>\n<td>G00<\/td>\n<td>Movimiento r\u00e1pido<\/td>\n<td>Posicionamiento no cortante<\/td>\n<\/tr>\n<tr>\n<td>Movimiento<\/td>\n<td>G01<\/td>\n<td>Corte lineal<\/td>\n<td>Mecanizado controlado<\/td>\n<\/tr>\n<tr>\n<td>Movimiento<\/td>\n<td>G02 \/ G03<\/td>\n<td>Corte circular<\/td>\n<td>Arcos, bolsillos, perfiles<\/td>\n<\/tr>\n<tr>\n<td>Plano<\/td>\n<td>G17-G19<\/td>\n<td>Selecci\u00f3n del plano<\/td>\n<td>Definici\u00f3n de la direcci\u00f3n del arco<\/td>\n<\/tr>\n<tr>\n<td>Unidades<\/td>\n<td>G20 \/ G21<\/td>\n<td>Pulgadas \/ sistema m\u00e9trico<\/td>\n<td>Inicializaci\u00f3n del programa<\/td>\n<\/tr>\n<tr>\n<td>Posicionamiento<\/td>\n<td>G90 \/ G91<\/td>\n<td>Absoluto \/ Incremental<\/td>\n<td>Control de coordenadas<\/td>\n<\/tr>\n<tr>\n<td>Seguridad<\/td>\n<td>G28 \/ G53<\/td>\n<td>Movimientos de referencia<\/td>\n<td>Cambio de herramienta, holgura<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>Los c\u00f3digos M y su funcionamiento junto con los c\u00f3digos G<\/h2>\n<h3>Qu\u00e9 controlan los c\u00f3digos M<\/h3>\n<p>Mientras que los c\u00f3digos G rigen c\u00f3mo se mueve la herramienta en el espacio, los c\u00f3digos M rigen lo que hace la m\u00e1quina: encendido\/apagado del husillo, encendido\/apagado del refrigerante, cambio de herramienta y flujo del programa. En las operaciones pr\u00e1cticas de mecanizado, los c\u00f3digos M definen el estado de la m\u00e1quina que los movimientos de corte del c\u00f3digo G suponen que ya est\u00e1 en vigor. Un movimiento de corte (G01) ejecutado sin un cabezal activo (M03) da\u00f1a la herramienta y la pieza de trabajo. Un cambio de herramienta (M06) ejecutado sin una distancia adecuada entre ejes puede provocar una colisi\u00f3n.<\/p>\n<h3>Los c\u00f3digos M que aparecen en casi todos los programas<\/h3>\n<ul>\n<li><strong>M03<\/strong> - Husillo encendido, giro a la derecha<\/li>\n<li><strong>M04<\/strong> - Husillo encendido, sentido antihorario (se utiliza para operaciones espec\u00edficas como el roscado inverso)<\/li>\n<li><strong>M05<\/strong> - Tope del husillo<\/li>\n<li><strong>M06<\/strong> - Cambio de herramienta (pausa la ejecuci\u00f3n hasta que finaliza el cambio)<\/li>\n<li><strong>M08<\/strong> - Refrigerante encendido<\/li>\n<li><strong>M09<\/strong> - Refrigerante apagado<\/li>\n<li><strong>M30<\/strong> - Fin de programa y reinicio<\/li>\n<\/ul>\n<p>La secuencia es importante. M03 debe aparecer antes del primer movimiento de corte. M08 debe activarse antes de que la herramienta se enganche al material, no durante. M06 requiere que la m\u00e1quina est\u00e9 en una posici\u00f3n segura - t\u00edpicamente verificada por un movimiento G28 o G53 a una ubicaci\u00f3n definida de cambio de herramienta.<\/p>\n<h3>C\u00f3digo G y c\u00f3digo M: Complementarios, no intercambiables<\/h3>\n<table>\n<thead>\n<tr>\n<th>Aspecto<\/th>\n<th>C\u00f3digo G<\/th>\n<th>C\u00f3digo M<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Funci\u00f3n principal<\/td>\n<td>Movimiento de la herramienta y control de trayectoria<\/td>\n<td>Estado de la m\u00e1quina y funciones auxiliares<\/td>\n<\/tr>\n<tr>\n<td>Acciones t\u00edpicas<\/td>\n<td>Movimientos lineales, arcos, posicionamiento<\/td>\n<td>Husillo, refrigerante, cambio de herramienta, fin de programa<\/td>\n<\/tr>\n<tr>\n<td>Impacto de la ejecuci\u00f3n<\/td>\n<td>Geometr\u00eda y avance<\/td>\n<td>Preparaci\u00f3n para el corte y seguridad de la m\u00e1quina<\/td>\n<\/tr>\n<tr>\n<td>Riesgo en caso de error<\/td>\n<td>Colisi\u00f3n, error dimensional<\/td>\n<td>Da\u00f1os en la herramienta, cambio de herramienta inseguro<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>Velocidad de avance, velocidad del husillo y comandos de herramienta: C\u00f3mo afectan a la calidad de la pieza<\/h2>\n<h3>Avance (F) y acabado superficial<\/h3>\n<p>El avance determina directamente la carga de viruta, es decir, el espesor de material que cada filo de corte elimina por revoluci\u00f3n. Si es demasiado alto, la herramienta se sobrecarga y se producen vibraciones, desgarros y un mal acabado superficial. Si es demasiado bajo, la herramienta roza en lugar de cortar, lo que concentra el calor en el filo de corte y favorece la formaci\u00f3n de filos acumulados, que tambi\u00e9n degradan el acabado.<\/p>\n<p>La relaci\u00f3n entre la velocidad de avance y el acabado superficial es espec\u00edfica de cada material. Para el aluminio 6061, una fresa de 10 mm funcionando a S10000 RPM con F500 mm\/min produce una carga de viruta de aproximadamente 0,025 mm por diente (suponiendo una herramienta de 2 filos) - que normalmente produce Ra 1,6-3,2 \u00b5m en una pasada de desbaste. Bajar a F200 mm\/min reduce la carga de viruta pero aumenta el calor y el rozamiento, a menudo empeorando el acabado en lugar de mejorarlo. Las pasadas de acabado utilizan profundidades de corte reducidas, no necesariamente velocidades de avance reducidas, para conseguir Ra 0,8 \u00b5m o mejor.<\/p>\n<p>En el caso del acero inoxidable 316L, las velocidades de avance son significativamente inferiores (normalmente F100-180 mm\/min) porque el material se endurece durante el corte. Superar las cargas de viruta recomendadas provoca un r\u00e1pido desgaste de la herramienta y el desgarro de la superficie. La aplicaci\u00f3n constante de refrigerante (por inmersi\u00f3n o a trav\u00e9s de la herramienta) es esencial para controlar el calor y evitar el endurecimiento por deformaci\u00f3n entre pasadas.<\/p>\n<h3>Velocidad del cabezal (S) y rendimiento de corte<\/h3>\n<p>La velocidad del cabezal fija la velocidad de corte superficial en el di\u00e1metro exterior de la herramienta. La velocidad correcta depende del di\u00e1metro, el material y el recubrimiento de la herramienta. Una fresa de metal duro de 10 mm recubierta de TiAlN que corte aluminio 6061 suele funcionar a una velocidad superficial de 200-400 m\/min, lo que equivale aproximadamente a S6.400-12.700 RPM. La misma herramienta en acero inoxidable 316L funciona a una velocidad superficial de 40-80 m\/min - aproximadamente S1.270-2.550 RPM - para limitar la generaci\u00f3n de calor y el desgaste de la herramienta.<\/p>\n<p>Una velocidad de husillo excesiva en acero inoxidable genera calor concentrado que ablanda el filo de corte, acortando dr\u00e1sticamente la vida \u00fatil de la herramienta. Una velocidad insuficiente en aluminio produce un corte ineficaz y una mala evacuaci\u00f3n de la viruta. Conseguir una velocidad de husillo correcta no consiste en utilizar valores conservadores, sino en adaptar la velocidad a lo que la herramienta y el material realmente requieren.<\/p>\n<h3>Comandos de herramienta y activaci\u00f3n del desplazamiento<\/h3>\n<p>La selecci\u00f3n de herramienta (T) especifica qu\u00e9 herramienta cargar. La compensaci\u00f3n de la longitud de la herramienta (G43 con desplazamiento H) aplica la referencia del eje Z correcta para esa herramienta espec\u00edfica. Si se activa el offset incorrecto - o si se omite G43 por completo - la referencia del eje Z se desplaza por la diferencia entre el offset programado y la longitud real de la herramienta. Esto produce una penetraci\u00f3n demasiado profunda o una retracci\u00f3n insuficiente para despejar la pieza.<\/p>\n<p>Antes de cualquier cambio de herramienta, la m\u00e1quina debe estar en una posici\u00f3n segura. La mayor\u00eda de los controladores requieren un posicionamiento expl\u00edcito en una posici\u00f3n de cambio de herramienta antes de ejecutar M06. Si se omite este paso, se corre el riesgo de una colisi\u00f3n entre la herramienta y la pieza de trabajo o la fijaci\u00f3n durante el cambio.<\/p>\n<hr \/>\n<h2>Leyendo G-Code Paso a Paso: Un ejemplo completo de fresado<\/h2>\n<p>Leer correctamente el c\u00f3digo G significa seguir el estado de la m\u00e1quina despu\u00e9s de cada l\u00ednea, no s\u00f3lo leer las posiciones. He aqu\u00ed un programa de fresado 2D completo con comentarios de ingenier\u00eda sobre lo que hace realmente cada secci\u00f3n en la m\u00e1quina.<\/p>\n<pre><code>%\nO1001\nG21 G90 G17\nG00 X0 Y0\nT1 M06\nS8000 M03\nG43 H01 Z50,0\r\nG00 Z5,0\nG01 Z-2,0 F200\nG01 X50,0 Y0,0 F400\nG01 X50,0 Y30,0\nG01 X0,0 Y30,0\r\nG01 X0,0 Y0,0\nG00 Z50,0\nM05\nM30\n%\r\n<\/code><\/pre>\n<p><strong>G21 G90 G17<\/strong> - Establece las unidades m\u00e9tricas, el posicionamiento absoluto y el plano XY. Estos tres estados modales controlan la interpretaci\u00f3n de coordenadas para todo el programa. La omisi\u00f3n de cualquiera de ellos significa heredar el estado del programa anterior - una fuente com\u00fan de comportamiento inesperado cuando se ejecutan programas secuencialmente.<\/p>\n<p><strong>G00 X0 Y0<\/strong> - Desplazamiento r\u00e1pido al programa cero en XY. Sin corte. La herramienta se desplaza a toda velocidad r\u00e1pida; no hay protecci\u00f3n de avance.<\/p>\n<p><strong>T1 M06<\/strong> - Selecciona la herramienta 1 y ejecuta un cambio de herramienta. La ejecuci\u00f3n se detiene hasta que se completa el cambio. La m\u00e1quina debe estar en su posici\u00f3n de cambio de herramienta designada antes de esta l\u00ednea, o existe riesgo de colisi\u00f3n.<\/p>\n<p><strong>S8000 M03<\/strong> - Pone en marcha el husillo a 8.000 RPM en el sentido de las agujas del reloj. Para una fresa de 10 mm en aluminio 6061, esto corresponde a una velocidad superficial de aproximadamente 251 m\/min, dentro del rango de corte eficiente para metal duro sin recubrimiento o recubierto de TiN.<\/p>\n<p><strong>G43 H01 Z50.0<\/strong> - Activa la compensaci\u00f3n de longitud de herramienta utilizando el offset H01 y se desplaza a Z50 en el sistema de referencia corregido. Esta es la l\u00ednea que establece el punto de referencia Z correcto para el corte. La falta de G43 significa que la posici\u00f3n Z de la herramienta est\u00e1 referenciada sin la longitud real de la herramienta aplicada.<\/p>\n<p><strong>G00 Z5.0<\/strong> - Aproximaci\u00f3n r\u00e1pida a 5 mm por encima de la superficie de trabajo. Todav\u00eda no hay corte - la herramienta se posiciona por encima de la pieza.<\/p>\n<p><strong>G01 Z-2.0 F200<\/strong> - Penetraci\u00f3n controlada hasta 2 mm de profundidad a F200 mm\/min. El avance reducido durante la penetraci\u00f3n limita la carga de corte axial. A F200 con una fresa de 2 filos de 10 mm, la carga de viruta por diente en la penetraci\u00f3n es de aproximadamente 0,0125 mm, conservadora pero adecuada para un movimiento de entrada en Z.<\/p>\n<p><strong>G01 X50.0 Y0.0 F400<\/strong> - Primer movimiento de corte lineal. El avance aumenta a F400 mm\/min para el paso de corte lateral, produciendo una carga de viruta de aproximadamente 0,025 mm por diente a S8000 RPM - t\u00edpico para el desbaste de aluminio.<\/p>\n<p><strong>Movimientos posteriores G01<\/strong> - Traza los tres lados restantes del perfil rectangular. G01 y F400 permanecen activos (modales) - no es necesario volver a indicarlos a menos que cambie el avance.<\/p>\n<p><strong>G00 Z50.0<\/strong> - Retroceso r\u00e1pido a la altura Z de seguridad. El corte se ha completado; la m\u00e1quina sale a toda velocidad.<\/p>\n<p><strong>M05<\/strong> - Parada del cabezal. Detener siempre el cabezal antes de finalizar el programa.<\/p>\n<p><strong>M30<\/strong> - Fin de programa y reset. El controlador vuelve al principio del programa, listo para la siguiente parte.<\/p>\n<h3>Errores comunes de lectura<\/h3>\n<p><strong>Ignorar el estado modal:<\/strong> G01 y F400 permanecen activos hasta que se cambian expl\u00edcitamente. Un programador que a\u00f1ada un nuevo movimiento m\u00e1s tarde y olvide que estos siguen activos obtendr\u00e1 un movimiento de corte donde se pretend\u00eda un r\u00e1pido.<\/p>\n<p><strong>Suponiendo que el orden sea flexible:<\/strong> El cabezal encendido (M03) debe preceder al movimiento de corte. Desplazamiento de herramienta (G43) debe activarse antes del posicionamiento Z. No son sugerencias, son requisitos para una ejecuci\u00f3n segura.<\/p>\n<p><strong>Lectura de coordenadas sin seguimiento de estado:<\/strong> Una posici\u00f3n como Z-2,0 s\u00f3lo tiene sentido en el contexto del sistema de coordenadas activo, el desplazamiento de la herramienta y el modo de posicionamiento. Lee el estado, luego lee las coordenadas.<\/p>\n<hr \/>\n<h2>Errores comunes del c\u00f3digo G y c\u00f3mo diagnosticarlos<\/h2>\n<p>La mayor\u00eda de los problemas graves de CNC no proceden de c\u00f3digo complejo. Provienen de peque\u00f1os errores modales, desfases err\u00f3neos o desajustes de unidades que se propagan por el programa.<\/p>\n<h3>Errores modales<\/h3>\n<p>Un comando modal establecido incorrectamente - o nunca cancelado despu\u00e9s de su uso - afecta a cada bloque que le sigue hasta que algo lo cambie. Si se deja activo G91 (modo incremental) despu\u00e9s de una subrutina de palpaci\u00f3n, todos los movimientos posteriores de intenci\u00f3n absoluta se ejecutan como desplazamientos incrementales. La herramienta termina en ninguna parte cerca de la ubicaci\u00f3n prevista, y el controlador no genera ninguna alarma porque el movimiento era sint\u00e1cticamente v\u00e1lido.<\/p>\n<p>Estos errores no se revelan al escanear l\u00edneas individuales. Es necesario seguir el estado de la m\u00e1quina a lo largo de la secuencia del programa, mentalmente o mediante simulaci\u00f3n.<\/p>\n<h3>Errores de coordenadas y desplazamiento<\/h3>\n<p>Los errores de c\u00f3digo G de mayor riesgo son los relacionados con el sistema de coordenadas y el desplazamiento:<\/p>\n<ul>\n<li>Desplazamiento del trabajo incorrecto (por ejemplo, G54 seleccionado cuando el programa espera G55).<\/li>\n<li>Compensaci\u00f3n de longitud de herramienta incorrecta o inexistente (desajuste G43\/H)<\/li>\n<li>G90\/G91 confusi\u00f3n al cambiar entre los modos absoluto e incremental<\/li>\n<\/ul>\n<p>Cada uno de estos puede producir un accidente o parte de chatarra sin ning\u00fan error de sintaxis. El controlador hace exactamente lo que dice el c\u00f3digo - s\u00f3lo que no es lo que se pretend\u00eda.<\/p>\n<h3>Enfoque de diagn\u00f3stico: Validaci\u00f3n por capas<\/h3>\n<p>El enfoque est\u00e1ndar de ingenier\u00eda para la validaci\u00f3n de c\u00f3digo G funciona a trav\u00e9s de capas de confianza creciente:<\/p>\n<ol>\n<li>Revisi\u00f3n del c\u00f3digo: comprobaci\u00f3n de unidades, sistemas de coordenadas, activaciones de desplazamiento y restablecimientos modales.<\/li>\n<li>CAM o simulaci\u00f3n de controladores: verifique el movimiento gr\u00e1ficamente antes de que nada se ejecute<\/li>\n<li>Funcionamiento en seco - ejecutar con el husillo apagado y el desplazamiento del eje Z elevado 50-100 mm.<\/li>\n<li>Bloque \u00fanico con anulaci\u00f3n de avance: ejecute el programa real l\u00ednea a l\u00ednea a velocidad reducida.<\/li>\n<\/ol>\n<table>\n<thead>\n<tr>\n<th>Tipo de error<\/th>\n<th>Riesgo<\/th>\n<th>Prevenci\u00f3n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Comando modal no reseteado<\/td>\n<td>Movimiento de corte inesperado<\/td>\n<td>Replantear expl\u00edcitamente los c\u00f3digos G cr\u00edticos en cada operaci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td>Sistema de coordenadas err\u00f3neo<\/td>\n<td>Mecanizado en el lugar equivocado<\/td>\n<td>Fijar siempre el offset de trabajo al inicio del programa<\/td>\n<\/tr>\n<tr>\n<td>Desplazamiento de longitud de herramienta ausente<\/td>\n<td>Rotura o sobrecorte de la herramienta<\/td>\n<td>Activar G43 con valor H verificado antes del movimiento Z<\/td>\n<\/tr>\n<tr>\n<td>Desajuste de unidades (G20\/G21)<\/td>\n<td>Posiciones a escala o choque<\/td>\n<td>Declare las unidades expl\u00edcitamente: nunca conf\u00ede en el valor por defecto<\/td>\n<\/tr>\n<tr>\n<td>Movimiento r\u00e1pido inseguro<\/td>\n<td>Colisi\u00f3n<\/td>\n<td>Utilizar planos de despeje y verificar el comportamiento en seco<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>C\u00f3digo G avanzado: Macros, subprogramas y ciclos fijos<\/h2>\n<h3>Macrovariables y programaci\u00f3n param\u00e9trica<\/h3>\n<p>La programaci\u00f3n de macros introduce variables en el c\u00f3digo G, lo que permite una l\u00f3gica param\u00e9trica y condicional que los programas est\u00e1ticos no pueden conseguir. En lugar de codificar profundidades, posiciones o velocidades de avance, los ingenieros definen los valores una vez y hacen referencia a ellos en todo el programa.<\/p>\n<pre><code>#100 = 20,0   (Longitud de la cavidad)\n#101 = 5,0    (Profundidad de corte)\nG01 X#100 Z-#101 F300\r\n<\/code><\/pre>\n<p>Este enfoque es especialmente valioso para familias de piezas (en las que el di\u00e1metro del orificio, la profundidad de la cajera o la distancia entre orificios var\u00eda en funci\u00f3n de la configuraci\u00f3n) y para ciclos de medici\u00f3n en m\u00e1quina que adaptan los par\u00e1metros de mecanizado en funci\u00f3n de los resultados de la inspecci\u00f3n. La contrapartida es la complejidad: las macros requieren una cuidadosa documentaci\u00f3n y validaci\u00f3n, y los errores en la l\u00f3gica condicional pueden producir movimientos inesperados.<\/p>\n<h3>Subprogramas y funciones repetidas<\/h3>\n<p>Los subprogramas (llamados con M98, devueltos con M99) permiten definir secuencias de movimiento repetidas una vez y ejecutarlas varias veces. Un patr\u00f3n de taladros que aparece seis veces en una pieza no necesita seis copias de la secuencia de taladrado: un subprograma se encarga de todas las instancias.<\/p>\n<pre><code>M98 P2000 L6 (Llamar seis veces al subprograma O2000)\r\n<\/code><\/pre>\n<p>Adem\u00e1s de la brevedad del c\u00f3digo, los subprogramas mejoran la coherencia: los seis taladros siguen exactamente la misma secuencia de movimiento. Cualquier actualizaci\u00f3n de la estrategia de perforaci\u00f3n -velocidad de avance, profundidad, incremento de pico- requiere cambiar un subprograma, no seis bloques de c\u00f3digo distintos.<\/p>\n<h3>Ciclos enlatados: Productividad sin p\u00e9rdida de control<\/h3>\n<p>Los ciclos fijos agrupan secuencias de mecanizado comunes (taladrar, roscar, taladrar, escariar) en comandos \u00fanicos. Un ciclo de taladrado que, de otro modo, requerir\u00eda bloques separados de aproximaci\u00f3n, penetraci\u00f3n, espera y retracci\u00f3n, se convierte en una sola l\u00ednea:<\/p>\n<pre><code>G81 X20,0 Y10,0 Z-15,0 R2,0 F200\r\n<\/code><\/pre>\n<p>Esto reduce el tiempo de programaci\u00f3n, acorta el c\u00f3digo y produce un comportamiento consistente en todos los agujeros del patr\u00f3n. Una advertencia importante: los ciclos fijos deben cancelarse con G80 una vez completados, y sus par\u00e1metros (modo de retracci\u00f3n, tiempo de espera, incremento de pico) deben coincidir con la implementaci\u00f3n del controlador. El comportamiento de los ciclos fijos var\u00eda entre los controladores Fanuc, Haas y Siemens; compru\u00e9belo siempre con el manual de programaci\u00f3n espec\u00edfico de la m\u00e1quina.<\/p>\n<hr \/>\n<h2>C\u00f3mo var\u00eda el c\u00f3digo G entre controladores CNC<\/h2>\n<h3>Fanuc, Haas y m\u00e1s all\u00e1<\/h3>\n<p>Los controladores basados en Fanuc son lo m\u00e1s parecido que tiene la industria a una referencia de c\u00f3digo G est\u00e1ndar. Muchos fabricantes de m\u00e1quinas herramienta basan sus sistemas de control en la arquitectura Fanuc, lo que hace que el c\u00f3digo compatible con Fanuc sea razonablemente portable entre m\u00e1quinas. Los controladores Haas son en gran medida compatibles con Fanuc, pero incluyen extensiones propias, diferentes estados modales por defecto y una sintaxis de macros espec\u00edfica de Haas que puede alterar el comportamiento de ejecuci\u00f3n en programas compartidos.<\/p>\n<p>Los controladores Siemens y Heidenhain utilizan la sintaxis del c\u00f3digo G, pero en la pr\u00e1ctica funcionan de forma muy diferente. Heidenhain, en particular, se basa en la entrada conversacional para muchas operaciones. Mazatrol (el sistema propiedad de Mazak) es principalmente conversacional, con el c\u00f3digo G como opci\u00f3n secundaria. Los programas escritos para un tipo de controlador suelen requerir una regeneraci\u00f3n posterior (no s\u00f3lo una edici\u00f3n) antes de ejecutarse en una plataforma diferente.<\/p>\n<h3>Por qu\u00e9 el c\u00f3digo G no es universal<\/h3>\n<p>Diferencias espec\u00edficas que importan en la pr\u00e1ctica:<\/p>\n<ul>\n<li>Los conjuntos de c\u00f3digos G y M admitidos var\u00edan: algunos c\u00f3digos v\u00e1lidos en un controlador generan alarmas en otro.<\/li>\n<li>Los par\u00e1metros del ciclo de enlatado (profundidad de picoteo, tipo de retracci\u00f3n, tiempo de espera) difieren seg\u00fan el fabricante.<\/li>\n<li>La sintaxis de las macrovariables y los comandos de l\u00f3gica condicional son espec\u00edficos del controlador<\/li>\n<li>Los algoritmos de anticipaci\u00f3n y los perfiles de aceleraci\u00f3n afectan a la suavidad del movimiento incluso cuando el c\u00f3digo G es id\u00e9ntico.<\/li>\n<\/ul>\n<p>Por este motivo, los postprocesadores CAM son espec\u00edficos de cada m\u00e1quina y no gen\u00e9ricos. El postprocesador traduce las trayectorias de herramientas CAM al dialecto de c\u00f3digo G correcto para el controlador de destino, no a un c\u00f3digo G universal que pueda ejecutar cualquier m\u00e1quina.<\/p>\n<h3>Lo que deben saber los dise\u00f1adores y los equipos de compras<\/h3>\n<p>Desde el punto de vista del aprovisionamiento, el c\u00f3digo G debe tratarse como datos de producci\u00f3n espec\u00edficos de la m\u00e1quina. Compartir un archivo de c\u00f3digo G entre proveedores supone que las m\u00e1quinas y los controladores son id\u00e9nticos, una suposici\u00f3n que a menudo no se cumple. La mejor pr\u00e1ctica es compartir datos CAD y CAM en lugar del c\u00f3digo G final, y confirmar el tipo de m\u00e1quina y la versi\u00f3n del controlador antes de transferir los programas. Cuando sea necesario compartir el c\u00f3digo G, es esencial realizar una simulaci\u00f3n en el controlador receptor antes del corte.<\/p>\n<hr \/>\n<h2>Conclusi\u00f3n<\/h2>\n<p>El c\u00f3digo G en el mecanizado CNC es la capa final entre la intenci\u00f3n del dise\u00f1o y el corte f\u00edsico. Los sistemas CAM planifican la trayectoria de la herramienta; el archivo de c\u00f3digo G es lo que la m\u00e1quina ejecuta realmente. Comprender la estructura del c\u00f3digo G, la l\u00f3gica modal y la secuencia de ejecuci\u00f3n proporciona a los ingenieros una visibilidad directa de lo que ocurre en el filo de corte y de por qu\u00e9 se producen los problemas cuando se producen.<\/p>\n<p>Para cualquiera que trabaje en entornos CNC, ya sea escribiendo programas, revisando configuraciones de proveedores o solucionando problemas de mecanizado, la alfabetizaci\u00f3n en c\u00f3digo G significa un diagn\u00f3stico m\u00e1s r\u00e1pido, una mejor comunicaci\u00f3n con los operarios y menos sorpresas en el taller. No es necesario escribir c\u00f3digo G desde cero en un flujo de trabajo basado en CAM. Lo que s\u00ed es necesario es leerlo, comprender lo que har\u00e1 la m\u00e1quina y reconocer cuando algo en el c\u00f3digo no coincide con el resultado previsto.<\/p>\n<hr \/>\n<h2>FAQ<\/h2>\n<p><strong>\u00bfTodas las m\u00e1quinas CNC utilizan el mismo c\u00f3digo G?<\/strong><\/p>\n<p>No. El c\u00f3digo G no est\u00e1 totalmente estandarizado en todo el sector. Los controladores Fanuc, Haas, Siemens y Heidenhain utilizan sintaxis de c\u00f3digo G con diferentes conjuntos de comandos, definiciones de ciclos predefinidos, sintaxis de macros y estados modales predeterminados. Los programas que funcionan correctamente en un controlador pueden activar alarmas o producir movimientos diferentes en otro. Por este motivo, los postprocesadores CAM son espec\u00edficos para cada controlador.<\/p>\n<p><strong>\u00bfPueden funcionar las m\u00e1quinas CNC sin c\u00f3digo G?<\/strong><\/p>\n<p>A nivel de control, no. Incluso la programaci\u00f3n conversacional y las trayectorias de herramienta generadas por CAM se traducen en \u00faltima instancia a c\u00f3digo G (o instrucciones de bajo nivel equivalentes) para su ejecuci\u00f3n. El c\u00f3digo G es el lenguaje de ejecuci\u00f3n nativo de la m\u00e1quina; todo lo dem\u00e1s es una capa que lo recubre.<\/p>\n<p><strong>\u00bfSigue siendo necesaria la programaci\u00f3n manual de c\u00f3digo G?<\/strong><\/p>\n<p>En los entornos de producci\u00f3n, rara vez es necesaria una programaci\u00f3n manual completa. Sin embargo, saber leer y modificar el c\u00f3digo G sigue siendo una habilidad \u00fatil para la depuraci\u00f3n, la optimizaci\u00f3n del tiempo de ciclo, las peque\u00f1as modificaciones en programas existentes y la comunicaci\u00f3n con los operarios de las m\u00e1quinas y los proveedores. La mayor\u00eda de los ingenieros de CNC no escriben programas desde cero, pero trabajan habitualmente con archivos de c\u00f3digo G.<\/p>\n<p><strong>\u00bfC\u00f3mo puedo probar de forma segura un nuevo programa en G-code?<\/strong><\/p>\n<p>Sigue un enfoque de validaci\u00f3n por niveles: revisa el c\u00f3digo en busca de declaraciones de unidades, sistemas de coordenadas y desplazamientos; ejecuta una simulaci\u00f3n con CAM o con el controlador; realiza una prueba en vac\u00edo con el husillo apagado y el eje Z elevado entre 50 y 100 mm por encima de la pieza; a continuaci\u00f3n, ejecuta un solo bloque con una sobremarcha de avance reducida antes de pasar a un ciclo completo.<\/p>\n<p><strong>\u00bfCu\u00e1l es la diferencia entre el c\u00f3digo G y la programaci\u00f3n conversacional?<\/strong><\/p>\n<p>El c\u00f3digo G es expl\u00edcito y est\u00e1 basado en texto: cada acci\u00f3n de la m\u00e1quina se codifica directamente. La programaci\u00f3n conversacional utiliza men\u00fas y indicaciones para definir las operaciones, que el controlador convierte internamente en c\u00f3digo G. La programaci\u00f3n conversacional es m\u00e1s r\u00e1pida para piezas sencillas en la m\u00e1quina; el c\u00f3digo G ofrece mayor transparencia, portabilidad y control para programas complejos de m\u00faltiples operaciones.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>CAM software has made G-code less visible in day-to-day CNC workflows \u2014 but it hasn&#8217;t made G-code less important. Every toolpath a CAM system generates eventually becomes a G-code file, and that file is what the CNC controller actually executes, line by line, with no awareness of the CAD model or the machining strategy behind it.<\/p>","protected":false},"author":1,"featured_media":12248,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10351","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>What Is G-Code? CNC Programming Syntax &amp; Examples<\/title>\n<meta name=\"description\" content=\"Learn what G-code is in CNC machining, including command syntax, program structure, and practical programming examples used to control CNC machines.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cncmachiningshops.com\/es\/what-is-g-code\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is G-Code in CNC Machining? Syntax, Structure, and Practical Programming Examples\" \/>\n<meta property=\"og:description\" content=\"Learn what G-code is in CNC machining, including command syntax, program structure, and practical programming examples used to control CNC machines.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cncmachiningshops.com\/es\/what-is-g-code\/\" \/>\n<meta property=\"og:site_name\" content=\"CNC Machining Shops\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-20T05:59:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-19T09:12:07+00:00\" \/>\n<meta name=\"author\" content=\"cncmachiningshops\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"cncmachiningshops\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/\"},\"author\":{\"name\":\"cncmachiningshops\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/person\\\/2593a2e2de68be71300e10f486236551\"},\"headline\":\"What Is G-Code in CNC Machining? Syntax, Structure, and Practical Programming Examples\",\"datePublished\":\"2026-03-20T05:59:24+00:00\",\"dateModified\":\"2026-07-19T09:12:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/\"},\"wordCount\":4073,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/\",\"name\":\"What Is G-Code? CNC Programming Syntax & Examples\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg\",\"datePublished\":\"2026-03-20T05:59:24+00:00\",\"dateModified\":\"2026-07-19T09:12:07+00:00\",\"description\":\"Learn what G-code is in CNC machining, including command syntax, program structure, and practical programming examples used to control CNC machines.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg\",\"width\":800,\"height\":600,\"caption\":\"What Is G-Code in CNC Machining 800x600\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/what-is-g-code\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Is G-Code in CNC Machining? Syntax, Structure, and Practical Programming Examples\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#website\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/\",\"name\":\"CNC Machining Shops\",\"description\":\"10+ Years CNC Machining Service Supplier\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#organization\"},\"alternateName\":\"CMS\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#organization\",\"name\":\"CNC Machining Shops\",\"alternateName\":\"CMS\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/CMS_Logo_1000x1000.png\",\"contentUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/CMS_Logo_1000x1000.png\",\"width\":800,\"height\":800,\"caption\":\"CNC Machining Shops\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"description\":\"Shenzhen CMS Technology Co., Ltd. is located in Shenzhen, Guangdong, China. It was established in 2012 with a factory area of \u200b\u200b3,000 square meters. It is a company specializing in CNC machining and precision parts manufacturing. We have passed ISO9001, IATF16949, ISO13485 certification and are your trusted partner.\",\"email\":\"info@cncmachiningshops.com\",\"telephone\":\"+8617196430663\",\"legalName\":\"Shenzhen CMS Technology Co., Ltd.\",\"foundingDate\":\"2012-07-22\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/person\\\/2593a2e2de68be71300e10f486236551\",\"name\":\"cncmachiningshops\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g\",\"caption\":\"cncmachiningshops\"},\"sameAs\":[\"https:\\\/\\\/cncmachiningshops.com\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u00bfQu\u00e9 es el c\u00f3digo G? Sintaxis y ejemplos de programaci\u00f3n CNC","description":"Descubre qu\u00e9 es el c\u00f3digo G en el mecanizado CNC, incluyendo la sintaxis de los comandos, la estructura de los programas y ejemplos pr\u00e1cticos de programaci\u00f3n utilizados para controlar las m\u00e1quinas CNC.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cncmachiningshops.com\/es\/what-is-g-code\/","og_locale":"es_ES","og_type":"article","og_title":"What Is G-Code in CNC Machining? Syntax, Structure, and Practical Programming Examples","og_description":"Learn what G-code is in CNC machining, including command syntax, program structure, and practical programming examples used to control CNC machines.","og_url":"https:\/\/www.cncmachiningshops.com\/es\/what-is-g-code\/","og_site_name":"CNC Machining Shops","article_published_time":"2026-03-20T05:59:24+00:00","article_modified_time":"2026-07-19T09:12:07+00:00","author":"cncmachiningshops","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"cncmachiningshops","Tiempo de lectura":"18 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#article","isPartOf":{"@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/"},"author":{"name":"cncmachiningshops","@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/person\/2593a2e2de68be71300e10f486236551"},"headline":"What Is G-Code in CNC Machining? Syntax, Structure, and Practical Programming Examples","datePublished":"2026-03-20T05:59:24+00:00","dateModified":"2026-07-19T09:12:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/"},"wordCount":4073,"commentCount":0,"publisher":{"@id":"https:\/\/www.cncmachiningshops.com\/#organization"},"image":{"@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg","articleSection":["Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/","url":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/","name":"\u00bfQu\u00e9 es el c\u00f3digo G? Sintaxis y ejemplos de programaci\u00f3n CNC","isPartOf":{"@id":"https:\/\/www.cncmachiningshops.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#primaryimage"},"image":{"@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg","datePublished":"2026-03-20T05:59:24+00:00","dateModified":"2026-07-19T09:12:07+00:00","description":"Descubre qu\u00e9 es el c\u00f3digo G en el mecanizado CNC, incluyendo la sintaxis de los comandos, la estructura de los programas y ejemplos pr\u00e1cticos de programaci\u00f3n utilizados para controlar las m\u00e1quinas CNC.","breadcrumb":{"@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cncmachiningshops.com\/what-is-g-code\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#primaryimage","url":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg","contentUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/What-Is-G-Code-in-CNC-Machining-800x600-2.jpg","width":800,"height":600,"caption":"What Is G-Code in CNC Machining 800x600"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cncmachiningshops.com\/what-is-g-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cncmachiningshops.com\/"},{"@type":"ListItem","position":2,"name":"What Is G-Code in CNC Machining? Syntax, Structure, and Practical Programming Examples"}]},{"@type":"WebSite","@id":"https:\/\/www.cncmachiningshops.com\/#website","url":"https:\/\/www.cncmachiningshops.com\/","name":"Talleres de mecanizado CNC","description":"Proveedor de servicios de mecanizado CNC desde hace m\u00e1s de 10 a\u00f1os","publisher":{"@id":"https:\/\/www.cncmachiningshops.com\/#organization"},"alternateName":"CMS","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cncmachiningshops.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.cncmachiningshops.com\/#organization","name":"Talleres de mecanizado CNC","alternateName":"CMS","url":"https:\/\/www.cncmachiningshops.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2025\/11\/CMS_Logo_1000x1000.png","contentUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2025\/11\/CMS_Logo_1000x1000.png","width":800,"height":800,"caption":"CNC Machining Shops"},"image":{"@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/logo\/image\/"},"description":"Shenzhen CMS Technology Co, Ltd. se encuentra en Shenzhen, Guangdong, China. Se estableci\u00f3 en 2012 con un \u00e1rea de f\u00e1brica de 3000 metros cuadrados. Es una empresa especializada en mecanizado CNC y fabricaci\u00f3n de piezas de precisi\u00f3n. Hemos pasado la certificaci\u00f3n ISO9001, IATF16949, ISO13485 y somos su socio de confianza.","email":"info@cncmachiningshops.com","telephone":"+8617196430663","legalName":"Shenzhen CMS Technology Co., Ltd.","foundingDate":"2012-07-22","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/person\/2593a2e2de68be71300e10f486236551","name":"talleresmecanizadoscnc","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g","caption":"cncmachiningshops"},"sameAs":["https:\/\/cncmachiningshops.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/posts\/10351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/comments?post=10351"}],"version-history":[{"count":0,"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/posts\/10351\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/media\/12248"}],"wp:attachment":[{"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/media?parent=10351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/categories?post=10351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/es\/wp-json\/wp\/v2\/tags?post=10351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}