// many other parameters hardcoded in RatchetHandlePositive
ratchet_handle_shaft_main_d = 10.0;
+universal_joint_main_len = 30; // XXXX
+universal_joint_d_end = 14.0;
+universal_joint_d_fat = 14.6;
+
bit_pitch_x = 25.4 * 2 / 5;
bit_pitch_y = 25.4 * 3 / 4;
bit_n_x = 10;
RatchetHandleWell();
}
+//-------------------- UniversalJoint ----------
+
+module UniversalJointPositive() { ////toplevel
+ hl = universal_joint_main_len/2;
+ for (mx = [0, 1]) {
+ mirror([mx, 0, 0]) {
+ multmatrix([[1, 0, 0, 0],
+ [0, 1, 0, 0],
+ [0, 0, 1, 0]]) {
+ if (mx == 0) {
+ linextr_x_yz(-hl -8, -hl +1)
+ circle(r = 8.2 /2);
+ }
+ hull(){
+ linextr_x_yz(-hl, -hl + 0.1)
+ circle(r = universal_joint_d_end/2);
+ linextr_x_yz(-0.1, 0.1)
+ circle(r = universal_joint_d_fat/2);
+ }
+ }
+ }
+ }
+}
+module UniversalJointHolder() { ////toplevel
+}
+
//==================== bit holder ====================
bitholder_sz = [