35 lines
No EOL
877 B
OpenSCAD
35 lines
No EOL
877 B
OpenSCAD
include <BOSL2/std.scad>
|
|
|
|
base = [250, 135, 4];
|
|
box = [235,120, 95];
|
|
t = 1.5;
|
|
$slop = 1;
|
|
c1 = 0.5;
|
|
c2 = -0.5;
|
|
top = [120,30];
|
|
|
|
|
|
box_out = [box[0]+2*t, box[1]+2*t, box[2]+t];
|
|
// top box
|
|
up(box_out[2]/2) difference() {
|
|
// box
|
|
cuboid(box_out, chamfer=c1, edges=[TOP,"Z"]);
|
|
// hollow middle
|
|
down(t/2) cuboid(box);
|
|
// hole at the top
|
|
up(box_out[2]/2) union() {
|
|
left(top[0]/2) cyl(d=top[1], h=t, anchor=TOP, chamfer=c2);
|
|
right(top[0]/2) cyl(d=top[1], h=t, anchor=TOP, chamfer=c2);
|
|
cuboid([top[0], top[1], t], anchor=TOP, chamfer=c2);
|
|
}
|
|
}
|
|
// base
|
|
down(base[2])difference() {
|
|
cuboid(base, chamfer=c1);
|
|
difference() {
|
|
// box
|
|
up(base[2]/2) cuboid([box_out[0]+$slop,box_out[1]+$slop,base[2]], chamfer=c1, edges="Z");
|
|
// hollow middle
|
|
down(t/2) cuboid([box[0]-$slop,box[1]-$slop,box[2]]);
|
|
}
|
|
} |