chiark / gitweb /
toolbox-inserts: UniversalJoint: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 27 May 2025 20:33:35 +0000 (21:33 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 27 May 2025 20:33:35 +0000 (21:33 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
toolbox-inserts.scad

index 6b37e4e285406e3020a6a9709edf9b2b39680610..0535f182dadde7b039b938ca38e5155a264da751 100644 (file)
@@ -57,6 +57,10 @@ ratchet_handle_grip_end_h = 23.5; // height of handle at far end (width l.d.)
 // 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;
@@ -499,6 +503,32 @@ module RatchetHandleHolder() { ////toplevel
     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 = [