3d_print/Sasza/wino_pompa.scad

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();
}