Tutorial donde mostramos paso a paso cómo crear código G (G-code) con SketchUp y CamBam. Mostramos cómo abrir o importar una pieza en Sketchup, cómo generar los trazos en el CamBam, cómo configurar el mecanizado y cómo generar las trayectorias y finalmente crear el código G.

SketchUp, CamBam, Código G

SketchUp

SketchUp ( Trimble SketchUp) es un programa de diseño gráfico y modelado en 3D (tres dimensiones) basado en caras. Para entornos de arquitectura, ingeniería civil, diseño industrial, SIG, videojuegos o películas. Es un programa desarrollado por @Last Software, empresa adquirida por Google en 2006 y finalmente vendida a Trimble en 2012.

SketchUp fue diseñado con el objetivo de que pudiera usarse de una manera intuitiva y flexible. El programa incluye en sus recursos un tutorial en vídeo para ir aprendiendo paso a paso cómo se puede ir diseñando y modelando el propio ambiente.

SketchUp permite conceptualizar y modelar imágenes en 3D de edificios, coches, personas y cualquier objeto o artículo que imagine el diseñador o dibujante. Además el programa incluye una galería de objetos, texturas e imágenes listas para descargar.

Sketchup cuenta con un API en Ruby con comandos para que los usuarios puedan escribir segmentos de programa para cambiar la funcionalidad. Estos pequeños o grandes programas se llaman plugins. Existe una gran variedad de estos con aplicaciones particulares como el dibujo automatizado de techumbres, piezas de acero, cabello, etc.

Sketchup hace la geometría pero existen programas para hacer una representación fotorealista como Kerkythea, Vray, Twilight Render, etc.

SketchUp funciona tanto bajo Windows XP , Windows Vista, Windows 7 y Windows 8 como también bajo Mac OS X. La última versión disponible es la 8.n 2011 Aún no hay una versión disponible para Linux.

SketchUp cuenta con varias versiones para diferentes usos:

  • SketchUp Make: para uso educativo.
  • SketchUp Pro: para uso profesional.

CamBam

CamBam es una aplicación para crear archivos CAM (Gcode, G-code, código G) a partir de archivos de código fuente CAD o mediante su propio editor de geometría interna. CamBam cuenta con numerosos tipos de letra, manipulación de texto y esquemas (glifo) de extracción.

CamBam es una potente aplicación diseñada para ayudar a crear modelos 2D y generar el código G para fresadoras CNC. Se puede utilizar la aplicación para crear un modelo y exportar los datos a un archivo CAM que se utilizará para crear el elemento.

Se pueden importar datos desde archivos DXF 2D y admite operaciones tales como la perforación o el grabado. Las funciones de la aplicación pueden mejorarse usando el soporte de plugins y la capacidad para aceptar secuencias de comandos.

Código G, G-code

G-code es un lenguaje de programación, de los más usados en Control numérico (CNC), el cual posee múltiples implementaciones. Usado principalmente en automatización, forma parte de la ingeniería asistida por computadora. A G-code se le llama en ciertas ocasiones lenguaje de programación G. En términos generales, G-code es un lenguaje mediante el cual las personas pueden decir a máquinas herramienta (se utilizan para dar forma a piezas sólidas) 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 qué 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 y no comerciales. El G-code se ha usado a menudo en estas implementaciones. La versión más común en Estados Unidos es la propuesta por Electronic Industries Alliance a principios de los años 60. 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, 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/CAM que 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 bucles, operadores condicionales y variables declaradas por el usuario. Si 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.

Los G-codes son conocidos también como códigos preparatorios, y se caracterizan por comenzar por la letra «G». Normalmente es un código que indica a la máquina que operación debe realizar. Algunos G-codes:

