Outils pour utilisateurs

Outils du site


wiki:projet:codes_openscad

Ceci est une ancienne révision du document !


Codes OpenSCAD

Impressions 3D

Code OpenSCAD pour la boîte inférieure

diffRayon = 10; //mm difference de rayon intérieur entre la boîte supérieure et la boîte inférieure

// rayon interieur de la boite supérieure
rayonBSup = 40; //mm

//dimensions de la boite inférieure
hauteurBoite = 55;
rayonBoite = rayonBSup + diffRayon;
epaisseurBoite = 10;
fond = 10; //mm

difference(){
    cylinder(h = hauteurBoite + fond,r1 = rayonBoite+epaisseurBoite, r2 = rayonBoite+epaisseurBoite, $fn = 1000, center = false);
    translate([0, 0, fond]){
        cylinder(h = hauteurBoite, r1 = rayonBoite, r2 = rayonBoite, $fn = 1000, center = false);
    }
}

Code OpenSCAD pour la boîte supérieure

diffRayon = 10; //mm difference de rayon intérieur entre la boîte supérieure et la boîte inférieure

//dimensions de la boite supérieure
hauteurBSup = 55; //mm
epaisseurBSup = 10; //mm
rayonBSup = 40; //mm

difference(){
    cylinder(h = hauteurBSup, r1 = rayonBSup+epaisseurBSup+diffRayon, r2 = rayonBSup+epaisseurBSup+diffRayon, $fn = 1000, center = true);
    cylinder(h = hauteurBSup, r1 = rayonBSup, r2 = rayonBSup, $fn = 1000, center = true);
}

Code OpenSCAD pour le piston

//rayon intérieur de la boîte supérieure
rayonBSup = 40; //mm

//dimensions du piston
rayonC = rayonBSup;
fondC = 10; //mm
hauteurC = 30;
epaisseurC = 10; //mm
largeurEncoche = 6.001; //mm
profondeurEncoche = 20; //mm
profondeurEncoche2 = 30; //mm profondeur réelle : 25 mm
epsilon = 0.001; //mm, pour pouvoir entrer dans la boite supérieure

rotate([0, 180, 0]){
    difference(){
        cylinder(h = hauteurC + fondC, r1 = rayonC-epsilon, r2 = rayonC-epsilon, $fn = 1000, center = false);
        cylinder(h = hauteurC, r1 = rayonC - epaisseurC, r2 = rayonC - epaisseurC, $fn = 1000, center = false);
        translate([0, 0, 10]){
            cube([2*rayonC, largeurEncoche, profondeurEncoche], center = true);
            cube([largeurEncoche, 2*rayonC, profondeurEncoche2], center = true);
        }
    }
}

Code OpenSCAD pour l'anse

//dimensions de la boite supérieure
hauteurBSup = 55; //mm
epaisseurBSup = 10; //mm
rayonBSup = 40; //mm
diffRayon = 10; //mm

diametreVis = 2.5; //mm diametre du trou

difference(){
    //cube pour former la anse
    translate([25, 0, -10]){
        rotate([90, 0, 45]){
            difference(){
                cube([40, 20 ,40], center = false);
                cube([30, 40, 30], center = false);
            }
        }
    }
    //on enleve la boite supérieure pour que les 2 éléments s'accolent parfaitement
    cylinder(h = hauteurBSup, r1 = rayonBSup+epaisseurBSup+diffRayon, r2 = rayonBSup+epaisseurBSup+diffRayon, $fn = 1000, center = true);
    //trou
    translate([rayonBSup+diffRayon+epaisseurBSup-2, -10, 0]){
        rotate([45, 90, 0]){
            cylinder(h = 20, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = true);
        }
    }
    //trou
    translate([rayonBSup+diffRayon+epaisseurBSup-2, +10, 0]){
        rotate([-45, 90, 0]){
            cylinder(h = 20, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = true);
        }
    }
}

Code OpenSCAD pour le support 1 de la poulie

