chiark / gitweb /
toolbox-inserts: Bits, fixings and positioning
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 20 May 2025 20:12:06 +0000 (21:12 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 20 May 2025 20:12:06 +0000 (21:12 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
toolbox-inserts.scad

index f655019832aa997bdb1edb243e882d2bf77e2801..e30db4d6292485509ff21f07708d11aea7b6f777 100644 (file)
@@ -69,7 +69,8 @@ bit_registration_wall_gap = 0.33;
 bit_mag_th = 1.0 + 0.125;
 bit_h = 10;
 
-bit_holder_offset = [0, -4];
+bit_holder_offset = [0, +3];
+bit_holder_fixings_dn = -1;
 
 $fs = 0.1;
 $fa = 3;
@@ -511,6 +512,17 @@ module BitAtBits() {
     }
   }
 }
+module BitAtFixings() {
+  dist = fixing_pitch *
+    (
+     floor(bit_pitch_x * (bit_n_x-1) / fixing_pitch)
+     + bit_holder_fixings_dn
+     );
+  for (x = [-1,+1] * dist/2) {
+    translate([x, 0, 0] - concat(bit_holder_offset, [0]))
+      children(0);
+  }
+}
 
 module BitMagnetHolder(){ ////toplevel
   linextr(0, bit_mag_th){
@@ -518,6 +530,8 @@ module BitMagnetHolder(){ ////toplevel
       BitMagnetHolderPlan();
       BitAtBits()
        circle(r = bit_mag_d/2);
+      BitAtFixings()
+       circle(r = fixing_hole_d/2);
     }
   }
 }
@@ -532,7 +546,14 @@ module BitBitHolder(){ ////toplevel
     }
     linextr(-1, bit_mag_th)
       BitHolderInnerPlan();
+    BitAtFixings()
+      translate([0,0, bit_mag_th - 0.1])
+      FixingInternalThread($fixing_depth = fixing_depth - bit_mag_th);
   }
+
+  %BitAtFixings()
+    linextr(0, 30)
+    circle(r= 0.5, $fn=4);
 }
 module BitBitHolderPrint(){ ////toplevel
   rotate([180,0,0]) BitHolder();
@@ -687,7 +708,7 @@ module OverallDemo() { ////toplevel
   color("blue") RightPlate();
   color("red") OdAt(-5.5, -4.5) DriverHandleHolder();
   color("red") OdAt(+0.5, +4.5) RatchetHandleHolder();
-  OdAt(0, +2.5) translate(concat(bit_holder_offset, [0])) {
+  OdAt(0.5, +2) translate(concat(bit_holder_offset, [0])) {
     color("brown") BitBitHolder();
     color("green") BitMagnetHolder();
   }