diff --git a/Jan/okulary_blind.scad b/Jan/okulary_blind.scad new file mode 100644 index 0000000..1e1e116 --- /dev/null +++ b/Jan/okulary_blind.scad @@ -0,0 +1,46 @@ +include + +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"); +} \ No newline at end of file