chiark / gitweb /
poster-tube-lid: WallMountBase wip
[reprap-play.git] / poster-tube-lid.scad
index 8908e1bfb7ba0780a023f73c05788f814c33fd39..1ae66dece28a1af5f162ced1252a459131ef6424 100644 (file)
@@ -98,11 +98,13 @@ wmb_screw_head_dia = 10; // XXX
 wmb_screw_around_x = 4; // XXX
 wmb_screw_around_z = 6; // XXX
 wmb_screw_depth_min = 10;
-web_screw_len = 18; // XXX
+web_screw_len = 15 + 1; // XXX
 wmb_nut_across = 8; // XXX
 wmb_nut_around_min = 2; // XXX
 wmb_nut_behind_min = 5;
 wmb_nut_th = 4; // XXX
+wmb_mount_wall = 4.5;
+wmb_mount_gap_xy = 0.5;
 wmb_ring_gap = 1.0;
 
 catch_stalk_h = 4.5;
@@ -202,6 +204,9 @@ wmb_z_screw = max(
                  wmb_nut_around_min + wmb_nut_rad
                  );
 wmb_z_max = wmb_z_screw * 2;
+wmbb_y_max = wmb_y_mount_max + wmb_mount_gap_xy + wmb_mount_wall;
+wmbb_x_outer = wmb_x_outer - (wmb_mount_gap_xy + wmb_mount_wall);
+wmbb_z_min = -20; // XXX
 
 smc_pos = [ 0, sm_inner_rad, 0 ];
 
@@ -678,12 +683,16 @@ module WallMount(){ ////toplevel
   }
 }
 
+module WallMountBaseRingCut(){
+  circle(r = wmb_mount_cut_rad);
+}
+
 module WallMountBaseMounts(){
   linextr(0, wmb_z_max) {
     difference(){
       rectfromto([ -sm_outer_rad,            -wmb_y_mount_max ],
                 [ wmb_x_outer, +wmb_y_mount_max ]);
-      circle(r = wmb_mount_cut_rad);
+      WallMountBaseRingCut();
     }
   }
 }
@@ -726,8 +735,19 @@ module WallMountForBase(){ ////toplevel
   }
 }
 
+module WallMountBase(){ ////toplevel
+  linextr(wmbb_z_min, wmb_z_max) {
+    difference(){
+      rectfromto([ 0,            -wmbb_y_max ],
+                [ wmbb_x_outer, +wmbb_y_max ]);
+      WallMountBaseRingCut();
+    }
+  }
+}
+
 module WallMountForBaseDemo(){ ////toplevel
   WallMountForBase();
+  color("blue") WallMountBase();
   %WallMountBaseScrewsEtc();
 }