55 lines
No EOL
1.2 KiB
OpenSCAD
55 lines
No EOL
1.2 KiB
OpenSCAD
include <BOSL2/std.scad>
|
|
|
|
$fn=36;
|
|
|
|
module conn(d1, d2, h) {
|
|
difference() {
|
|
cyl(d=d1, h=h);
|
|
cyl(d=d2, h=h);
|
|
}
|
|
}
|
|
|
|
module motor() {
|
|
ycyl(d=33, h=25, anchor=FWD);
|
|
ycyl(d=37, h=2, anchor=FWD);
|
|
down(7 - 1.5) back(1) union() {
|
|
left(36/2 + 5) conn(8,4,3);
|
|
right(36/2 + 5) conn(8,4,3);
|
|
}
|
|
}
|
|
|
|
t = 2;
|
|
|
|
guzik1 = [6,8,100];
|
|
guzik2 = 16;
|
|
|
|
module box() {
|
|
diff("R") {
|
|
// box + hole
|
|
cuboid([39,60,39], anchor=FWD);
|
|
tag("R") back(t) cuboid([39-2*t,60-2*t,39-2*t], anchor=FWD);
|
|
tag("R") cuboid(41, anchor=BACK);
|
|
// for tabs
|
|
back(1) down(2.8) union() {
|
|
chain_hull() {
|
|
cuboid([52, 6, t]);
|
|
back(10) cuboid([35,10,t]);
|
|
}
|
|
tag("R") left(36/2 + 5) cyl(d=4, h=10);
|
|
tag("R") right(36/2 + 5) cyl(d=4, h=10);
|
|
}
|
|
// holes for buttons
|
|
tag("R") back(45) union() {
|
|
left(7) cyl(d=guzik2, h=100, anchor=BOT);
|
|
right(10) cuboid(guzik1, anchor=BOT);
|
|
}
|
|
|
|
// hole for cable
|
|
tag("R") down(10) ycyl(d=4, h=500);
|
|
}
|
|
}
|
|
|
|
difference() {
|
|
color([1,0,0,0.5]) box();
|
|
motor();
|
|
} |