//---------- RatchetHandle ----------
module RatchetHandlePositive() { ////toplevel
- xhe = -87.0 + 0.5;
- xs1 = -40.0;
- xh1 = 14.0;
- head_y = 12.1 + 0.5;
- head_d0 = 26.5;
- head_xmid = (xs1 + xhe)/2;
+ xhe = -87.0 + 0.5; // head, most distant end
+ xh1 = -40.0; // head, near end (where it meets shaft)
+ head_y = 12.1 + 0.5; // head, thickness
+ head_d0 = 26.5; // head, diameter of nominal circle (width laid down)
+ xg1 = 14.0; // grip, widest point (near inner end of grip)
+ // calculated
+ head_xmid = (xh1 + xhe)/2;
+
+ // grip, main part
hull(){
- translate([xh1, 0,0])
+ // fat stubby oval at widest point
+ translate([xg1, 0,0])
linextr_x_yz(0, 0.1)
rotate(90)
oval([ 21.8, 18.1 ]/2);
+ // tall oval at far end
translate([63.1 + 0.5, 0,0])
linextr_x_yz(-0.1, 0)
rotate(90)
oval([ 23.5, 16.8 ]/2);
}
- linextr_x_yz(0, xh1)
+
+ // grip, circular part at inner end
+ linextr_x_yz(0, xg1)
circle(r = 19.0/2);
+
+ // shaft
linextr_x_yz(head_xmid, 1)
circle(r = 10.0 /2);
+
+ // head, main part (oval)
linextr_y_xz(-head_y/2, head_y/2) {
rotate(180)
translate([ head_xmid, 0,0 ])
- oval([ xs1 - xhe, head_d0 ]/2);
+ oval([ xh1 - xhe, head_d0 ]/2);
}
}