2022-07-07 16:30:42 +02:00
|
|
|
|
|
|
|
t = 7;
|
2022-07-07 18:37:10 +02:00
|
|
|
w = 30;
|
2022-07-07 16:30:42 +02:00
|
|
|
h = 47.7;
|
|
|
|
rc = 6.5;
|
|
|
|
rcs = 2;
|
|
|
|
ofs = 88.1-w;
|
|
|
|
|
|
|
|
$fn = 100;
|
|
|
|
module through(l=7, lh=3.3, lt=1, lb=1){
|
|
|
|
union(){
|
|
|
|
translate([0,0,l-lh])cylinder(h=lh+lt, d=5.6);
|
|
|
|
translate([0,0,-lb])cylinder(h=l+lh+lb, d=3.5);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module m3 (h=8, lb=1){
|
|
|
|
translate([0,0,-lb])cylinder(h+lb, d=2.5); // tapped M3
|
|
|
|
//translate([0,0,-lb])cylinder(h+lb, d=4); // rutex insert
|
|
|
|
}
|
|
|
|
|
|
|
|
difference(){
|
|
|
|
hull(){
|
|
|
|
translate([w-rc, rc])cylinder(h=t, r=rc);
|
|
|
|
translate([w-rc,h-rc])cylinder(h=t, r=rc);
|
|
|
|
translate([rcs, h-rcs])cylinder(h=t, r=rcs);
|
|
|
|
translate([rcs, rcs])cylinder(h=t, r=rcs);
|
|
|
|
}
|
|
|
|
translate([72.2-ofs, h-14.75])through(l=t);
|
|
|
|
translate([72.2-ofs, h-39.9])through(l=t);
|
2022-07-07 23:21:27 +02:00
|
|
|
translate([82.1-ofs, h-6.65])through(l=t+4);
|
|
|
|
translate([82.1-ofs, h-6.65-14])m3();
|
2022-07-07 16:30:42 +02:00
|
|
|
translate([w-7, h-24-14,-1])hull(){
|
|
|
|
translate([7,0])cube([1,14, t+2]);
|
|
|
|
translate([3,3])cylinder(h=t+2,r=3);
|
|
|
|
translate([3,11])cylinder(h=t+2,r=3);
|
|
|
|
}
|
|
|
|
translate([-1,h-19.5-31,-1])hull(){
|
2022-07-07 18:37:10 +02:00
|
|
|
cube([0.01,33,t+2]);
|
|
|
|
translate([5,3])cylinder(h=t+2,r=3);
|
|
|
|
translate([5,30])cylinder(h=t+2,r=3);
|
2022-07-07 16:30:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
for(x=[72.6-ofs]){
|
|
|
|
for(y=[33.4]){
|
|
|
|
translate([x,h-y,0])m3();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for(x=[64.6-ofs]){
|
|
|
|
for(y=[11.4]){
|
|
|
|
translate([x,h-y,0])m3();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|