Import initial
This commit is contained in:
commit
31d32f147f
66
cale.scad
Normal file
66
cale.scad
Normal 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
84
douche.scad
Normal 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 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
|
||||
);
|
100
douche2.scad
Normal file
100
douche2.scad
Normal 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 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);
|
||||
|
||||
// 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 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,-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
35
velo.scad
Normal 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 ();
|
Loading…
Reference in New Issue
Block a user