Cree una impresionante geometría en 3D mediante la programación del código CNC: 8 pasos (con fotos)

Cree una impresionante geometría en 3D mediante la programación del código CNC: 8 pasos (con fotos)

Tabla de contenido:

Anonim

El mecanizado CNC facilita el corte de formas muy precisas y consistentes. Pero a menudo se limita a cortar formas 2D, por razones obvias. Mientras aprendía a usar el CNC hace un tiempo, profundicé más en la creación de geometría 3D inspiradora con la ayuda de la programación. Esto me dio el conocimiento para poder crear trayectorias personalizadas más rápidas y eficientes que habrían sido más difíciles o imposibles de configurar con el software CAM estándar.

En este instructivo, lo guiaré a través del proceso de creación de geometría matemática avanzada utilizando la programación en combinación con el mecanizado CNC. El conocimiento que obtendrá de él le permitirá configurar trayectorias de herramientas más sofisticadas y eficientes y evitará que se le restrinjan los límites de su software CAM.

Gran parte del conocimiento en este instructivo se basa en la investigación de Jens Dyvik. Muchos de los ejemplos que se darán se hicieron usando el Colinbus en Fablab Genk, pero algunos también se hicieron en un Shopbot. Las máquinas que he usado están configuradas en el sistema métrico, así que no te confundas con los números si normalmente trabajas en unidades imperiales.

Si hay algo que no sea claro o incorrecto, hágamelo saber para poder editar la instrucción.

Suministros:

Paso 1: Familiarízate con CNC

Si nunca ha usado un CNC antes, algunos de los términos utilizados en este instructivo pueden sonar raros. Por lo tanto, recomiendo familiarizarse con un CNC antes de probar cosas similares como en este instructivo. Utilice el software CAM que viene con la máquina a la que tiene acceso, ya que le proporcionará una idea del flujo de trabajo para iniciar un trabajo de fresado.

El software CAM no es, por desgracia, un problema de plug and play. Necesita saber sobre velocidades de avance, rpm, brocas de fresado, etc. Y aunque el software facilita la configuración de las trayectorias de herramientas, aún necesita trabajar dentro de las capacidades de las que el programa puede desactivar. Tener control total sobre lo que hará la máquina, como veremos en un paso posterior, nos da la oportunidad de cambiar cada parte de la configuración de la trayectoria que no siempre es posible en el software CAM.

Paso 2: ¿Qué es el código G?

El código G es el lenguaje que hace que su computadora se comunique con la máquina CNC. Dentro del software CAM, usted convierte sus archivos CAD (3D o 2D) con el postprocesador en un archivo que su máquina entenderá. Este es un código hecho o usado por el fabricante de la máquina para sus máquinas. Es un conjunto de comandos que le dice a la máquina a dónde ir y qué hacer y de una manera simplificada dice algo como esto:

- Poner la velocidad del husillo a 18000 rotaciones por minuto.

- Ajustar la velocidad de movimiento a 35 mm por segundo.

- Muévase para coordinar x100, y100 sobre el material

- Mover 25 mm en la dirección z hacia abajo y hacia atrás.

- apagar el husillo

- Ir a origen / punto 0 en la máquina

Las diferencias entre estos códigos g son, por ejemplo, cómo definen el comando para moverse, o en qué unidades funcionan, o si los números negativos en la dirección z están por encima o por debajo del punto 0, etc. En el siguiente paso, Echaré un vistazo a la disección de este código para poder escribir su propio código para la máquina que utiliza.

Paso 3: Entender el código de la máquina a la que tiene acceso

Para comprender qué partes del código hace lo que puede crear un archivo de ejemplo simple con su software de cámara. El postprocesador convierte la información en el código correcto para la máquina. Luego podemos analizar este archivo y aplicar ingeniería inversa de cómo funciona. Puedes abrirlo en el bloc de notas y leer las líneas de código. Si observa el ejemplo del código de shopbot, verá que gran parte del código es simplemente coordenadas que le indican a la máquina a dónde mover el eje.

Y luego, dependiendo de la máquina que utilice, el resto del código puede ser bastante sencillo (por ejemplo, en el ejemplo del código de shopbot M3 significa: METROove a un determinado coördinate en 3 dimensiones). A veces también puede encontrar información en línea para una explicación clara. Algunos fabricantes pueden dar los detalles ellos mismos, como Shopbot, por ejemplo:

http: //www.opensbp.com/files/QuickReference_bothpa …

Necesitamos saber qué hacen estos diferentes comandos, ya que en un paso posterior crearemos este tipo de código utilizando la programación.

Paso 4: Programación - Saltamontes

