Diseño de piezas con OpenScad
Contenido
Ficha
- Título: Diseño de piezas con OpenScad
- Contexto: Sesión 2 del seminario: Diseño e Impresión de Piezas 3D con herramientas Open Source. UC3M-2011 dentro del Máster de Áutomática y Robótica de la UC3M
- Ponente: Juan González
- Duración: 2 horas
- Lugar: Universidad Carlos III de Madrid
- Fecha: 17-Nov-2011
Introducción
Inicialmente en esta página se iban a poner sólo los ejemplos dados en la sesión 2 del seminario Diseño e Impresión de Piezas 3D con herramientas Open Source dentro del Máster de Áutomática y Robótica de la UC3M. Esta sesión fue presencial con una duración de 2 horas. Mostré diferentes ejemplos en mi portátil y los asistentes iban haciéndolos sobre la marcha en los suyos.
Al publicar la información en esta wiki (6 meses después y ya fuera de la UC3M), decidí hacer unos micro video-tutoriales y convertir esta sesión en un micro-curso on-line. Tomé la decisión de hacer micro-sesiones de unos 3 minutos. La razón de esto es que antes de la publicación, asistí a un curso/charla que duró 2h y 30 minutos, fue un auténtico rollazo y no aprendí nada. Salí tan cabreado que decidí hacer micro-sesiones de 3 minutos. Así, si una sesión no te ha gustado, sólo habrás perdido 3 minutos de tu vida. Y si te ha gustado, podrás seguir avanzando con las siguientes.
Descargas
| tutorial_openscad-01-14.zip | Paquete con los primeros 14 ejemplos de este tutorial |
Primeros pasos con Openscad
1) Cubo Hola mundo
| Video Tutorial 1 |
|---|
|
Programa: //-- Cubo Hola Mundo cube([10,10,10]); |
Los pasos a realizar son los siguientes:
- Abrir OpenScad
- Escribir el código del programa
- Pulsar F5 para renderizar el cubo en pantalla. Lo que se nos ha creado es un cubo de 10mm de arista
- Con la rueda del ratón se hace zoom
- Pulsando el botón izquierdo y moviendo el raton se rota la vista del cubo.
- Pulsando el botón central y moviendo el ratón se hace traslación del punto de vista
- Por último se graba el programa openscad creado
- Se pulsa F6 para hacer un renderizado "bueno"
- Se exporta la pieza al formato STL (view/export as STL)
- ¡¡El cubo está listo para ser impreso en una impresora 3D open-source!!
2) Traslaciones y rotaciones
| Video Tutorial 2 |
|---|
|
Programa: //-- Ejemplo de translación y rotación |
Las traslaciones y rotaciones se realizan con los operadores translate() y rotate() respectivamente.
| Video Tutorial 3 |
|---|
|
Programa: //-- Moneda translate([-50,0,0]) cylinder(r=40/2, h=5, $fn=100); |
Se muestra la versatilidad de los cilindros. Cambiando el parámetro $fn, se puede hacer cualquier polígono regular.
4) Haciendo taladros
| Video Tutorial 4 |
|---|
|
Programa: //-- Rueda simple
difference() {
//-- Base de la rueda
cylinder(r=50/2, h=5,$fn=100);
|
Utilización de la operación booleana difference() y de los cilindros para realizar taladros a piezas.
5) Pegando piezas
| Video Tutorial 5 |
|---|
|
Programa: //-- Rueda con portaejes y taladro para el eje
difference() {
//-- Rueda
union() {
//-- Base de la rueda
cylinder(r=50/2, h=5, $fn=100);
//-- Portaejes
cylinder(r=20/2, h=20, $fn=80);
}
//-- Taladro
cylinder(r=8/2, h=80, $fn=30,center=true);
}
|
Utilización de la operación booleana union() para pegar objetos
Vislumbrando la potencia de openscad
6) Parametrízame!
| Video Tutorial 6 |
|---|
|
Programa: //-- Parámetros de la rueda grosor = 5; diametro=50; diam_eje = 8; |
Rueda paramétrica: La rueda se define por unos parámetros, y luego se construye la rueda usando esos parámetros
7) Modularízame!
| Video Tutorial 7 |
|---|
|
Programa: module rueda_simple(grosor, diametro, diam_eje)
{
//-- Construcción de la rueda a partir de
//-- los parámetros
difference() {
//-- Base de la rueda
cylinder(r=diametro/2, h=grosor,$fn=100);
//-- Taladro del eje
cylinder(r=diam_eje/2, h=3*grosor,$fn=20,center=true);
}
}
|
Convirtiendo la rueda en un módulo para poder reutilizarla fácilmente
8) Parámetros por defecto
| Video Tutorial 8 |
|---|
|
Programa: module rueda_simple(grosor=5, diametro=40, diam_eje=8)
{
//-- Construcción de la rueda a partir de
//-- los parámetros
difference() {
//-- Base de la rueda
cylinder(r=diametro/2, h=grosor,$fn=100);
|
Dando parámetros por defecto al módulo de la rueda simple para facilitar su utilización
9) Usando módulos
| Video Tutorial 9 |
|---|
|
Programa: //-- Ejemplo sencillo de como utilizar los modulos use <rueda_simple.scad> |
Utilización del módulo rueda simple para construir un coche sencillo
10) Repitiendo tareas
| Video Tutorial 10 |
|---|
|
Programa: drill=4; h1=10; d=10; n = 20; |
Se crean multiples cilindros utilizando un bucle for
Ejemplo 1: Piezas de mecano básicas
En este bloque utilizaremos lo que hemos aprendido para cerrar el ciclo de diseño. Diseñaremos una pieza de mecano simple y la imprimiremos en la impresora 3D opensource. Durante el diseño se introducen también algunos conceptos nuevos
11) Pieza de mecano parametrizable I
| Video Tutorial 11 |
|---|
|
Programa: drill=3; d=10; n = 4; |
En este ejemplo se construye la pieza de mecano básica
12) Pieza de Mecano parametrizable II
| Video Tutorial 12 |
|---|
|
Programa: module pieza_mecano(n=4, drill=4, d=10, anchura=10, grosor=3)
{
//-- Calcular al longitud de la pieza
lx = n*d;
|
La pieza de mecano se modulariza y se asignan parámetros por defecto
Depurando piezas
| Video Tutorial 13 |
|---|
|
Programa: difference() {
|
Se describen algunos modificaciones y operadores para hacer depuración:
- Operador color(): Cambiar el color de una pieza o partes de una pieza
- Modificador * : Comentar la rama. Se ignora al hacer el renderizado, pero se muestra el resto de objetos
- Modificador ! : Lo contrario a *: Sólo se muestra el objeto al que se aplica y el resto NO se renderiza
- Modificador # : Mostrar en transparente las partes usadas en las diferencias. Genial para ver cómo están hechos los taladros
Imprimiendo las piezas de mecano
| Video Tutorial 14 |
|---|
|
Programa: use <pieza_mecano.scad> |
Se generan 3 piezas de mecano de 4, 3 y 2 taladros, y se imprimen usando la impresora R3 (Una Prusa mendel iteración 2)
Repositorio
Los ficheros fuentes están en este repositorio SVN:
Licencia
| |
Enlaces
- Thingiverse: El youtube de los objetos
- Mini-Skybot: Robot móvil libre e imprimible
- OpenScad: Herramienta libre para diseño de piezas
- Freecad: Herramienta libre de CAD
- Objetos 3D: Objetos imprimibles
- Piezas creadas en Plastic Valley UC3M!
- Orugator
- Unitrack
- Proyecto Clone Wars: Clonando impresoras 3D
- OOML: Object Oriented Mechanics. Mecánica orientada a Objetos
Noicias
- 08/Mayo/2011: Comenzada la página