Diferencia entre revisiones de «Diseño de piezas con OpenScad»
(→Ejemplo 1: Piezas de mecano básicas) |
(→Noicias) |
||
| (No se muestran 37 ediciones intermedias del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
<center> | <center> | ||
| − | [[|400px|]] | + | [[Archivo:Logo-openscad-openhw.png|thumb|400px|]] |
</center> | </center> | ||
== Ficha == | == Ficha == | ||
| − | * '''Título''': | + | * '''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 | * '''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 Gonzalez:Main | Juan González]] | * '''Ponente''': [[Juan Gonzalez:Main | Juan González]] | ||
| Línea 12: | Línea 12: | ||
== Introducción == | == 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. UC3M-2011|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 == | == Descargas == | ||
| + | |||
| + | {| {{tablabonita}} | ||
| + | | [http://www.iearobotics.com/downloads/2012-05-22-openscad-tutorial/tutorial_openscad-01-14.zip tutorial_openscad-01-14.zip] | ||
| + | | Paquete con los primeros 14 ejemplos de este tutorial | ||
| + | |} | ||
== Primeros pasos con Openscad == | == Primeros pasos con Openscad == | ||
| Línea 20: | Línea 28: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=xvhbrUSQRTc '''Video Tutorial 1'''] | + | ! [http://www.youtube.com/watch?v=xvhbrUSQRTc '''Video Tutorial 1/14'''] |
|} | |} | ||
| Línea 47: | Línea 55: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=QMsTnDUkJ1E '''Video Tutorial 2'''] | + | ! [http://www.youtube.com/watch?v=QMsTnDUkJ1E '''Video Tutorial 2/14'''] |
|} | |} | ||
| Línea 70: | Línea 78: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=OdUgqYm5lXQ '''Video Tutorial 3'''] | + | ! [http://www.youtube.com/watch?v=OdUgqYm5lXQ '''Video Tutorial 3/14'''] |
|} | |} | ||
| Línea 93: | Línea 101: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=WJFqa7LUpmA '''Video Tutorial 4'''] | + | ! [http://www.youtube.com/watch?v=WJFqa7LUpmA '''Video Tutorial 4/14'''] |
|} | |} | ||
| Línea 115: | Línea 123: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=UlM_N_HPhVk '''Video Tutorial 5'''] | + | ! [http://www.youtube.com/watch?v=UlM_N_HPhVk '''Video Tutorial 5/14'''] |
|} | |} | ||
| Línea 143: | Línea 151: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=86PLSLyK3Bc '''Video Tutorial 6'''] | + | ! [http://www.youtube.com/watch?v=86PLSLyK3Bc '''Video Tutorial 6/14'''] |
|} | |} | ||
| Línea 170: | Línea 178: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=irMSrEzh0JM '''Video Tutorial 7'''] | + | ! [http://www.youtube.com/watch?v=irMSrEzh0JM '''Video Tutorial 7/14'''] |
|} | |} | ||
| Línea 199: | Línea 207: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=Tf5NCHbjfqI '''Video Tutorial 8'''] | + | ! [http://www.youtube.com/watch?v=Tf5NCHbjfqI '''Video Tutorial 8/14'''] |
|} | |} | ||
| Línea 233: | Línea 241: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=wZt9ROx2_Co '''Video Tutorial 9'''] | + | ! [http://www.youtube.com/watch?v=wZt9ROx2_Co '''Video Tutorial 9/14'''] |
|} | |} | ||
| Línea 274: | Línea 282: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=J5nCIrlQj_g '''Video Tutorial 10'''] | + | ! [http://www.youtube.com/watch?v=J5nCIrlQj_g '''Video Tutorial 10/14'''] |
|} | |} | ||
| Línea 303: | Línea 311: | ||
{| style="border: 1px solid darkgray; width:100%" | {| style="border: 1px solid darkgray; width:100%" | ||
|- style="background: #cedff2;" | |- style="background: #cedff2;" | ||
| − | ! [http://www.youtube.com/watch?v=YHg5QApmFO4 '''Video Tutorial 11'''] | + | ! [http://www.youtube.com/watch?v=YHg5QApmFO4 '''Video Tutorial 11/14'''] |
|} | |} | ||
| Línea 331: | Línea 339: | ||
En este ejemplo se construye la pieza de mecano básica | En este ejemplo se construye la pieza de mecano básica | ||
| − | === Pieza de Mecano parametrizable II === | + | === 12) Pieza de Mecano parametrizable II === |
| + | |||
| + | {| style="border: 1px solid darkgray; width:100%" | ||
| + | |- style="background: #cedff2;" | ||
| + | ! [http://www.youtube.com/watch?v=2u9gaYx6j7w '''Video Tutorial 12/14'''] | ||
| + | |} | ||
| + | |||
| + | [[Archivo:Tut-openscad-12-pieza-mecano-2.png|thumb|300px| Pieza de mecano parametrizada, convertida en un módulo y con parámetros por defecto (''click para ampliar'')]] | ||
| + | |||
{| {{tablabonita}} | {| {{tablabonita}} | ||
| − | |||
| | | | ||
| − | + | '''Programa''': | |
| − | Programa | ||
| − | |||
module pieza_mecano(n=4, drill=4, d=10, anchura=10, grosor=3) | module pieza_mecano(n=4, drill=4, d=10, anchura=10, grosor=3) | ||
{ | { | ||
| Línea 357: | Línea 370: | ||
pieza_mecano(); <br> | pieza_mecano(); <br> | ||
translate([0,20,0]) | translate([0,20,0]) | ||
| − | pieza_mecano(n=2); | + | pieza_mecano(n=2); |
|} | |} | ||
| + | |||
| + | La pieza de mecano se modulariza y se asignan parámetros por defecto | ||
=== Depurando piezas === | === Depurando piezas === | ||
| + | {| style="border: 1px solid darkgray; width:100%" | ||
| + | |- style="background: #cedff2;" | ||
| + | ! [http://www.youtube.com/watch?v=X34wjwg3HeU '''Video Tutorial 13/14'''] | ||
| + | |} | ||
| + | |||
| + | [[Archivo:Tut-openscad-13-depurando.png|thumb|300px| Depurando y entendiendo una pieza (''click para ampliar'')]] | ||
{| {{tablabonita}} | {| {{tablabonita}} | ||
| − | |||
| | | | ||
| − | + | '''Programa''': | |
| − | Programa | ||
| − | |||
difference() { <br> | difference() { <br> | ||
//-- Pieza sin taladros | //-- Pieza sin taladros | ||
| Línea 389: | Línea 407: | ||
cylinder(r=9/2, h=50, center=true); | cylinder(r=9/2, h=50, center=true); | ||
} | } | ||
| + | |} | ||
| + | |||
| + | 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 === | ||
| + | {| style="border: 1px solid darkgray; width:100%" | ||
| + | |- style="background: #cedff2;" | ||
| + | ! [http://www.youtube.com/watch?v=w8Cy3gviRsg '''Video Tutorial 14/14'''] | ||
|} | |} | ||
| − | + | [[Archivo:Tut-openscad-14-imprimiendo.png|thumb|300px| Imprimiendo las piezas de mecano (''click para ampliar'')]] | |
{| {{tablabonita}} | {| {{tablabonita}} | ||
| − | |||
| | | | ||
| − | + | '''Programa''': | |
| − | Programa | ||
| − | |||
use <pieza_mecano.scad> <br> | use <pieza_mecano.scad> <br> | ||
pieza_mecano(); <br> | pieza_mecano(); <br> | ||
| Línea 406: | Línea 433: | ||
translate([0,30,0]) | translate([0,30,0]) | ||
pieza_mecano(n=2); <br> | pieza_mecano(n=2); <br> | ||
| + | |} | ||
| + | |||
| + | Se generan 3 piezas de mecano de 4, 3 y 2 taladros, y se imprimen usando la impresora [[Prusa Mendel Iteración 2: R3|R3]] (Una Prusa mendel iteración 2) | ||
| + | :{| class="wikitable" | ||
| + | |- | ||
| + | | [[Archivo:DSC05129.JPG|200px| Imprimiendo las piezas (''click para ampliar'')]] | ||
| + | | [[Archivo:DSC05130.JPG|200px| Piezas impresas (''click para ampliar'')]] | ||
| + | | [[Archivo:DSC05133.JPG|200px| Probando las piezas (''click para ampliar'')]] | ||
| + | | | ||
|} | |} | ||
| Línea 433: | Línea 469: | ||
== Noicias == | == Noicias == | ||
| − | * '''08/Mayo/ | + | * '''06/Sep/2012''': Tutorial incluido en la [[Obijuan Academy]] |
| + | * '''22/Mayo/2012''': Lista la primera versión. Video-tutorial (1-14) finalizado | ||
| + | * '''08/Mayo/2012''': Comenzada la página | ||
| Línea 439: | Línea 477: | ||
[[Categoría:Charlas y Conferencias]] | [[Categoría:Charlas y Conferencias]] | ||
[[Categoría: Robótica]] | [[Categoría: Robótica]] | ||
| + | [[Categoría:Obijuan Academy]] | ||
Revisión actual del 07:16 6 sep 2012
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/14 |
|---|
|
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/14 |
|---|
|
Programa: //-- Ejemplo de translación y rotación |
Las traslaciones y rotaciones se realizan con los operadores translate() y rotate() respectivamente.
| Video Tutorial 3/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/14 |
|---|
|
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/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
- 06/Sep/2012: Tutorial incluido en la Obijuan Academy
- 22/Mayo/2012: Lista la primera versión. Video-tutorial (1-14) finalizado
- 08/Mayo/2012: Comenzada la página