85 lines
1.9 KiB
OpenSCAD
85 lines
1.9 KiB
OpenSCAD
module base(hauteur, diam, diam2, diam3, decoupe, hcube,halesage, dalesage, dvis,
|
||
largeurcroix){
|
||
|
||
union (){
|
||
translate([0,0,hauteur]){
|
||
rotate([180,0,0]){
|
||
difference(){
|
||
|
||
// Mise-en-place du cylindre global
|
||
translate([0,0,hauteur/2])
|
||
|
||
cylinder(h=hauteur, r=diam/2, center=true);
|
||
|
||
|
||
// Cylindre légèrement conique pour le passage
|
||
// du pommeau de douche
|
||
// Placement vertical
|
||
translate([0,0,22.175])
|
||
rotate([90,0,0])
|
||
cylinder(h=diam+1, r1=diam2/2, r2=diam3/2, center=true);
|
||
|
||
// Placement d’un parallélépipède pour adoucir l’ouverture
|
||
translate([0,0,hauteur-hcube/6])
|
||
cube([decoupe, diam+3, hcube], center=true);
|
||
|
||
// Placement de l’alesage pour la tête de vis
|
||
translate([0,0,22.175 - (diam2 + diam3) / 4 - halesage + 1 ])
|
||
cylinder(h=halesage+1,r=dalesage /2);
|
||
|
||
// alesage pour la vis
|
||
translate([0,0,-1])
|
||
cylinder(h=15, r=dvis/2);
|
||
|
||
translate([0,0,-0.05])
|
||
|
||
difference () {
|
||
union () {
|
||
// cylindre à enlever
|
||
cylinder(h=3, r=diam/2+1);
|
||
// et cylindre un peu plus haut pour creuser
|
||
// par en-sessous
|
||
cylinder(h=8, r=31/2);
|
||
}
|
||
|
||
// On enleve de la matière pour en remettre…
|
||
translate([0,0,-0.5])
|
||
cylinder (h=8.5, r=20.2/2);
|
||
}
|
||
|
||
|
||
// On va maintenant creuser un peu hautour de l’alésage
|
||
// Mais un truc pas si simple…
|
||
difference () {
|
||
translate([0,0,-0.05])
|
||
cylinder(h=8.05, r=16.2 /2);
|
||
translate([0,0,2.2])
|
||
cylinder(h=5.8, r=11.2/2);
|
||
translate([-10,-largeurcroix/2,2.6])
|
||
cube([20, largeurcroix, 5.8], center=false);
|
||
translate([-largeurcroix/2,-10,2.6])
|
||
cube([largeurcroix, 20, 5.8], center=false);
|
||
} // difference
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
// Ajout de parois verticales
|
||
// pour soutenir pendant la construction
|
||
for (decalage=[-1,1]){
|
||
translate([0,0.34*diam*decalage,diam2/2])
|
||
cube([diam * 0.66, 1, diam2], center=true);
|
||
}
|
||
}
|
||
}
|
||
|
||
$fn=100;
|
||
|
||
base (hauteur=31, diam=34,
|
||
diam2 = 20.8, diam3 = 22.5,
|
||
decoupe = 16.9, hcube = 10,
|
||
halesage=4, dalesage=8,
|
||
dvis = 4, largeurcroix = 0.7
|
||
);
|