G00Rapid positioning
G01Linear interpolation
G02Clockwise circular/helical interpolation
G03Counterclockwise circular/helical interpolation
G04Dwell
G10Coordinate system origin setting
G12Clockwise circular pocket
G13Counterclockwise circular pocket
G15/G16Polar Coordinate moves in G00 and G01
G17XY Plane select
G18XZ Plane select
G19YZ Plane select
G20/G21Inch/millimeter unit
G28Return home
G28.1Reference axes
G30Return home
G31Straight probe
G40Cancel cutter radius compensation
G41/G42Start cutter radius compensation left/right
G43Apply tool length offset (plus)
G49Cancel tool length offset
G50Reset all scale factors to 1.0
G51Set axis data input scale factors
G52Temporary coordinate system offsets
G53Move in absolute machine coordinate system
G54Use fixture offset 1
G55Use fixture offset 2
G56-58Use fixture offset 3, 4, 5
G59Use fixture offset 6/ use general fixture number
G61/G64Exact stop/Constant Velocity mode
G68/G69Coordinate system rotation
G73Canned cycle – peck drilling
G80Cancel motion mode (including canned cycles)
G81Canned cycle – drilling
G82Canned cycle – drilling with dwell
G83Canned cycle – peck drilling
G85Canned cycle – boring, no dwell, feed out
G86Canned cycle – boring, spindle stop, rapid out
G88Canned cycle – boring, spindle stop, manual out
G89Canned cycle – boring, dwell, feed out
G90Absolute distance mode
G91Incremental distance mode
G92Offset coordinates and set parameters
G92.xCancel G92 etc.
G93Inverse time feed mode
G94Feed per minute mode
G95Feed per rev mode
G98Initial level return after canned cycles
G99R-point level return after canned cycles

Exportar pieza de SketchUp

Abrir o importar pieza en SketchUp

Abrir la pieza previamente realizada en el SketchUp o importarla si se hubiera realizado en otro programa de diseño CAD.

Crear la superficie en SketchUp

Para que la labor posterior en el programa CamBam resulte mas sencilla es preferible una superficie sin extruir. Si hemos creado la forma de la pieza en el SketchUp esto ya lo hace por defecto, pero si lo hemos importado de otros programas como el AutoCad o simplemente hemos perdido la superficie tendremos que reponerla. Una forma rápida de volverla a crear es trazar una línea con el lápiz de un extremo a otro (preferiblemente desde una arista a otra del trazo). De esta forma el SketchUp lo detectará y se nos crearán dos superficies, puesto que solo queremos una simplemente borramos la línea que hicimos anteriormente con la goma de borrar. Este proceso debemos hacerlo primero para los huecos internos de la pieza creando todas las superficies de agujeros, cajeras y demás huecos, y por último la superficie de la pieza en sí. Por último con la herramienta de selección marcaremos las superficies de los huecos y las eliminaremos.

Crear la superficie en SketchUp
Crear la superficie en SketchUp

Exportar la pieza en formato 3ds

Ahora debemos exportar el modelo 3D en formato “.3ds”. Para ello en el menú «Archivo» pulsaremos en «Exportar» – «Modelo 3D»:

Exportar la pieza en formato 3ds

y en la ventana que nos aparece seleccionaremos «Archivo 3DS (*.3ds)»:

Exportar la pieza en formato 3ds

Tratamiento de la pieza en CamBam

Apertura y generación de los trazos en CamBam

Primero de todo abriremos el archivo 3ds anteriormente exportado con el SketchUp y nos aparecerá una imagen como la siguiente:

Apertura y generación de los trazos en CamBam

Como vemos se ha creado una superficie, la seleccionaremos y pulsaremos en el menú «Editar» – «Superficie» – «Silueta». Nos preguntará el ancho de las rebanadas, marcaremos un ancho superior al espesor de la pieza. Se nos habrán creado tantas polilíneas como siluetas (contorno exterior y contornos interiores) tenga la pieza.

Apertura y generación de los trazos en CamBam