//dimensions du roulement à billes et de la gaine
diametreTrou = 7.9; //mm diametre du trou du roulement à billes
epaisseurR = 7; //mm epaisseur du roulement à billes
depassement = 2; //mm dépassement de la gaine de chaque cote du roulement à billes

//dimensions du support de la poulie
coteColonne = 30; //mm epaisseur de la colonne
hauteurColonne = 57.55; //mm
longTige = depassement*2 + epaisseurR + 10+20;

//dimensions du support pour le raporteur
longSupRap = 10; //mm longueur du support pour enfiler le rapporteur
epSupRap = 10; //mm epaisseur du support pour enfiler le rapporteur

//dimensions du socle du support
diametreVis = 2.5; //mm // diametre des trous pour les vis
epaisseurSocle = 5;//mm
largSocle = coteColonne + 20;


//colonne
cube([coteColonne, coteColonne, hauteurColonne], center = true);

//tige pour la poulie
translate([coteColonne/2+longSupRap-2, 0, hauteurColonne/2-diametreTrou/2]){
    rotate([0, 90, 0]){
        translate([0, 0, 0]){
            cylinder(h = longTige, r1 = diametreTrou/2, r2 = diametreTrou/2, $fn = 1000, center = false);
        }
    }
    
}

//support pour enfiler le rapporteur
translate([coteColonne/2+longSupRap/2-1, 0, 0]){
    cube([longSupRap, epSupRap, hauteurColonne], center = true);
}

