45 lines
No EOL
1 KiB
OpenSCAD
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
|
|
} |