Ahora que tenemos una mejor idea de cómo funciona el código de la máquina, podemos usar esta información para crear nuestro propio procesador posterior. He estado usando Rhino con su versátil complemento Grasshopper para esto. Rhino es un software CAD que combina un entorno de modelado 3D y dibujo 2D en uno. Grasshopper es un complemento para realizar programación basada en nodos dentro de Rhino y extiende ampliamente sus capacidades. Creo que hay otros lenguajes de programación o software que pueden hacer cosas similares, pero creo que esta combinación de programación y un entorno 3D es lo más fácil de hacer, porque obtienes una representación visual de lo que sucede en tu código.

Lo que haremos en este instructivo nos permitirá dibujar líneas en 3D y crear un archivo de herramientas que le indicará a la máquina que siga esas líneas. En el paso anterior vimos que la trayectoria consiste en coordenadas. Lo que significa que debemos convertir nuestras líneas en puntos, extraer las coordenadas de esos puntos y convertirlos en el formato correcto. También debemos tener en cuenta que entre las líneas querremos movernos por encima del material porque no queremos cortar el material cuando pasa de una línea a otra. Eso significa que debemos copiar el primer y último punto de cada línea e insertar una altura z sobre nuestro material.

O si quisiera simplificar el proceso, sería así:

- Líneas de entrada

- Opcional: ordene las líneas para asegurarse de que las líneas se fresen en el orden correcto, si es necesario. (También se puede utilizar para acelerar mucho las cosas)

- Convertir líneas a una lista de puntos.

- Copie el primer punto y el último punto de una curva, extraiga coordenadas, reemplace la coordenada z con una que esté sobre el material, haga un nuevo punto a partir de esas coordenadas e inserte ese punto en la lista en el lugar correcto (antes del punto inicial y detrás del último punto de cada línea dentro del material).

- Extraer las coordenadas de cada punto.

- Convierta estas coordenadas a la sintaxis correcta (el código g que funciona específicamente en su máquina)

- Combina esto con el código de inicio y final del archivo.

- Convertir en archivo gcode.

Paso 5: Generar Trayectorias y Prueba

Hice una definición básica de saltamontes que agregué como ejemplo. Realiza los pasos que describí en el paso anterior y convierte las líneas 3D en código de shopbot o colinbus. Creo que puede ser muy útil entender mejor cómo se hace.

Guardando el archivo gcode del archivo saltamontes que hace al hacer clic derecho en el panel amarillo con el código (a la derecha en el archivo) y elegir un destino de flujo, lo que significa dónde guardará el archivo. Cuando nombre el archivo, asegúrese de elegir la extensión que usa su gcode. Para Shopbot es.sbp, para colinbus es.c3d, etc … Puede descubrir qué es esto mirando el archivo de la ruta de herramientas exportado desde el software cam, como hemos visto en el paso 3.

Antes de probar su propio código hecho por primera vez, asegúrese de leer el código y ver si todo parece que debería. Luego ejecuta el archivo en el aire y mira lo que hace la máquina. Si todo parece como debería, ejecute el archivo en el material y sienta la satisfacción de moler su código autoprogramado.

A partir de aquí puede comenzar la exploración en Grasshopper. Las posibilidades de combinar Grasshopper con cnc-machining son infinitas. En los siguientes pasos describiré cómo creé algunos ejemplos usando estas herramientas.

Paso 6: Ejemplo 1: Convertir imagen a fresado 3D usando un V-bit

Dentro del saltamontes hay un muestreador de imágenes que puede leer el valor en blanco y negro de una imagen y que se asigna a un número entre 0 y 1. Con 0 es negro y 1 es blanco. Entonces, lo que podemos hacer es reasignar ese valor a un dominio diferente que controlará qué tan profundo es nuestro v-bit. De esa manera podemos crear diferentes grosores de línea dentro del material como si estuviéramos presionando más y más suave con un lápiz en un papel.

Dado que la muestra de imágenes necesita puntos como entrada, podemos moverlos rápidamente a la profundidad z que queramos. Si luego clasificamos nuestros puntos en grupos, no podemos crear polilíneas 3D desde esos puntos y usar un postprocesador como en uno de los pasos anteriores para convertir esto en gcode. Cuando lo esté fresando, es recomendable pintar la superficie superior para obtener un buen contraste de color.

Agregué el archivo original que usé, para poder aprender de él. Tenga en cuenta que el postprocesador utilizado en este archivo de ejemplo es para un Colinbus y no un Shopbot.

También puede convertir el postprocesador para tomar puntos como entrada y simplemente perforar cada vez a una profundidad diferente con el v-bit. De esa manera, puede crear imágenes de medios tonos en el CNC, como hice la primera vez que probé mi propio código (vea las imágenes de los pasos anteriores).