//socle
difference(){
    translate([0, 0, -hauteurColonne/2+epaisseurSocle/2]){
        cube([largSocle, largSocle, epaisseurSocle], center = true);
    }
    //Trous pour les vis : 5
    //Trou 1
    translate([-coteColonne/2-5, 0, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 2
    translate([0, -coteColonne/2-5, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 3
    translate([0, coteColonne/2+5, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 4
    translate([+coteColonne/2+5, epSupRap-2, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 5
    translate([+coteColonne/2+5, -epSupRap+2, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
}

Code OpenSCAD pour le support 2 de la poulie

//dimensions du support de la poulie
coteColonne = 30; //mm  epaisseur de la colonne
hauteurColonne = 57.55 ; //mm
surplusCol = 10; //mm hauteur de la colonne au-dessus du trou

//dimensions du trou
enfoncement = 20; //profondeur du trou pour emboîter la tige
diametreTrou = 7.9; //mm diametre du trou du roulement à billes

//dimensions du socle du support
diametreVis = 2.5; //mm // diametre des trous pour les vis
epaisseurSocle = 5;//mm
largSocle = coteColonne + 20;


//colonne
difference(){
    translate([0, 0, surplusCol/2]){
        cube([coteColonne, coteColonne, hauteurColonne+surplusCol], center = true);
    }
    //Trou pour enfoncer la tige
        translate([-5, 0, hauteurColonne/2-diametreTrou/2]){
        rotate([0, 90, 0]){
        cylinder(h = enfoncement, r1 = diametreTrou/2+0.5, r2 = diametreTrou/2+0.5, $fn = 1000, center = false);
        }
    }
}

//socle
difference(){
    translate([0, 0, -hauteurColonne/2+epaisseurSocle/2]){
        cube([largSocle, largSocle, epaisseurSocle], center = true);
    }
    //Trous pour les vis : 4
    //Trou 1
    translate([-coteColonne/2-5, 0, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 2
    translate([0, -coteColonne/2-5, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 3
    translate([0, coteColonne/2+5, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
    //Trou 4
    translate([+coteColonne/2+5, 0, -hauteurColonne/2]){
        cylinder(h = epaisseurSocle, r1 = diametreVis/2, r2 = diametreVis/2, $fn = 1000, center = false);
    }
}

Code OpenSCAD pour la gaine de la poulie

//dimensions de la gaine
epaisseurR = 7; //m epaisseur du roulement à billes
diametreR = 20; //mm diametre du roulement à billes
depassement = 2; //mm dépassement de la gaine de chaque cote du roulement à billes

epaisseurExt = 15; //mm epaisseur des cylindres exterieurs de la gaine
epaisseurInt = 10; //mm epaisseur du cylindre interieur de la gaine

longFleche = 40; //mm

//cylindre intérieur de la gaine
difference(){
    cylinder(h = epaisseurR, r1 = diametreR/2 + epaisseurInt, r2 = diametreR/2 + epaisseurInt, $fn = 1000, center = true);
    cylinder(h = epaisseurR, r1 = diametreR/2, r2 = diametreR/2, $fn = 1000, center = true);
}

//cylindre extérieur 1 de la gaine
difference(){
    translate([0, 0, epaisseurR/2]){
        cylinder(h = depassement, r1 = diametreR/2 + epaisseurExt, r2 = diametreR/2 + epaisseurExt, $fn = 1000, center = true);
    }
    cylinder(h = epaisseurR+2*depassement, r1 = diametreR/2, r2 = diametreR/2, $fn = 1000, center = true);
}

//cylindre extérieur 2 de la gaine
difference(){
    translate([0, 0, -epaisseurR/2]){
    cylinder(h = depassement, r1 = diametreR/2 + epaisseurExt, r2 = diametreR/2 + epaisseurExt, $fn = 1000, center = true);
    }
    cylinder(h = epaisseurR+2*depassement, r1 = diametreR/2, r2 = diametreR/2, $fn = 1000, center = true);
}

//tige de la fleche
translate([diametreR/2+epaisseurExt-1+longFleche/2, 0, epaisseurR/2]){
    cube([longFleche, depassement, depassement], center = true);
}

//pointe de la fleche
translate([diametreR/2+epaisseurExt+longFleche-1, 0, epaisseurR/2]){
    rotate([0, 0, 45]){
        cube([2, 2, 2], center = true);
    }
}

Découpe/gravure

Code OpenSCAD pour le cadre

//dimensions du cadre
longC = 300 + 80 + 40; //mm longueur du cadre
hautC = 300; //mm hauteur du cadre
bordureBas = 50; //mm épaisseur de la partie inférieure du cadre
bordure = 40; //mm épaisseur des partie latérales et supérieure du cadre
largeurFente = 7; //mm
profondeurFente = 25; //mm

difference(){
    square([longC, hautC], center = true);
    translate([0, (bordureBas-bordure)/2, 0]){
        square([longC-bordure*2, hautC-bordure-bordureBas], center = true);
    }
    translate([-largeurFente/2, -hautC/2+bordureBas/2, 0]){
        square([largeurFente, profondeurFente]);
    }
   
}

Code OpenSCAD pour le bras de levier

//dimensions du bras de levier
largeur = 40; //mm
diametreTrou = 4; //mm
nbUnites = 48; //nombre d'encoches
longueur = 500; //mm longueur de la barre à partir du trou

//dimensions des encoches
profondeurEncoche = 2; //mm
var = 0;

difference(){
    square([longueur, largeur]);
    //trou
    translate([0, largeur/2, 0]){
        circle(diametreTrou/2, $fn = 360);
    }
    //encoches
    for (i=[1:nbUnites]){
        var = i*10;
        translate([var, 0, 0]){
            rotate([0, 0, 45]){
                square([profondeurEncoche, profondeurEncoche], center = true);
            }
        }
    }
}

//Pour la forme arrondie
translate([0, largeur/2, 0]){
    difference(){
        circle(largeur/2);
        //trou
        circle(diametreTrou/2, $fn = 360);
    }
}

Code OpenSCAD pour le soutien de bras de levier

Code OpenSCAD pour la pièce d'emboîtement 1

Code OpenSCAD pour la pièce d'emboîtement 2

Code OpenSCAD pour la pièce d'emboîtement 3

Code OpenSCAD pour l'ailette

Code OpenSCAD pour la barre

Code OpenSCAD pour le support inférieur

Code OpenSCAD pour le support supérieur

Code OpenSCAD pour les pieds

Code OpenSCAD pour la barre de soutien

Code OpenSCAD pour le rapporteur

LDAP: couldn't connect to LDAP server
wiki/projet/codes_openscad.1491482894.txt.gz · Dernière modification: 2017/04/06 12:48 de amauge