Ceci est une ancienne révision du document !
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);
}
}
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);
}
//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);
}
}
}
//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);
}
}
}
//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);
}
}
//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);
}
}
//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);
}
}