diff --git a/Sasza/bron/ft1911/thumb_rest.scad b/Sasza/bron/ft1911/thumb_rest.scad index d2b182e..0fa5f3f 100644 --- a/Sasza/bron/ft1911/thumb_rest.scad +++ b/Sasza/bron/ft1911/thumb_rest.scad @@ -1,14 +1,18 @@ include +// external model down(7.3) left(20) back(0.35) import("/home/sasza/Pobrane/1.stl", center=true); t = 1.5; frame_dist = 0.4; +$fn = 46; -thumb_size = [12,14,t]; +thumb_size = [14,17,2]; thumb_fwd = 10; thumb_up = 2; +thumb_clearance = 0.4; +// base for the hinge chain_hull() { cyl(d=8.5, h=2.22, anchor=TOP, $fn=36); down(t - frame_dist) right(thumb_fwd) fwd(thumb_up) zrot(180+45) @@ -17,23 +21,29 @@ chain_hull() { hinge_d = 2.5; hinge_hole = 0.8; -hinge_num = 4; +hinge_num = 5; hinge_h = 3; +// hinged part down(t - frame_dist) right(thumb_fwd) fwd(thumb_up) zrot(180+45) xrot(-90) difference() { - down(thumb_size[1]/2) right(hinge_d/2) fwd(hinge_d/2 + t + 0.1) for(i=[0 : hinge_num]) { - up(i * thumb_size[1] / hinge_num) + down(thumb_size[1]/2) right(hinge_d/2) fwd(hinge_d/2 + t + 0.1) + for(i=[0 : hinge_num-1]) { + up(hinge_h/2 + i * (thumb_size[1]-hinge_h) / (hinge_num-1)) if(i%2==0) { - back(0.25) cuboid([hinge_d,hinge_d+0.5,hinge_h], rounding=1, edges="Z"); + back(t/2) cuboid([hinge_d,hinge_d+t,hinge_h], rounding=1, edges="Z"); } else { - left(0.25) cuboid([hinge_d+0.5,hinge_d,hinge_h], rounding=1, edges="Z"); + left(t/2) cuboid([hinge_d+t,hinge_d,hinge_h], rounding=1, edges="Z"); } } + // hole for hinge wire up(0) right(hinge_d/2) fwd(hinge_d/2 + t + 0.1) cyl(d=hinge_hole, h=thumb_size[1]*2, $fn=36); } +// thumb part right(thumb_fwd) fwd(thumb_up) zrot(180+45) down(t - frame_dist) yrot(-90) down(t) - up(hinge_d/2 + t/2) + up(hinge_d/2 + t/2) union() { cuboid(thumb_size, anchor=LEFT+BOTTOM, rounding=t/2, edges=["X","Z", RIGHT]); + cuboid([t,thumb_size[1]-t,thumb_clearance], anchor=LEFT+TOP, chamfer=thumb_clearance/2, edges=BOTTOM); +}