1
0
Fork 0
scad_models/cale.scad

67 lines
1.4 KiB
OpenSCAD

$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);
}
}
}