Post procesadores para G-code.
En pocas palabras, el Post procesador es un archivo de código que convierte lo que dibujamos (siempre ha de ser vectores) en un lenguaje de programación llamado G-code o Código G o también llamado código ISO. Y el archivo que crea el post procesador a partir de lo que hayamos dibujado, es el que le va a indicar a la maquina CNC que movimientos tiene que realizar para conseguir materializar nuestro dibujo.
Empecemos por el principio.
Partamos de la base de que una maquina CNC se mueve por coordenadas absolutas. Esto quiere decir que todo movimiento a de ser en referencia a la coordenada 0 respecto al eje X, Y o Z. Partiendo de esta base, si queremos crear una linea recta que empiece en la coordenada X0 e Y0 y tenga un largo de 200mm y 0 grados, deberíamos crear una linea de código como la siguiente:
G0 X0 Y0
G1 X200 Y0
( En la primera linea, indicamos a la maquina que se mueva desde su posición de parking hasta las coordenadas 0 en X y en Y)
( En la segunda linea indicamos a la maquina que se desplace 200mm de la coordenada X y se mantenga a 0 en Y. A si conseguimos una linea recta)
De esta manera y creando una linea de código para cada movimiento, conseguimos que la maquina CNC realice los movimientos necesarios para conseguir crear lo que habíamos pensado partiendo de un dibujo realizado con vectores.
Esta era la manera en que se programaba antiguamente, y es como yo aprendí cuando comencé en este mundo, programando linea a linea cada uno de los movimientos de la maquina.Con el tiempo, se ha ido avanzando en la programación del CNC y lo primero que apareció, o almeno en mi caso, fue un programa que podía reconvertir lo que dibujabas en Autocad a lenguaje G-Code. Y aqui fue donde empezaron a aparecer los Post Procesadores para CNC.
A partir de este momento empiezan a aparecer los programas CAD-CAM, esto quiere decir que dentro del mismo programa hay una parte para crear el diseño (CAD) y otra parte para aplicar las opciones del mecanizado (CAM). Hoy en día existen multitud de programas CAD-CAM como Alphacam, Bobcad cam, DDX, Artcam, Vcarve Pro o el que yo utilizo, Aspire.
Todos estos programas utilizan diferentes post procesadores, dependiendo de la maquina CNC con la que se va a mecanizar.
Ahora si… ¿que es el post procesador?
Como ya dije anteriormente, el post procesador convierte lo que dibujamos en codigo G, ¿y como lo hace?, pues con una serie de comandos fijos y variables. Ahora lo vemos mas detalladamente…
Partimos de la base de que el Codigo G es un lenguaje que todas las maquinas CNC interpretan exactamente igual, o así debería de ser, ya que cada fabricante modifica este lenguaje G-code a su antojo, ¿y por que lo hacen, si en teoría es un lenguaje universal que todas las maquinas CNC leen igual?. Pues que cada uno saque sus propias conclusiones, $$ yo tengo la mía $$.
Bien, como cada fabricante utiliza su propio G-code modificado, hace falta un post procesador diferente para cada fabricante y o maquina CNC.
Por ejemplo, Mach 3 es un programa controlador de CNC que utiliza codigo G de lo mas simple. Y cada archivo de G-code se compone de Cabecera movimientos y pie.
Cabecera
- ( Cuadrado 20×20 )
( File created: Monday April 16 2018 – 01:49 PM)
( for Mach2/3 from Vectric )
( Material Size)
( X= 500.000, Y= 500.000, Z= 16.000)
()
(Toolpaths used in this file:)
(Profile 1)
(Tools used in this file: )
(3 = FRESA 3mm)
N100G00G21G17G90G40G49G80
N110G71G91.1
N120T3M06
N130 (FRESA 3mm)
N140G00G43Z20.000H3
N150S12000M03
N160(Toolpath:- Profile 1)
N170()
N180G94
Movimientos
- N190X0.000Y0.000F2000.0
N200G00X0.000Y0.000Z6.000
N210G1Z-1.000F1200.0
N220G1Y200.000F2000.0
N230G1X200.000
N240G1Y0.000
N250G1X0.000
N260G00Z6.000
N270G00Z20.000
N280G00X0.000Y0.000
Y Pie.
- N290M09
N300M30
%
Puesto que para cada maquina hay que crear un G-Code distinto, el post procesador tiene una seria de comando fijos y variables para crear el G-Code correspondiente.
Los comando fijos son aquellos que siempre son iguales y van colocados en un punto concreto para que cuando la maquina vaya leyendo las lineas haga algo en concreto, por ejemplo, encender el mandrino antes de comenzar a moverse para realizar un mecanizado y pagarlo al terminar el trabajo y volver al Parking.
Las variables son partes que tendrán un valor u otro dependiendo de lo que hayamos programado en el software CAD-CAM en mi caso Aspire. Por ejemplo, en la linea que muestra la herramienta que se va a utilizar, se mostrara la que elijamos en Aspire, y como es una variable, cada vez que elijamos una herramienta distinta, ese valor en el G.Code cambiara a la herramienta elegida.
Espero haber resuelto vuestras dudas y si me he confundido en algo estaré encantado de rectificarlo o añadir alguna información que falte.
P.D. Quiero puntualizar algo. desde esta web he ayudado o al menos lo he intentado a todo aquel que me lo a pedido. En ninguna de estas ocasiones he cobrado nada, a excepción de encargos concretos de trabajo. Ademas artículos como este me llevan un tiempo que no empleo en otras cosas, pero lo hago por que me gusta, y como me gusta compartir mis conocimientos, también me gusta que la gente me corrija cuando escribo algo erróneo, de hecho con ello aprendo y aumentan mis conocimientos. Pero a partir de ahora no aceptare comentarios fuera de tono o mal educados y serán baneados en cuanto los vea. A excepción de los «señores» equis y Juan que amablemente escribieron en los comentarios indicándome con «mucha educación» que el articulo no correspondía con el titulo. Pero como yo si tengo un mínimo de educación y reconozco mis errores, aquí esta escrito el articulo que en su día debí escribir.
Hola Marcos de nuevo, he abierto con el bloc de notas un post procesador de PhotovCarve y no lleva «tantos datos», aunque hay que saber lo que significan y lo que son, me esperaba algo mucho mas complejo, la pena es que no hayan tutoriales sobre como poder modificarlos y entender lo que es cada cosa. Saludos
En el propio Vcarve hay un manual
Como lograr códigos g para un eje A en el cabezal del CNC
No vale verga tu post, en ningun momento explicas que es un postprocesador, te ciclas en explicar datos curiosos y redundancias que a nadie le importan y terminas sin decir lo que son, gracias por nada, post inutil
Gracias por visitar la web, intentaré mejorar el artículo.
Vamos a mi me quedó bastante claro lo que es. Si tu comprensión lectora es una mierda, no es nuestro problema.
Pesimo, nada que ver el titulo con el contenido.
No decis nada. Dedicate a otra cosa.-
Gracias Juan por tu «constructiva» critica.
Esta es una entrada que realice hace mucho tiempo, y que como bien dices, el contenido no corresponde con el titulo. Un error de redacción de novato, empiezas queriendo contar algo y se te va la cabeza y acabas contando algo completamente diferente.
Te agradezco el comentario, de hecho voy a redactar completamente el articulo y esta vez el contenido si va a corresponder con el titulo.
Pero quisiera darte un apunte, y es, que las cosas se pueden decir de muchas maneras, aunque supongo que eso ya es cuestión de educación.
Muchas gracias por hacerme mejorar.
Hola muy bueno lo que dices, te pregunto quiero usar el aspire con una maquina con un dsp a18 de 4 ejes es China
No logro hacer funcionar correctamente el rotativo
Me podrías ayudar
Hola Pablo, desde aquí es difícil de resolver cada fabricante configura la maquina de una manera diferente, y sin estar delante de la maquina, yo al menos no sabría decir cual es el problema.
Yo he utilizado aspyre para hacer los cortes en 2d. El problema mío actualmente es que han agregado más ejes a la máquina para y necesito hacer cortes en 3d y nose como pasarlo al aspyre o si solamente este programa es solo para cortes planos.
Tendrás algún código G de más ejes que puedas compartirme ya que he terminado editando manualmente todos los cortes en 3d. Porque tenemos una nueva máquinaria con más ejes
Hola Javier, que yo sepa, Aspire solo trabaja con 3 ejes, no es cuestión de post-procesador, es tema de Aspire.
muchas gracias por su explicación ha sido muy clara, he terminado de armar mi cnc, he descargado Aspire, pero he tenido dificultades con encontrar un sitio que permita su activación free…felicidades
Gracias Wladimir, me alegro que le haya sido útil.
Gracias, esto es de gran ayuda…
Hola, Gracias por tu explicación, me compre una maquina cnc basada en arduino, intento utilizar aspire 9 para grabar, pero no se que postprocesador elegir, ya que probé con varios pero en algún momento del grabado la cnc se pierde. ¿Como se que postprocesador elegir? vino con un archivo de muestra «.ngc»
Lo mejor es coger un archivo ya creado para esa maquina e ir probando los post hasta encontrar uno que la estructura sea similar y terminar de adaptarlo.
Yo tambien tengo una cnc basada en arduino y trabajo con aspire 8.5 y 9.0, se pueden usar varios post-procesadores, pero en la lista existe uno especifico para GRBL, se puede usar este como otros.
Gracias por el aporte 🙂
Buenas tardes, mi pregunta es referente a un caso que llevo rondando algun tiempo. No es otro que hacer que el postprocesador de la mecanumeric 3015 pueda trabajar con Aspire 8.0/9.0. Gracias
Hola Alexis. Para hacer el Post procesador necesito tener más datos, por ejemplo saber que tipo de archivos usa tu máquina y si es posible que me envíes un archivo menos, así puedo estudiarlo.
Buenos dias, mi nombre es alejandro y tengo una carpinteria en sevilla.
Nosotros tenemos una maquina SCM RECORD 122 NWT y nos pasa que cuando paso un copiado desde aspire, la maquina va dando tirones y no se como solucionarlo.
La maquina la gobierna el cnc NUM 1040 a travez del programa xilog3 instalado en windows xp. Espero que me puedas ayurdar y muchas gracias de antemano.
Hola Alejandro, eso parece ser problema de la programación, mas que del post procesador.
Ese problema suele pasar cuando los vectores son Splines en vez de polilineas. Prueba a redibujar los vectores y asegúrate que dibujas lineas y arcos en vez de splines.
Buen día, ojala me pueda ayudar, tengo una fresita, con bobcad, y trabajaba, de un par de meses que no la use, y retomarla, no funciona, bueno la maquina utiliza en el software el bobcad y el march3, con windows 7. al encender la computadora y abrir el bobcad y realizar los trazos hasta ahi todo bien al realizar el codigo g, solo aparecen 5 o 6 renglones.
Y al encender la fresita, y abrir mach3, se escucha un tic . tic, tic, tic, . No se si es le bobcad, si es el mach3, o es la fresita. YA pregunte a bobcad y la respuesta es que desconocen que es lo que posiblemente haya pasado. y me sugieren comprar una renovación. en donde compre la maquina, su sugerencia es que desinstale el bobcad, previo aviso a bobcad,. A su vez bobcad no tiene los controladores de esa versión. Bueno la pregunta es como se que controlador usa. O alguna manera de cerciorarme que es lo que falla. Por que una licencia no es nada barata. Por su atención y tiempo. Gracias
Hola Armando. Se me ocurren dos opciones, 1- que el spindle o su variador se hayan roto. 2- que en el código G haya algo mal. Copia aqui el código G, he intento echarle un vistazo.
Marcos gracias por toda la información que tienes en la web y en tu canal de Youtube, me esta siendo de mucha utilidad.
Soy un electromecánico con experiencia en impresión 3D que esta ayudando a un amigo carpintero que se acaba de comprar un router CNC y no tiene mucha idea de todo este mundillo.
Gente como tu es la que hace grande internet.
Muchas gracias Israel. Me alegro que os sirva de ayuda, y gracias por seguirme.
Hola.como puedo saber el post procesador correcto para mi cnc? utilizo aspire y tengo la cnc shield
Hola Facundo, nunca he usado una shield, pero lo normal es que tú CNC te indique qué tipo de archivo usa, o la extensión, por ejemplo, .txt .nc .cnc …
Y luego busca el Post con esa extensión.
Excelente información Marcos, tengo una duda y si es posible me gustaría tu ayuda.
Intento modificar un post procesador de mastercam ya lo he hecho anteriormente, pero a ciegas (prueba y error) y me gustaría saber ¿cuál es el lenguaje en el que está escrito el procesador? para poder realizar los cambios que necesito.
De ante mano gracias.
Hola Edgar, el lenguaje debería de ser Gcode, pero cada fabricante de maquinaria y software, lo modifica, y por es a veces se complica.
A i me parece muy claro, buen aporte.
Gracias Alfonso
Hola Marcos, podrías decirme si puedo instalar un post procesador marlin en aspire, intenté del modo que lo explicas pero no lo toma,
Pues no lo sé, sinceramente. Pero para que sería exactamente? Marlin está pensado para impresoras 3D. Y no creo que puedas usar Aspire para trabajar con una impresora 3D.
excelente articulo me sirvió bastante. Muchas gracias
Hola Marcos
Me puedrias decir cual es el G-Code par una Biesse B 4.45 que necesito para que pueda
leer la informacion
Cuando creamos un dibujo de una estrella en 3d con Vectric lo convertimos en un dxf y lo insertamos la maquina pero solo reconoce la esrtella (5 puntas)
Los formatos que acepta son:dxf,cid,cix,codigo cn,dxfo,cido,iso,
Creo que no se decirle bien el formato o el G-Code para que lo reconozca
Gracias
Hola Jose.
Primero necesito saber que placa controladora usa tu cnc, ya que me es imposible conocer todos los modelos de cada marca.
Por otra parte, si creas un modelo 3D, no vas a poder importarlo en la Biesse, ya que las extensiones que me comentas, ninguna corresponde a formatos de 3D.
La opción seria programar todo en Aspire, y generar el Gcode, para cargarlo directamente en la maquina. Pero tendría que saber que placa usa tu maquina.
Te adelanto, que si usa una placa NC500, no hay nada que hacer. Ya que esa placa es imposible de configurar con Aspire. Y esta es una información que me han dado directamente de Biesse.
Hola te Felicito por tu información resuelve la duda y te imagino que eres un genio en el cnc, ya que aprender a programar linea por linea es muy complicado. Para mi que estoy aprendiendo se ha complicado y me ayuda la tecnología. Yo creo que mi CNC que es China se programaba asi, pero bueno ya le cambie la tarjeta a Mash3 e Utilizo Vestric. Me queda un duda en Post procesadores hay varias opciones G-code, ¡cual es la diferencia? Gracias de antes mano
EL lenguaje G-code, debería de ser siempre igual, ya que es un lenguaje único, pero hay variaciones que crean los fabricante, y por eso hay diferentes post-procesadores, dependiendo de la marca y modelo.
ESTOY BUSCA UN POSTPROCESADOR DE ASPIRA PARA CN BIESSE ROVER A3.30, no se si es el sitio correcto, si no es asi perdona ,un saludo,
Hola Fernando, el post de Biesse es bastante complejo, prueba con los que vienen en Aspire, si no te funciona ninguno, habría que hacerlo. También te digo, que si tu maquina trabaja con una placa NC500, no hay nada que hacer.
Hola Marcos
Gracias por tu respuesta, creo que la placa es CN600,los que vienen con Aspire no me funcionan, un saludo.
Pues habría que crear un post procesador especifico para tu maquina.
hola amigo, ojala y me puedas ayudar con el postprocesador de bobcadcam y mach 3, el problema es un plasma que al iniciar el corte de una pieza no avanza. lo que hace es posicionarce en donde va a comensar el corte, baja la antorcha la enciende el plasma pero no avanza, para iniciar el proceso de corte.
pero si lo hago de forma manual que es saltándome el código
G04 P0.2 y posicionarla en en G01 que donde ya va iniciar el recorrido del corte, en ese punto bajo la antorcha manualmente, enciendo la antorcha manualmente y le doy click en iniciar ciclo, ps ya hace el corte. pero no debería de ser asi ya que debería ser en automatico. entonces lo que note es que no pasa de G04 P0.2 pero si cambio a P0 lo hace en automatico sin hacer nada del procedimiento ya descrito, como le haría amigo para cambiar mi post para que me genere en automatico el P0, o que significa el código P0
Lo siento, pero no trabajo con Bobcadcam