3d_print/Admin/sluchawki.scad
2026-01-01 13:11:23 +01:00

45 lines
No EOL
1 KiB
OpenSCAD

include <BOSL2/std.scad>
include <BOSL2/screws.scad>
h = 190;
w = 35;
t = 10;
d = 100;
top_d = 150;
$fn=36*5;
// main vertical part
cuboid([w,t,h]);
// bottom
down(h/2 - t/2) fwd(d/2) difference() {
cuboid([w,d,t]);
for(i=[-w/3, w/3]) {
for(j=[0, d/3]) {
left(i) fwd(j) screw_hole("M4,10", head="flat");
}
}
}
bot_d = 30;
up(bot_d/2) fwd(bot_d/2) down(h/2 - t/2) difference() {
cuboid([w,bot_d,bot_d]);
xrot(45) up(bot_d + 2) cuboid([bot_d*2,bot_d*2,bot_d*2]);
//up(bot_d/2 + t/2) fwd(bot_d/2 + t/2) yrot(90) cyl(d=bot_d*2, h=w+1);
}
// top
up(h/2 - t/2) up(top_d/(sqrt(2)*2))
yrot(180) up(h/2 + top_d/4 - t) // upside down
difference() {
union() {
yrot(90) fwd(top_d/3) cyl(d=top_d, h=w);
down(w) fwd(w/2) cuboid([w,w*2,top_d]);
down(w/2) fwd(5) xrot(45) cuboid([w,w*2,w*2]);
}
yrot(90) fwd(top_d/3) cyl(d=top_d - t*2, h=w + 1);
up(top_d/5.6) cuboid([top_d*2,top_d*2,top_d]);
back(50) cuboid([w+1,100,h]);
down(top_d) cuboid([top_d*2,top_d*2,top_d]);// upside down
}