Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Para que tu nueva impresora 3D pueda correr este lenguaje de instrucciones, el firmware de la
impresora debe soportar el formato .gcode.
G1 X10 F3600
Esto representa una línea de código y es una instrucción única para la impresora 3D.
También podemos crear muchas líneas de código, cada una indicando una instrucción distinta a la
impresora. Por ejemplo,
1 G1 X0 Y0 F2400 ; mover el extrusor a la posición X=0 y Y=0 de la cama, a una velocidad de 2400
mm/min.
2 G1 Z10 F1200 ; mover el eje Z a la posición Z=10 mm, a una velocidad de 1200 mm/min.
3 G1 X30 E10 F1800 ; pasa 10 mm a través de la boquilla mientras mueves el extrusor a la posición
X=30 mm.
Estas 3 líneas de código le indican a la máquina 3D que debe moverse a las provisiones indicadas en
los comentarios y a la velocidad indicada.
Las letras del Código G para Impresoras 3D
Cada línea de código está compuesta por diferentes combinaciones de letras y números. Cada
combinada le indican algo específico a la impresora. A continuación, vemos el significado de cada
letra:
Más abajo vemos cómo el número puede influenciar bastante la ejecución de la tarea de impresión
3D.
F3600. El número 3600 indica el valor de velocidad a la que debe moverse el brazo de la impresora
3D. En este caso, es 3600 mm/min.
E20. El 20 representa la cantidad de filamento que debe ser pasada a través del extrusor. En este
caso, es 20 mm.
X15, Y10. En este caso, el 15 indica los milímetros que debe moverse el extrusor en el eje X,
mientras que el 10 indica que debe moverse 10 mm en el eje Y.
Z10. En este caso, la impresora debe elevar el extrusor 10 mm hacia arriba en el eje Z.
G1. En este caso, el 1 no representa un valor geométrico. Solo se usa para indicar el tipo de
comando que se quiere enviar. En este caso, G1 indicar que el comando es un movimiento lineal.
M104. Al igual que en el caso del comando G, El número 104 del comando M no representa un
valor geométrico sino que se usa para indicar una función que se debe realizar. El M104 es un
comando de máquina usado para iniciar el calentamiento del extrusor.
S255, S0, S127. Cuando se usa el comando S para representar la velocidad de ventilación, el
número que lo acompaña puede estar entre 0 y 255. 0 representa el 0% de velocidad, es decir,
apagado, y el 255 representa el 100 % de la velocidad, es decir, velocidad máxima.
Argumentos en los Códigos Gcode
Los comandos G y M pueden requerir argumentos para que la instrucción sea completada.
El resto de los comandos E, F, X, Y o Z junto con sus números de valor sirven de argumentos para
los comandos G y M. Por ejemplo,
G1 E10 F800
G1 es el comando G que especifica un movimiento lineal. E10 y F800 son los argumentos del
comando que especifican empujar el filamento 10 mm a través de la boquilla y hacerlo a una
velocidad de 800 mm/min, respectivamente.
Un movimiento absoluto requiere indicar la posición específica dónde quieres que vaya el.extrusor
sobre la cama. En estos casos, los valores indicados en X, Y y Z representan valores exactos en
milímetros sobre la plataforma de impresión.
Al pedir una ubicación relativa, le dices a la máquina 3D que se mueva ciertos milímetros desde la
ubicación actual del extrusor.
El movimiento absoluto es mayormente usado en los códigos G ya que los slicers suelen conocer la
posición cero de la impresora 3D y suelen determinar previamente las opciones exactas a dónde
moverse.
El comando G90 pide un movimiento absoluto, mientras que el comando G91 pide un movimiento
relativo. Más adelante, veremos ejemplos de estos comandos.
El comando E – Extrusor
El extrusor es controlado como si fuera un eje adicional en la impresora 3D. En este caso, la letra E
se usa para representar el eje del extrusor y suele ser usada en muchos comandos de movimiento
como un eje más.
En el siguiente ejemplo se muestra como se le pide al extrusor que pase 2 mm de filamento a través
de la boquilla. El comando G1 indica que el comando es lineal, como pasa con los ejes X, Y y Z.
G1 X7 Y18 F500 E2
G1 Z18 F2400
Se usa para pedir un movimiento lineal del eje Z. La impresora 3d debe elevar el extrusor 18 mm
hacia arriba a una velocidad de 2400 mm/min.
Está instrucción pide un movimiento lineal de los ejes X y Y en un solo comando. El extrusor debe
moverse hasta la posición X=10 mm y Y=10 mm de la cama de impresión. En ambos casos, debe
ejecutarse a una velocidad de 1200 mm/min.
Por otro lado, como el extrusor es tratado como un eje adicional, se puede usar el comando E
dentro de las instrucciones para pedir el empuje de filamento a través de la boquilla, como se
muestra a continuación:
G1 X30 E10 F1800 ; pasar 10 mm de filamento a través de la boquilla a una velocidad de 1800 mm/min
y, al mismo tiempo, mover el extrusor a la posición X=30 mm.
Por ejemplo,
G2 X15 Y5 I0 J-12
Se pide que el extrusor realice un movimiento circular en el sentido de las agujas del reloj. El eje
central lo tendrás desplazando 0 mm en el eje X y -12 mm en el eje Y. El movimiento termina
cuando el extrusor alcance las posiciones X=15 mm y Y=5 mm.
El comando G3 usa los mismo parámetros pero específica que el movimiento circular se ejecutar en
sentido contrario al de las agujas del reloj. Por ejemplo,
Para un movimiento absoluto, el extrusor se mueve a una ubicación específica en los ejes X, Y, Z y E.
El comando G90 se usa para especificar un movimiento absoluto. Un ejemplo se muestra a
continuación:
G90
El movimiento relativo implica que el extrusor avanzará ciertos milímetros en alguno de los ejes
desde su provisión actual. Esto se especifica con el comando G91, tal como se muestra en el
siguiente ejemplo:
G91
G1 X10 Y10 F2400
Con código Gcode se puede hacer iniciar la secuencia de Home con el comando G28, como se
muestra a continuación:
G28
Este es el comando sin el uso de argumentos y totalmente válido para llevar a los 3 ejes a su
posición de Home.
Si queremos hacer Home de 1 o 2 ejes en específico, lo podemos hacer usando argumentos como
se muestra a continuación:
Por ejemplo,
G0 X5 Y10
G17 establece el plano en los ejes X y Y. En este caso, el círculo va alrededor del eje Z. Este es el
plano predeterminado en todas las impresoras 3D.
G18 establece el plano en los ejes X y Z, mientras que G19 establece el plano en los ejes Y y Z.
Ambos comandos cambian el significado de los parámetros I, j y k para los comandos G2 y G3.
Estos comandos se usan cuando realizar interpolación circular y, para ello, deben estar
acompañados de los comandos G02 y G03.
G18
El comando G20 establece que las medidas sean en pulgadas, mientras que G21 las establece en
milímetros. Sería algo así para pulgadas,
G20
G0 X5 Y13
G21
G0 X5 Y13
Los comandos M
Los Comandos M son comandos a nivel de máquina que permiten ejecutar acciones no
geométricas. Por ejemplo, encender o apagar el ventilador, subir o bajar temperatura de la boquilla,
etc. Los comandos M arrancan con una M ( de allí su nombre).
El comando M104 inicia el calentamiento del extrusor y al mismo tiempo permite la ejecución de
otras acciones por parte de la impresora 3D. Por ejemplo:
M104 S190 T0 ; Iniciar el calentamiento del Extrusor T0 hasta 190 grados centígrados.
El comando M109 ejecuta el calentamiento del extrusor pero no permite ejecutar otras actividades
hasta que se alcance la temperatura programada.
M109 S190 T0 ; esperar a que el Extrusor T0 alcance los 190 grados centígrados para poder hacer
alguna otra acción.
En este caso, S especifica la velocidad del ventilador y 255 es el valor de velocidad máxima, siendo
255 = 100 % de la velocidad.
En el ejemplo siguiente, la velocidad del ventilador es ajustada a 50% con el 127 (255/2)
acompañando a la S.
M106 S127
M106 S0
Por otro lado, el comando M190 se usa para bloquear cualquier otro comando hasta que se alcance
la temperatura programada. En el ejemplo, a continuación, se muestra como programar el comando
M190:
M190 S50 ; Calentar hasta 50 grados centígrados. Esperar alcanzar esta temperatura para poder
ejecutar algún otro comando.
En el programa slicer, configuras los parámetros de temperatura, velocidad de ventilador, etc. Todo
lo haces con ventanas fáciles de manejar.
Cuando haces la compilación del código y lo envías a la impresora 3D, el slicer convierte esos
parámetros en comandos M.
El slicer también filetea el modelo 3D (que vino en formato stl) y lo convierte en código G
(Comandos G).
También puedes crear Gcode desde cero como se explica a continuación:
Para las impresoras Open source RepRap se suele usar el muy popular firmware Marlin. Todas las
impresoras 3D DIY que tienen este firmware respetan los comandos estándares de código G
indicados al principio de este artículo.
Para crear tu código G desde cero solo necesitas un editor de texto como notepad++ y empezar a
escribir las instrucciones y comandos para el firmware de tu impresora 3D.
Nota: no recomendamos realizar la creación de Gcode desde cero a menos que estés muy
especializado en programación de lenguaje máquina. Ten en cuenta que un comando mal colocado
puede causar daños a tu impresora.
Slicers como Simplify3D, Cura o Slic3r tienen herramientas para la edición y prueba de las
instrucciones que vas creando paso a paso
https://notepad-plus-plus.org/downloads/
https://www.simplify3d.com/public/3DP-Gcode-Styling.xml
Comandos Gcode Marlin
El lenguaje máquina que usa Marlin para el control de las impresoras 3D es un derivado de gcode y,
por ende, su parecido a inminente. Veamos los códigos gcode para el firmware Marlin más
importantes, a continuación:
Todos los ejemplos fueron tomados desde la página oficial del firmware Marlin.
G0, G1 – Movimiento Lineal
Permite agregar un movimiento lineal al conjunto de movimientos que ya se encuentra en la cola de
ejecución.
Ejemplo
G0 X12 ; mover hasta 12 mm en el eje X
Ejemplos
G2 X125 Y32 I10.5 J10.5 ; mover en un arco en el sentido de las agujas
del reloj desde la posición actual hasta [125, 32] con un desplazamiento
desde el centro de (10.5, 10.5).
G4 – Pausa
Ejecuta un comando de pausa de todos lo comandos por un periodo de tiempo.
Ejemplo
G4 P500 ; Pausar por 1/2 segundo
Ejemplo
G10 ; Retraer
• Trazos rectos.
• Zigzag.
• Trazos circulares.
Ejemplos
G12 ; trazos rectos (default)
Ejemplos
G28 ; ir todos los ejes al punto de origen