chiark / gitweb /
poster-tube-lid: WallMountForBase wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Aug 2023 11:15:36 +0000 (12:15 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Aug 2023 11:15:36 +0000 (12:15 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
poster-tube-lid.scad

index 39fdecc0fc9f035e6c855f4b92aa2ac12cd44e55..70e00de6322db87f0b3fd4314b09524da1620896 100644 (file)
@@ -98,6 +98,8 @@ wmb_screw_around_x = 4; // XXX
 wmb_screw_around_y = 6; // XXX
 wmb_screw_depth = 10; // XXX
 wmb_nut_across = 8; // XXX
+wmb_nut_around_min = 2; // XXX
+wmb_nut_th = 4; // XXX
 wmb_gap = 1.0;
 
 catch_stalk_h = 4.5;
@@ -175,13 +177,16 @@ wm_z_slot1_screw = wm_z_slot0_screw + wm_screw_slot;
 wm_z_max = wm_z_slot1_screw + wm_screw_around;
 
 wmb_mount_cut_rad = sm_outer_rad + wmb_gap;
-wmb_x_screw = -sm_outer_rad + wmb_screw_around_x + wmb_screw_dia/2;
+wmb_x_screw = -sm_outer_rad + max(
+                                 wmb_screw_around_x + wmb_screw_dia/2,
+                                 wmb_nut_around_min + wmb_nut_across/2
+                                 );
 function wmb_screw_thing_y_min(dia) = sqrt(
                       pow(wmb_mount_cut_rad, 2) -
                       pow(wmb_x_screw + dia/2, 2)
                       );
 wmb_y_screw_end = wmb_screw_thing_y_min(wmb_screw_dia);
-wmb_y_nut_min = wmb_screw_thing_y_min(wmb_nut_across);
+wmb_y_nut_min = wmb_screw_thing_y_min(wmb_nut_across + wmb_nut_around_min*2);
 wmb_z_screw = 10; // XXX
 
 smc_pos = [ 0, sm_inner_rad, 0 ];
@@ -666,11 +671,20 @@ module WallMountBaseMounts(){
 module WallMountBaseScrewsEtc(){
   for (my=[0,1]) {
     mirror([0, my, 0]) {
-      translate([wmb_x_screw, 0, wmb_z_screw])
+      translate([wmb_x_screw, 0, wmb_z_screw]) {
        linextr_y_xz(wmb_y_screw_end,
                     wmb_y_screw_end + wmb_screw_depth)
-       circle(r = wmb_screw_dia/2);
-//      translate([
+         circle(r = wmb_screw_dia/2);
+       linextr_y_xz(wmb_y_nut_min,
+                    wmb_y_nut_min + wmb_nut_th){
+         hull(){
+           rotate(30)
+             circle(r = wmb_nut_across / cos(30) * 0.5, $fn = 6);
+           translate([0, 100]) // XXX change 100
+             square(wmb_nut_across, center=true);
+         }
+       }
+      }
     }
   }
 }