Diseño de piezas con OpenScad

De WikiRobotics
Revisión del 08:47 21 may 2012 de Obijuan (Discusión | contribuciones) (Cubo Hola mundo)

Saltar a: navegación, buscar

[[|400px|]]

Ficha

Introducción

Descargas

Primeros pasos con Openscad

Cubo Hola mundo

Video Tutorial 1
El cubo "hola mundo" (click para ampliar)

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!!

Traslaciones y rotaciones

300|250</youtube>

Programa para OpenScad:

//-- Ejemplo de translación y rotación 
//-- Traslación y rotación de un cubo rotate([0,0,30]) translate([50,0,0]) cube([20,20,20],center=true);
//-- rotación de un cubo rotate([0,0,45]) cube([20,20,10],center=true);


Cilindros: la navaja suiza

300|250</youtube>

Programa para OpenScad:

//-- Moneda
translate([-50,0,0])
  cylinder(r=40/2, h=5, $fn=100); 
//-- Hexágono cylinder(r=40/2, h=5, $fn=6);
//-- Triángulo equilátero translate([50,0,0]) cylinder(r=40/2, h=5, $fn=3);

Haciendo taladros

300|250</youtube>

Programa para OpenScad:

 //-- Rueda simple
 difference() {
  //-- Base de la rueda
  cylinder(r=50/2, h=5,$fn=100);
//-- Taladro de 8mm cylinder(r=8/2, h=20,$fn=20,center=true); }

Pegando piezas

300|250</youtube>

Programa para OpenScad:

//-- 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);
}

Vislumbrando la potencia de openscad

Parametrízame!

300|250</youtube>

Programa para OpenScad:

 //-- Parámetros de la rueda
 grosor = 5;
 diametro=50;
 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);
//-- Taladro del eje cylinder(r=diam_eje/2, h=3*grosor,$fn=20,center=true); }

Modularízame!

300|250</youtube>

Programa para OpenScad:

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);
  }
} 
rueda_simple(diametro=50, grosor=5, diam_eje=8);
translate([50,0,0]) rueda_simple(diametro=40, grosor=20, diam_eje=10);

Parámetros por defecto

300|250</youtube>

Programa para OpenScad:

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); 
//-- Taladro del eje cylinder(r=diam_eje/2, h=3*grosor,$fn=20,center=true); } }
//-- Ejemplos de utilizacion del modulo Rueda simple //-- Rueda por defecto rueda_simple();
translate([50,0,0]) rueda_simple(grosor=20);
translate([-50,0,0]) rueda_simple(diametro=20, grosor=10);

Usando módulos

300|250</youtube>

Programa para OpenScad:

//-- Ejemplo sencillo de como utilizar los modulos
use <rueda_simple.scad> 
//-- Chasis del cohe translate([30,0,0]) cube([100,60,10],center=true);
//-- Rueda delantera izquierda translate([0,-30,0]) rotate([90,0,0]) rueda_simple();
//-- Rueda trasera izquierda translate([60,-30,0]) rotate([90,0,0]) rueda_simple(grosor=20, diametro=50);
//-- Lado derecho del coche. Es simetrico con respecto //-- al izquierdo mirror([0,1,0]) { //-- Rueda delantera derecha translate([0,-30,0]) rotate([90,0,0]) rueda_simple();
//-- Rueda trasera derecha translate([60,-30,0]) rotate([90,0,0]) rueda_simple(grosor=20, diametro=50); }

Repitiendo tareas

300|250</youtube>

Programa para OpenScad:

drill=4;
h1=10;
d=10;
n = 20;
for (i=[0:n-1]) { translate([i*d,0,0]) cylinder(r=drill/2, h=h1, $fn=20,center=true); }

Ejemplo 1: Piezas de mecano básicas

Pieza de mecano parametrizable I

300|250</youtube>

Programa para OpenScad:

drill=3;
d=10;
n = 4; 
lx = n*d; anchura = 10; grosor = 3;
difference() { //-- Cuerpo de la pieza cube([lx,anchura,grosor],center=true);
//-- Taladros translate([-lx/2+d/2,0,0]) for (i=[0:n-1]) { translate([i*d,0,0]) cylinder(r=drill/2, h=grosor+5, $fn=20,center=true); } }

Pieza de Mecano parametrizable II

300|250</youtube>

Programa para OpenScad:

module pieza_mecano(n=4, drill=4, d=10, anchura=10, grosor=3)
{
  //-- Calcular al longitud de la pieza
  lx = n*d;
//-- Construir la pieza difference() { //-- Cuerpo de la pieza cube([lx,anchura,grosor],center=true);
//-- Taladros translate([-lx/2+d/2,0,0]) for (i=[0:n-1]) { translate([i*d,0,0]) cylinder(r=drill/2, h=grosor+5, $fn=20,center=true); } } }
//-- Ejemplos de utilizacion pieza_mecano();
translate([0,20,0]) pieza_mecano(n=2);

Depurando piezas

300|250</youtube>

Programa para OpenScad:

difference() { 
//-- Pieza sin taladros union() { //-- Cuerpo color("blue") cube([167.8, 30, 5],center=true);
//-- Torre derecha color("green") translate([167.8/2-20/2,0,13/2+5/2]) cube([20,30,13],center=true);
//-- Torre izquierda color("green") translate([-167.8/2+20/2,0,13/2+5/2]) cube([20,30,13],center=true); }
//-- Taladros #translate([-167.8/2+10,0,0]) cylinder(r=9/2, h=50, center=true);
#translate([+167.8/2-10,0,0]) cylinder(r=9/2, h=50, center=true); }

Imprimiendo las piezas de mecano

300|250</youtube>

Programa para OpenScad:

use <pieza_mecano.scad> 
pieza_mecano();
translate([0,15,0]) pieza_mecano(n=3);
translate([0,30,0]) pieza_mecano(n=2);

Licencia

Cc logo.png This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 Spain License.


Enlaces

Noicias

  • 08/Mayo/2011: Comenzada la página