Puede ocurrir que un contorno no esté completamente unido en en el modelo del SketchUp, en ese caso, nos aparecerán varias polilíneas pertenecientes al mismo contorno pero esto no es un problema, pues en el paso siguiente se resolverá tal situación. Podemos comprobar a qué parte del modelo corresponde cada polilínea seleccionando cada una independientemente y viendo en la imagen del modelo de la derecha que parte se nos selecciona en rojo:

Apertura y generación de los trazos en CamBam
Apertura y generación de los trazos en CamBam

Ahora seleccionaremos todas las polilíneas correspondientes a los contornos interiores, como se ve también en la imagen superior, y en el menú «Mecanizado» seleccionaremos «Perfil» y se creará una nueva parte en el mecanizado con un Perfil1:

Apertura y generación de los trazos en CamBam
Apertura y generación de los trazos en CamBam

o es un contorno interior, en las propiedades de Perfil1, situadas en la parte inferior, cambiaremos la propiedad Dentro/Fuera por el valor Dentro:

Apertura y generación de los trazos en CamBam

Ahora haremos el mismo procedimiento para la o las polilíneas pertenecientes al contorno exterior:

Apertura y generación de los trazos en CamBam

salvo en la propiedad Dentro/Fuera que dejaremos con el valor Fuera:

Apertura y generación de los trazos en CamBam

Configuración del mecanizado en CamBam

Además de las configuraciones ya vistas para que el fresado se realice por dentro o por fuera del trazo, habrá que realizar más configuraciones del mecanizado y de sus perfiles pertenecientes.

La primera de ellas será establecer el tamaño del material (opcional), la geometría de la herramienta y algunas opciones para la generación del código G para el mecanizado como se muestra en la siguiente imagen:

Configuración del mecanizado en CamBam

También deberemos configurar algunas propiedades de “Parte1”, en principio con el diámetro y el tipo de la herramienta puede ser suficiente:

Configuración del mecanizado en CamBam

Por último cambiaremos algunas propiedades más de los perfiles que ya se configuraron anteriormente, para el Perfil1: incremento de la profundidad, plano para librar, profundidad requerida:

Configuración del mecanizado en CamBam

Para el Perfil2: incremento de la profundidad, plano para librar, profundidad requerida:

Configuración del mecanizado en CamBam

Puede que durante el cambio de parámetros nos aparezca una ventana de aviso similar a ésta pidiéndonos confirmación de los parámetros que queremos usar, pulsaremos en “Utilice el nuevo valor”:

Configuración del mecanizado en CamBam

Generación de trayectorias y código G

Tras la modificación de algunos atributos del “Mecanizado”, “Parte1” y los perfiles, ya estamos en disposición de generar las trayectorias como paso previo a la generación del código G. Para esto podemos pulsar con el botón derecho del ratón sobre “Mecanizado” y pulsar en “Generar trayectorias”:

Generación de trayectorias y código G

Ahora nos aparecerán las nuevas trayectorias generadas con unas flechitas indicando la dirección de avance del fresado, que si la fresa gira en el sentido de las agujas del reloj, los fresados interiores se harán en este mismo sentido, mientras que los fresados exteriores se harán en sentido contrario para que el acabado de la pieza sea el correcto, como se muestra en la imagen:

Generación de trayectorias y código G

Otra vista útil a la hora de comprobar que las trayectorias generadas sean correctas es la del Plano XZ, para cambiar a esa vista es suficiente con seleccionar dicho plano en el menú «Ver». Puede que no se vean las líneas de trayectorias pues están dentro de la pieza y si cada perfil solo tiene una trayectoria no aparecerán líneas de avance rápido.

Para generar el código G perteneciente a las trayectorias de la pieza, pulsaremos con el botón derecho del ratón sobre el mecanizado y seleccionaremos «Producir Código G (Gcode)» en el menú emergente:

Generación de trayectorias y código G

Por último, si lo deseamos, podemos guardar el proyecto de mecanizado con el programa CamBam de la forma habitual.