Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 10 de septiembre de 2019

jueves, 28 de febrero de 2019

Pasando ejemplo Cochesito de OpenScad a Freecad


Pasando ejemplo Cochesito de OpenScad a Freecad

En el siguiente video explico como usar el codigo de un cochesito hecho en openScad a Freecad usando el banco de trabajo que tiene freecad para ello:







OpenSCAD: ejemplos...


OpenSCAD: ejemplos...



Siguiendo los micro tutoriales de openScad [lista de youtube] y otra lista de la 2º temparada [ lista ]de Juan Gonzalez Gomez, os dejo mis primeras pruebas y códigos:

Mi primer ejemplo de OpenSCAD:
//-- girando    objeto siguiente
rotate([0,0,30])
//-- tralado objeto siguiente
translate([50,0,0])
cube([10,10,10],center=true);

rotate([0,0,45])
cube([20,20,5],center=true);
//-- cubo hola mundo
translate([0,0,35])
cylinder(r=20,h=30,$fn=5);
translate([100,0,0])
cylinder(r=20,h=30,$fn=3);

//--taladro... Diferencia entre dos cilindros:
difference() {
translate([00,100,0])
cylinder(r=20,h=20,$fn=50);
translate([00,100,0])
cylinder(r=4,h=165,$fn=20,center=true);}

//-- union + difference -> rueda porta ejes
difference() {
    union(){
    translate([100,50,0])
    cylinder(r=25,h=5,$fn=10);
 
    translate([100,50,0])
    cylinder(r=15,h=25,$fn=10);
     
    }
translate([100,50,-5])
cylinder(r=10,h=35,$fn=30);
}
//-- parametros !!!
//-- Construccion de la rueda a partir de los parametros
grosor=5;
diametro=25;
diameje=8;
//-- Rueda Simple:
translate([100,100,100])
difference(){
    cylinder(r=diametro/2,h=grosor,$fn=50);
    //taladro de 8 mm:
 
    cylinder(r=diameje/2,h=3*grosor,$fn=20,center=true);
}

Mi segundo ejemplo: usando modulo (o funciones), con valores por defecto...
module RuedaSimple(grosor,diametro,diamEje)
{
    difference(){
        //-- Base de la rueda
        cylinder(r=diametro/2,h=grosor,$fn=100);
        //-Taladro del eje
        cylinder(r=diamEje/2,h=3*grosor,$fn=100,center=true);
         
    }
}
RuedaSimple(10,50,10);

translate([100,0,0])
RuedaSimple(diametro=40,grosor=20,diamEje=10);

translate([-100,0,0])
RuedaSimple(40,20,10);

Fijaos que dependiendo si defino los valores de las variables o los pongo sin definir varia la asignación... (me refiero a poner dentro dde la llamada de la funcion "grosor=")



Mi 3 ejemplo: cochesito
Aqui me encontré con la incidencia de tener que poner la ruta completa del archivo, donde esta el modulo de RuedaSimple definido. También añadí el tema de poner colores de las piezas.

use </home/mint/ModuloRuedaSimple.scad>

//-- Chasis del coche
color("green",0.2)
translate([30,0,10])
cube([100,60,5],center=true);

//rueda delantera
color("blue")
translate([0,-30,0])
rotate([90,0,0])
RuedaSimple(10,50,12);

//rueta trasera (un poco mas ancha)
color("red")
translate([60,-30,0])
rotate([90,0,0])
RuedaSimple(20,50,12);

//- ruedas del otro lado (que son simetricas)
mirror([0,1,0]) {
    color("blue")
    translate([0,-30,0])
    rotate([90,0,0])
    RuedaSimple(10,50,12);
 
    color("red")
    translate([60,-30,0])
    rotate([90,0,0])
    RuedaSimple(20,50,12);
}