67 lines
1.4 KiB
OpenSCAD
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);
|
|
}
|
|
}
|
|
}
|
|
|