En términos generales, G-code es un lenguaje mediante el cual las personas pueden decir a máquinas herramienta controladas por computadora qué hacer y cómo hacerlo. Esos «qué» y «cómo» están definidos mayormente por instrucciones sobre adonde moverse, cuan rápido moverse y que trayectoria seguir. Las máquinas típicas que son controladas con G-code son fresadoras, cortadoras, tornos e impresoras 3D.
La primera implementación del control numérico se desarrolló en el Laboratorio de Servomecanismos del MIT a principio de los años 50 del siglo XX. En las siguientes décadas se desarrollaron una gran cantidad de implementaciones de mano de multitud de organizaciones comerciales o no. El G-code se ha usado a menudo en estas implementaciones. La versión más común enEstados Unidos es la propuesta por Electronic Industries Alliance a principio de los años 60 del siglo XX. En febrero de 1980 se aprobó una revisión final con el nombre de RS274D. En todo el mundo, en estándar ISO 6983 es el más usado, aunque en algunos países europeos en concreto se utilizan a veces otros estándares como el DIN 66025 alemán o los PN-73M-55256, PN-93/M-55251 polacos.
Los distintos fabricantes de máquinas CNC han añadido todo tipo de extensiones y variaciones al lenguaje, por lo que los operadores de las máquinas deben conocer las peculiaridades concretas que el fabricante ha previsto para su uso.
Existe una versión de G-code conocida como BCL que aunque es considerado un estándar se usa sólo en unas pocas máquinas.
Desde los años 70 hasta los 90 del siglo XX, muchos fabricantes de máquinas CNC intentaron deshacerse de todos los problemas de compatibilidad estandarizando los controladores de las herramientas, construidos por Fanuc. Otra empresa con posición dominante en el mercado de los controladores CNC es Siemens, especialmente en Europa. Ya en la segunda década del siglo XXI, todas esas diferencias e incompatibilidades no causan grandes problemas puesto que el G-code es generado por aplicaciones CAD/CAMque son capaces de generar código adaptado a cada máquina específica.
Algunas máquinas CNC cuentan con una especie de programación «conversacional» consistente en un software parecido a un asistente que de algún modo enmascara el G-code o evita totalmente su uso. Algunos ejemplos son ProtoTRAK de Southwestern Industries, Mazatrol de Mazak, Ultimax de Hurco, Intuitive Programming System (IPS) de Haas, o CAPS de Mori Seiki.
G-code comenzó siendo un tipo de lenguaje bastante limitado que carecía de estructuras como búcles, operadores condicionales y variables declaradas por el usuario. Sin embargo, las implementaciones más recientes de G-code sí que incluyen tales estructuras, creando un lenguaje algo más parecido a lo que podría ser un lenguaje de alto nivel.
Extraido de : es.wikipedia.org