Apuntes del taller

El G-code solo son instrucciones

El G-code solo son instrucciones

Antes me intimidaba el G-code. Parecía vómito de terminal. G0 aquí, G1 allá, M3, M5, avances, velocidades de husillo, coordenadas con más decimales de los que parecían razonables. Luego pasé una tarde viendo cómo una fresadora de tres ejes cortaba un cartel en MDF mientras el operario leía el periódico tranquilamente. Me di cuenta de que el G-code no es la parte de neurocirugía. El pensamiento ocurre antes de que el código exista.

El G-code es solo una lista de instrucciones. Muévete aquí. Gira a esta velocidad. Baja hasta esta profundidad. Avanza a este ritmo. Si la geometría está limpia y los avances y velocidades coinciden con el material, la máquina hace el resto. Ese es el trabajo: convertir un buen diseño en buenas instrucciones.

Los toolpaths son decisiones, no valores por defecto

Cuando preparo un trabajo de optimización de toolpaths CNC para muebles, lo primero que pregunto no es “¿qué software usas?”. Es “¿qué vas a cortar y con qué?”. La misma fresa en madera dura y en contrachapado blando se comporta de forma completamente distinta. El mismo material en una fresadora industrial rígida y en una máquina de sobremesa para hobby quiere avances diferentes. No hay un botón universal.

Suelo trabajar con fresas de carburo de compresión o de corte ascendente de 6mm y 8mm para contrachapado, y fresas de una sola filo de 3mm para detalles o aluminio. Para una hoja de contrachapado de abedul de 18mm en una fresadora de tres ejes razonablemente rígida, una fresa de compresión de 6mm podría correr a 12.000–14.000 RPM con un avance de unos 1.200–1.800 mm/min y una profundidad de pasada de 6–9mm por pasada. Esa es una ventana de inicio conservadora para un taller que quiere oír el corte antes de apretar. En una máquina rígida con buena sujeción suelo correr a 16.000–18.000 RPM y 2.500–4.000 mm/min en el mismo material. Esos números cambian según la máquina, la sujeción y si el taller quiere cuidar la herramienta o apretarla.

Lo importante es que entrego el razonamiento, no solo los números. Si un taller ve un avance que le parece agresivo para su máquina, puede ajustarlo. Si le parece tímido, puede acelerar. Si no ve notas, adivina.

Avances y velocidades en contexto

El avance es la velocidad a la que la fresa se mueve a través del material. La velocidad de husillo es la rapidez con la que gira. La carga de viruta es el bocado que cada filo toma por revolución. Si la carga de viruta está mal, o bien quemas la fresa o la rompes.

Para contrachapado, busco una carga de viruta en torno a 0,05–0,1mm por filo para una fresa de 6mm, según tenga dos o un filo. Para MDF, ligeramente más, porque el material es más blando y tolerante. Para aluminio, carga de viruta mucho menor, más refrigerante o soplado de aire, y normalmente una estrategia predominantemente en concordancia para que el calor se vaya con la viruta en lugar de quedarse en la herramienta.

También separo las operaciones por intención. El desbaste limpia material rápido con una fresa mayor y deja un pequeño margen de acabado. El acabado vuelve con una fresa más pequeña o una pasada más ligera para dejar bordes limpios. El taladrado o picoteo se encarga de los agujeros. El corte de perfil hace los contornos exteriores, normalmente con una pasada de acabado en el último milímetro o dos para dejar una arista limpia.

Cuando ofrezco una generación de G-code para CNC router, incluyo toolpaths separados con nombres claros: 1_desbaste_bolsillo_6mm, 2_acabado_perfil_6mm, 3_taladros_3mm, 4_ranuras_bisagras_4mm. Los nombres importan. Un operario confuso te llama a las ocho de la tarde.

Pestañas, rampas y lo que nadie modela

La geometría en CAD es perfecta. El material sobre la mesa no. Por eso añado pestañas para mantener las piezas pequeñas unidas a la chapa hasta que el operario las desprenda. Añado entradas en rampa o hélice para que la fresa no baje verticalmente y queme un agujero. Añado puentes o entradas tangenciales que eviten empezar en un borde visible.

Aprendí la lección de la rampa a base de golpes. Al principio envié un archivo con bajadas verticales en contrachapado de 18mm. El operario lo ejecutó de todos modos porque asumió que sabía lo que hacía. La fresa se sobrecalentó en el tercer agujero, astilló un filo y dejó un anillo quemado que se veía a través de la pintura. Ahora todo plunge es una rampa salvo que haya una muy buena razón, y anoto esa razón.

Qué entrego

Para un trabajo típico de router, la carpeta contiene:

  • Los archivos G-code, uno por herramienta y operación, con nombres claros.
  • Una hoja de setup con material, grosor, herramienta, punto de origen y altura Z segura.
  • La geometría original en DXF o SVG por si el taller quiere regenerar los toolpaths.
  • Una imagen renderizada de preview que muestra qué zonas son bolsillos, perfiles y taladros.

No entrego un único archivo misterioso llamado job.nc y espero lo mejor. El objetivo es eliminar la ambigüedad antes de que la máquina arranque.

El G-code no es el producto

El producto es la pieza física que sale de la máquina. El G-code es el sobre en el que viaja. Un buen diseño con mal código da una mala pieza. Un mal diseño con código perfecto da una mala pieza más rápido.

Por eso modeló con el toolpath en mente. Evito esquinas internas diminutas que una fresa redonda no pueda alcanzar. Mantengo los bolsillos a profundidades que la longitud de corte disponible pueda manejar. Pienso en el acceso de sujeción mientras la geometría aún es fácil de cambiar.

Si te estás metiendo en CNC, mi consejo es sencillo: aprende a reconocer un buen G-code, pero dedica más tiempo a aprender qué es una buena geometría para G-code. El código se aprende en un fin de semana. El criterio de geometría lleva más. Yo todavía lo estoy construyendo.