chiark / gitweb /
toolbox-inserts: WellSurround: wip screws
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 21 Apr 2025 10:55:22 +0000 (11:55 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 21 Apr 2025 10:55:22 +0000 (11:55 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
toolbox-inserts.scad

index 2cdc6c37ce906697b99a96b6f27104b8e3ee0acf..354260f603c19522cf3ac9e1ddff9c31cc23f593 100644 (file)
@@ -10,7 +10,11 @@ box_edge_z_hindent = 0.5;
 box_edge_width = 10;
 
 below_plane_z = 4.5;
+
 fixing_pitch = 10;
+screw_depth = 6;
+
+fixing_receptacle_d = 4 + 2.5 + 2.5;
 
 well_surround_wall = 2.5;
 well_stiffening_height = 5;
@@ -45,7 +49,8 @@ module WallMinkowskiSphere(wall=well_surround_wall) { ////toplevel
 //
 // ScrewItem should use $depth
 module AtScrewPositions(screws) {
-  for (screw = hull_group) {
+  for (screw = screws) {
+echo("SCREW", screw);
     $screw_depth = is_undef(screw[2]) ? screw_depth : screw[2];
     translate(fixing_pitch * [screw[0], screw[1], 0])
       children(0);
@@ -77,30 +82,35 @@ module WellSurround(
 //    minkowski(){
 //      WallMinkowskiSphere(wall);
 
-    translate(concat(offset, [0])) difference(){
+    difference(){
       union(){
-       linextr(-10, half_height){
+       translate(concat(offset, [0])) linextr(-10, half_height){
          offset($fn=8, r = wall)
            projection(cut=false)
            children(0);
        }
 
        for (hull_group = screws) {
+ echo("HULL GROUP", hull_group);
          hull() {
-           AtScrewPositions(screws) {
+           AtScrewPositions(hull_group) {
+             linextr(0, $screw_depth)
+               circle(r= fixing_receptacle_d/2);
            }
          }
+         AtScrewPositions(hull_group)
+           %linextr(0, 30) circle(r= 0.5, $fn=4);
        }
       }
 
 //     minkowski(){
 //       WallMinkowskiSphere(wall);
-      translate([0, 0, half_height]) {
+      translate(concat(offset, [0])) translate([0, 0, half_height]) {
        children(0);
       }
 //     }
 
-      for (gap=gaps) {
+      translate(concat(offset, [0])) for (gap=gaps) {
        linextr_x_yz(gap[0], gap[1])
          rectfromto([ -100, well_stiffening_height ], [ 100,100 ]);
       }
@@ -114,7 +124,9 @@ module DriverHandleHolder() { ////toplevel
   WellSurround(driver_handle_handle_d/2, [
     [ 15, driver_handle_shaft_l - 15 ],
     [ driver_handle_shaft_l + 15, driver_handle_shaft_l + 45 ],
-  ], [], offset=[-5, 0])
+  ], [ 
+    [ [0,0] ],
+  ], offset=[-5, 0])
     DriverHandlePositive();
 }