Paso 7: Ejemplo 2: Líneas con curvas

Este ejemplo es parcialmente dibujo manual y parcialmente saltamontes. Entonces, lo que hice fue crear 4 líneas, de las cuales la más alta y la más baja son arcos básicos de un círculo y las dos líneas en el centro son ondas rizadas aleatorias que dibujé. Luego utilicé saltamontes para crear líneas de transición entre ellos; llamadas "curvas de tween". Quería crear una superficie de línea donde estas curvas de interpolación sean la parte superior de la superficie. Entonces, lo que hice fue hacer líneas entre esas curvas de transición que seguirá el v-bit.

Ahora terminamos con las curvas en 2D, pero queremos hacerlas en 3D para que los bordes terminen en el mismo nivel. Entonces, lo que hice fue dividir las curvas de v-bit en puntos y para cada punto calculo la distancia a la curva más cercana. Ya que estoy usando un bit de 90 grados, sé que la distancia a la curva de transición más cercana es también nuestra profundidad de v-bit (ver imagen de v-bit). Si no entiendes por qué puedes buscar en trigonometría. Entonces, al mover los puntos de división en la dirección z hacia abajo utilizando la distancia a la curva más cercana, obtenemos una curva 3D que podemos usar con el postprocesador nuevamente.

También clasifiqué las curvas y cambié todas las demás curvas. Esto aumenta el tiempo de molienda ya que se asegura de que la máquina no se mueva al otro lado por encima del material con cada curva.

Agregué el archivo de rinoceronte y saltamontes para que pueda analizar cómo está hecho. Es una definición antigua, así que estoy bastante seguro de que hay cosas que se pueden hacer más rápido o de una manera diferente.

Paso 8: Ejemplo 3: Sinus Bowl

Este lo hice mientras estaba haciendo algunos ejercicios para aprender Python dentro de Grasshopper. Hay muchos pasos involucrados antes del fresado final y estoy seguro de que hay formas más rápidas de hacer esto, entonces, como hice en ese momento, pero aquí va.

Dentro del componente python, creé el código para generar puntos para crear una superficie de onda sinusal cuadrada de 100x100 mm. (Creo que aprendí esto de un tutorial, pero no recuerdo de dónde. Si alguien sabe, dímelo para poder agregarlo)

Para crear una transición suave que va de una superficie plana a esta superficie de onda de pecado, reasigno los números utilizando un asignador de gráficos. Estos generarán el factor de escala que usaremos. No es la forma más limpia de generar esta superficie, pero funciona para esta aplicación. Así que escalo cada punto en la dirección z desde el punto más alto de nuestra superficie de pecado y las piezas que serán planas se escalan con un valor de 0.001, lo que crea una superficie de aspecto plano (aunque no sea perfectamente plana).

Luego calculé la distancia entre el centro del cuadrado y cada uno de los puntos de la superficie del pecado que creamos. Ordeno la lista de puntos de acuerdo con esa distancia y muevo un número opcional de la lista de puntos escalados hacia abajo para crear la forma del domo. (Debido a que calculamos la distancia desde el centro, crea esta forma circular).

Luego ordeno esos puntos en listas de puntos para formar polilíneas. Creé que estas polilíneas añaden diferentes alturas para poder realizar un desbaste en pasos. Así que los usé con el postprocesador que hemos usado antes para hacer el desbaste en el roble. Pero para el camino final, quería usar una trayectoria espiral y tuve que hacer una solución para lograrlo:

Así que a partir de las polilíneas finales creo una superficie 3D. Luego cociné la superficie 3D en Rhino y dibujé una espiral 2d sobre la superficie. Luego hice una desviación (con el radio de la punta de punta de bola) en la superficie y proyecté la espiral sobre esa superficie, para hacer coincidir el borde de la punta de bola con la superficie que realmente quiero crear. Luego, al configurar la altura z en la máquina, muevo el punto cero hacia abajo con una distancia que coincida con el radio del bit. Por lo tanto, el punto 0 en la dirección z ahora está en el centro del bit. ¡Luego uso el postprocesador en esa curva espiral proyectada y eso es todo!

Ahora, mucho de esto será difícil de seguir leyendo mi texto, por lo que sugiero echar un vistazo a mis archivos para comprenderlo mejor. Necesitará el componente python que puede encontrar en el sitio web de food4rhino: Aquí

Y luego te toca a ti! ¡Espero que hayas aprendido algo de este instructivo y en caso de que lo uses para hacer algo que me encantaría ver los resultados!

Runner Up en el

Concurso CNC 2016