Qué es el G-Code y su importancia en la impresión 3D


En esta entrada vamos a ver qué es el G-Code, uno de los componentes fundamentales de la impresión 3D y que a veces es más desconocido dentro del proceso.

Como vimos en la entrada de introducción al proceso de impresión 3D junto al programa de dibujo, el software para slicer y la propia impresora, el G-Code es uno de los partes integrantes del proceso de impresión 3D.

Empezamos por recordar que nuestra impresora es "tonta" y no entiende ni sabe nada de ficheros 3D, superficies, o mallas trianguladas. Nuestra impresora 3D "solo sabe" desplazarse a la coordenada X, Y, Z y depositar una cierta cantidad de material.

Precisamente el G-Code es el fichero que contiene esa programación como un listado de instrucciones sencillas que la impresora tiene que seguir para imprimir la pieza correctamente.

Anuncio:

En G-Code se obtiene del proceso de Slicer, donde sí se tiene en cuenta la geometría 3D a través del fichero STL, así como los distintos parámetros y configuración como, por ejemplo, del material e impresora.

El resultado es un fichero de texto plano que finalmente pasamos a la impresora, bien por cable, por tarjeta SD, o por WiFi, para realizar la impresión.

Si abrimos este fichero con un editor de texto, veremos un listado muy largo de instrucciones que tiene la siguiente pinta.

Afortunadamente para nosotros, la mayor parte de las veces no tendremos que hacer nada con el G-Code. Nuestra función se limitará en cogerlo y pasarlo a la impresora para ejecutar el trabajo.

Solo en raros casos donde queramos algo muy avanzado (variar la temperatura entre capas, añadir una pausa para poner un inserto) deberemos modificarlo. Y siempre con cuidado, porque la máquina va a hacer lo que digamos, y podemos cargárnosla.

Sin embargo, aunque la mayoría de las veces el G-Code va a ser transparente para nosotros, dado su papel fundamental en la impresión 3D bien merece la pena para que entendamos qué es y cómo funciona.

¿Qué es el G-Code?

El G-Code, también conocido como RS-274, lenguaje de programación G, o ISO-Code, es el lenguaje de programación más empleado en máquinas de control numérico (CNC).

El código G-Code no es exclusivo de la impresión 3D. Por el contrario, es ampliamente empleado en todo tipo de máquinas como tornos, fresadoras, corte por láser, desde muy pequeñas hasta de tamaño industrial.

Un fichero en G-Code está formado por un conjunto de instrucciones sencillas que indican a una máquina las operaciones que debe realizar. Por ejemplo, desplazar una parte (cabezal, garras, topes), realizar un cambio de herramienta.

Aunque el conjunto de instrucciones está "más o menos" estandarizado, existen distintas implementaciones como por ejemplo la ISO 6983, DIN66025, Siemens, FANUC, Haas. También es frecuente que algunos fabricantes añadan algunas instrucciones para trabajar con sus máquinas.

Cada línea (llamado bloque) de un programa escrito en RS-274 tiene la siguiente forma,

Cada bloque puede tener alguna o todas de esas direcciones aunque, de existir, el orden debe mantenerse. Además, se pueden poner comentarios empezando por ';'

Los significados de cada una de estas letras es el siguiente

NLine number
GMotion
XHorizontal distance
YVertical distance
ZDepth
FFeed rate
SSpindle speed
TTool selection
MMiscellaneous functions
I and JIncremental center of an arc
RRadius of an arc
En internet encontraréis extensos listados con las instrucciones habituales en G-Code, su significado y parámetros

G-Code en impresión 3D

Como vemos, el G-Code es un lenguaje de programación de máquinas CNC y sus distintas implementaciones están pensadas para controlar distintos tipo de máquinas, por lo cual contienen un conjunto de instrucciones muy amplio para poder controlar a todas ellas.

Nuestra impresora 3D no deja de ser una máquina CNC. En este caso el firmware es el que se encarga de interpretar cada línea de G-Code y ejecutar las acciones oportunas en la impresora.

Sin embargo, lógicamente, no todas las instrucciones del estándar son de aplicación en una impresora 3D. Aquí tenéis un listado con algunas de las más importantes y que más frecuentemente encontraremos en el ámbito de impresoras FFF/FDM.

CódigoSignificado
M0Parada
M1Sleep
M2Fin de programa
M70Mostrar mensaje en pantalla
M104Temperatura del extrusor
M106Velocidad del ventilador
M107Apagar ventilador
M140 y M190Temperatura de la cama
M116Esperar que temperaturas se estabilicen
M112Parada de emergencia
G0Movimiento rápido
G1Movimiento controlado
G4Pausa
G10Retracción
G11Desretracción
G20Establecer unidades en pulgadas
G21Establecer unidades en milimetros
G28Mover al origen (Home)
G29Autonivelado
G90Posicionamiento absoluto
G91Posicionamiento relativo
G92Establecer posición

De esta forma, el fichero que antes hemos visto, significa lo siguiente.

Conclusión

Hemos visto qué es el G-Code, un lenguaje de programación para máquinas CNC, ampliamente empleado en la industria, y del que existen distintas implementaciones para todo tipo de máquinas, incluidas nuestras impresoras 3D.

El G-Code está formado por un conjunto de instrucciones sencillas que indican a la impresora los trabajos a realizar para conseguir imprimir la pieza correctamente.

En la mayoría nuestra función con el será únicamente traspasarlo a la impresora para ejecutar el trabajo. Aunque, en ocasiones, podemos hacer modificaciones a mano para añadir ciertas funciones.

Hasta aquí la entrada sobre G-Code en impresión 3D. En la próxima entrada empezaremos a ver las partes de una impresora FFF/FDM. ¡Hasta pronto!

Si te ha gustado esta entrada y quieres leer más sobre diseño e impresión 3D puedes consultar la sección impresión 3D

Anuncio:

Previous Cómo emplear un ESP8266 como servidor de un API Rest con Json
Next Ventana clásica de creación de proyectos en Visual Studio 2019
1000