E5-Microswiss-Spider/BaseRight.scad

55 lines
1.4 KiB
OpenSCAD

t = 7;
w = 38;
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);
translate([82.1-ofs, h-6.65])through(l=t);
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(){
cube([0.01,31,t+2]);
translate([12,3])cylinder(h=t+2,r=3);
translate([12,28])cylinder(h=t+2,r=3);
}
// translate([32.3,h-52.3,-1])cylinder(h=t+2,d=11);
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();
}
}
}