Import initial

This commit is contained in:
Matthieu Dubuget 2018-09-08 08:54:46 +02:00
commit 31d32f147f
4 changed files with 285 additions and 0 deletions

66
cale.scad Normal file
View File

@ -0,0 +1,66 @@
$fn = 100;
dext = 335;
dint = 215;
lcube = (((dext - dint) / 2) + 20);
epaisseur = 5;
module etalon (h){
color("blue")
rotate([0,-90,0])
translate([-dint/2+20,0,h/2])
difference(){
cylinder(h=h, r = dext/2, center = true);
cylinder(h=h+1, r = dint/2, center=true);
}
}
translate([-2.5,0,0]) etalon (20);
translate([202.5,0,0]) etalon(200);
union (){
difference(){
rotate([0, -90, 0]) translate([(-(dext / 2) + lcube), 0, 0]) intersection() {
union() {
cylinder(h = 30, r = (dint / 2), center = true);
cylinder(h = epaisseur, r = ((dext - 20) / 2), center = true);
translate([0, 0, (((30 / 2) + (20 / 2)) - 0.1)])
cylinder(h = 20, r1 = (dint / 2), r2 = ((dint - 5) / 2), center = true);
translate([0, 0, ((-(30 / 2) - (20 / 2)) + 0.1)])
cylinder(h = 20, r1 = ((dint - 5) / 2), r2 = (dint / 2), center = true);
}
translate([((dext / 2) - (lcube / 2)), 0, 0])
cube([lcube, 50, 80], center = true);
}
union(){
translate([4,0,0])
cylinder(h=7, r=15/2, center = true);
translate([12,0,0])
cylinder(h=7, r=15/2, center = true);
translate ([-4,0,0])
cylinder(h=5, r=23/2, center=true);
}
translate ([-12,0,0])
cylinder(h=5, r=23/2, center=true);
}
translate([0,0,5])
union(){
for (i=[-1:1]){
translate([0,i * 6,0])
cube ([50,0.5,10],center=true);
}
for (i = [-3:2]){
translate([i * 6,0,0])
cube([0.5,40,10],center=true);
}
}
}

84
douche.scad Normal file
View File

@ -0,0 +1,84 @@
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
);

100
douche2.scad Normal file
View File

@ -0,0 +1,100 @@
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])
union(){
translate([0,0,-hauteur/2 + 1.5])
cylinder(h=3, r=diam/2, center=true);
translate([0,0,1.5])
cylinder(h=hauteur-3, r1=diam/2, r2=diam/2+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+4, 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);
// alesages noyé pour renfort
translate([(diam2+diam3)/4*1.2,0,8.1])
cylinder(h=hauteur*0.72, r=dvis/2);
translate([-(diam2+diam3)/4*1.2,0,8.1])
cylinder(h=hauteur*0.72, 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,-0.5,0.5,1]){
translate([0,0.34*diam*decalage,diam2/2])
cube([diam * 0.66, 0.42, 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
);
// translate([diam,0,0])
//cylinder(h,diam);

35
velo.scad Normal file
View File

@ -0,0 +1,35 @@
module axe_guidon (){
translate([0,0,-50])
cylinder(h=100, r=38/2);
}
module ouverture (){
translate ([0,0,-25])
linear_extrude(height = 50)
polygon(points=[[17,0],[-17,0], [-25,25], [25,25]]);
}
module corps (){
translate([0,10,0])
rotate([90,0,0])
cylinder(h=40,r=25);
}
module encoche (h){
translate([-30,-62,h])
cube (size=[60,40,2.7]);
}
module velo() {
difference (){
corps ();
axe_guidon ();
ouverture();
encoche(14);
}
}
$fn=500;
translate ([0,0,30])
rotate ([90,0,0])
velo ();