scad_models/douche.scad

85 lines
1.9 KiB
OpenSCAD
Raw Normal View History

2018-09-08 06:54:46 +00:00
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 dun parallélépipède pour adoucir louverture
translate([0,0,hauteur-hcube/6])
cube([decoupe, diam+3, hcube], center=true);
// Placement de lalesage 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 lalé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
);