66 lines
No EOL
2 KiB
OpenSCAD
66 lines
No EOL
2 KiB
OpenSCAD
// stojak na golarkę i pędzel
|
|
include <BOSL2/std.scad>
|
|
|
|
h = 50;
|
|
t = 5;
|
|
razor_dist = 10;
|
|
razor_w = 11;
|
|
brush_dist = 15;
|
|
brush_w = 32;
|
|
dlugosc = razor_w + brush_w + 6*t;
|
|
top_valley = 8;
|
|
|
|
slop = 0.3;
|
|
$fn = 36;
|
|
|
|
szer = razor_w>brush_w ? razor_w+2*t : brush_w+2*t;
|
|
|
|
// podstawka
|
|
union() {
|
|
// dół
|
|
union() {
|
|
cuboid([t*4,szer,t], rounding=t/2)
|
|
left((razor_dist+razor_w*6/4)/2)
|
|
cuboid([razor_dist+razor_w*6/4,szer,t], rounding=t/2);
|
|
right((brush_dist+brush_w)/2)
|
|
cuboid([brush_dist+brush_w,szer,t], rounding=t/2);
|
|
}
|
|
// pion
|
|
round3d(t/2) {
|
|
up(h/2) cuboid([t, szer-t, h], rounding=-15, edges=[BOT+RIGHT, BOT+LEFT]);
|
|
}
|
|
up(h) cuboid([t, szer-t, t], rounding=t/2, edges="Z");
|
|
// połączenia
|
|
up(h+t) back(szer/4) cuboid([t,t,t], rounding=1, edges=TOP);
|
|
up(h+t) fwd(szer/4) cuboid([t,t,t], rounding=1, edges=TOP);
|
|
}
|
|
|
|
// góra
|
|
back(szer*2) difference() {
|
|
// góra
|
|
union() {
|
|
left(razor_dist-brush_dist)
|
|
cuboid([(razor_dist+brush_dist),szer,t], rounding=t/2);
|
|
left((razor_dist+razor_w)/2)
|
|
cuboid([razor_dist+razor_w,szer,t], rounding=t/2);
|
|
right((brush_dist+brush_w)/2)
|
|
cuboid([brush_dist+brush_w,szer,t], rounding=t/2);
|
|
}
|
|
// dziury na połączenia
|
|
back(szer/4) cuboid([t+slop,t+slop,t+slop], rounding=-1, edges=BOT);
|
|
fwd(szer/4) cuboid([t+slop,t+slop,t+slop], rounding=-1, edges=BOT);
|
|
// dziura na golarkę
|
|
left(razor_dist + razor_w/2) union() {
|
|
cyl(h=t+slop, d=razor_w, rounding=-2);
|
|
left(dlugosc/2) cuboid([dlugosc, razor_w, t+slop], rounding=-2, edges="X");
|
|
up((top_valley*razor_w/2)/2) xrot(90)
|
|
cyl(h=szer, d=top_valley*razor_w/2, $fn=$fn*2);
|
|
}
|
|
// dziura na pędzel
|
|
right(brush_dist+brush_w/2) union() {
|
|
cyl(h=t+slop, d=brush_w, rounding=-2);
|
|
right(dlugosc/2) cuboid([dlugosc, brush_w, t+slop], rounding=-2, edges="X");
|
|
up((top_valley*brush_w/2)/2) xrot(90)
|
|
cyl(h=szer, d=top_valley*brush_w/2, $fn=$fn*2);
|
|
}
|
|
} |