3d_print/Forester/key_rubber.scad

42 lines
1.1 KiB
OpenSCAD

include <BOSL2/std.scad>
// origin is bottom left corner.
t = 0.3;
t_bot = 1;
r = 1;
$fn = 36;
print = 0; // 0 or 1
body = [29,22];
body_h = 5;
left(50*print) {
up(1) rect_tube(size=body, wall=t, h=body_h-1, anchor=BOTTOM+LEFT+FWD, rounding=r, irounding=r);
up(body_h) cuboid([body[0], body[1], t_bot], anchor=BOTTOM+LEFT+FWD, rounding=r, edges="Z");
difference() {
up(2) rect_tube(size=body, wall=t*3, h=body_h - 2, anchor=BOTTOM+LEFT+FWD, rounding=r, irounding=r);
right(7) back(20) cuboid([10,10,10]);
right(22) back(20) cuboid([10,10,10]);
}
back(17) up(body_h) {
right(7) cyl(h=1.5, d=4, anchor=TOP);
right(22) cyl(h=1.5, d=4, anchor=TOP);
}
back(13) up(body_h) {
right(7) cuboid([7,1,2.5], anchor=TOP);
right(22) cuboid([7,1,2.5], anchor=TOP);
}
color("red") back(17.5) up(body_h+t) {
right(7) cuboid([10.5,8.5,3], anchor=BOTTOM, rounding=2, edges="Z");
right(22) cuboid([10.5,8.5,3], anchor=BOTTOM, rounding=2, edges="Z");
}
}