chiark / gitweb /
toolbox-inserts: break out AtFixings, wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 21 Apr 2025 18:14:15 +0000 (19:14 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 21 Apr 2025 18:14:15 +0000 (19:14 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
toolbox-inserts.scad

index cbaac465176c1461a4892ca1440aec046960e97d..440b2f1ce80673498080f0e5d5cdffa5114f6e21 100644 (file)
@@ -188,10 +188,19 @@ module BoxBottomModel() { ////toplevel
   }
 }
 
-module FullPlate() { ////toplevel
+module AtFixings() {
   n_x = ceil(box_x / fixing_pitch / 2) + 1;
   n_y = ceil(box_y / fixing_pitch / 2) + 1;
 
+  for (xi=[ for (xi = [-n_x : n_x])
+           if (xi != 0)
+           xi ])
+    for (yi=[-n_y : n_y + 1])
+      translate(fixing_pitch * [xi, yi - 0.5, 0])
+       children(0);
+}
+
+module FullPlate() { ////toplevel
   render() difference(){
     render() intersection(){
       BoxCavityModel();
@@ -199,20 +208,18 @@ module FullPlate() { ////toplevel
     }
 
     intersection(){
-      for (xi=[ for (xi = [-n_x : n_x ])
-               if (xi != 0)
-               xi ])
-       for (yi=[-n_y : n_y + 1])
-         translate(fixing_pitch * [xi, yi - 0.5, 0]) {
-           linextr(-20, -below_plane_z + fixing_head_th)
-             circle(r = fixing_head_d/2);
-           linextr(-20, 20)
+      union(){
+       AtFixings() {
+         linextr(-20, -below_plane_z + fixing_head_th)
+           circle(r = fixing_head_d/2);
+         linextr(-20, 20)
            circle(r = fixing_nom_d/2);
-         }
+       }
+      }
 
-      linextr(-100, 100)
-       offset(r = -plate_unholed_edge_w)
-       BoxCavityModelMainPlan();
+//      linextr(-100, 100)
+//     offset(r = -plate_unholed_edge_w)
+//     BoxCavityModelMainPlan();
     }
   }
 }