okulary Jan

This commit is contained in:
Sasza Stanczew 2026-03-28 19:46:23 +01:00
parent 65aad0d225
commit 14582bf935

46
Jan/okulary_blind.scad Normal file
View file

@ -0,0 +1,46 @@
include <BOSL2/std.scad>
g_th = 4.5;
t = 2;
g_len = 70;
$fn = 5;
hinge_num = 5;
hinge_d = 5;
hinge_h = 2;
// do not edit
// clip-on glasses
diff("r") {
bez = bezpath_curve([[0,0], [6.5,g_len/2], [0,g_len]], N=2);
path_extrude2d(bezpath_curve(bez, N=2)) {
diff("R") {
square([g_th+2*t, g_th+t], anchor=TOP);
tag("R") square([g_th, g_th], anchor=TOP);
}
}
cuboid([g_th+2*t,t,(g_th+t)*2]);
tag("r") cuboid([g_th+2*t,g_th+2*t,g_th*2], anchor=FWD+RIGHT);
tag("r")back(g_len) cuboid([20,20,20], anchor=BACK+RIGHT);
}
// hinge
back(g_len - 2) right(g_th/2 + t/2) zrot(11) xrot(7) diff("R") {
right(4) for(i=[0 : hinge_num-1]) {
up(hinge_h/2 + i * hinge_h*5 / (hinge_num-1))
if(i%2==0) {
fwd(t/2) cuboid([hinge_d,hinge_d+t,hinge_h], rounding=1, edges="Z");
} else {
left(t/2) cuboid([hinge_d+t,hinge_d,hinge_h], rounding=1, edges="Z");
}
}
up(2) cuboid([t,t*2,15]);
tag("R") right(4) cyl(h=100, d=1);
}
// blind
back(g_len) right(g_th/2 + t/2 + 4) zrot(11) union() {
xrot(7) fwd(4.5) down(2) right(1.15) cuboid([t,10,20], anchor=BOT+BACK, rounding=3, edges="X");
fwd(6) down(3) cuboid([t,60,50], anchor=BOT+BACK, rounding=3, edges="X");
}