chiark / gitweb /
air-hockey-puck: wip
[reprap-play.git] / digispark-with-cable.scad
index 477cb86839d9c1ddca29522195d841b8ccf3fb72..1ad978c878af66ee7bcb99deda0bc93b90872ca3 100644 (file)
@@ -38,12 +38,13 @@ small_walls = [
 chip_cutout = [[ -sw_to_edge + 4.20,    -3.75 ],
               [ -sw_to_edge + 11.95,  -11.90 ]];
 
-strain_w = 2.5 + 0.5;
-strain_t = 1.0 + 0.5;
+strain_w = 3.5 + 0.5;
+strain_t = 1.5 + 0.5;
 strain_pitch_across = 5;
 strain_pitch_along = 10;
 strain_groove_d = 2;
 strain_groove_w = 4.5;
+strain_around = [2.25, 2.00];
 
 cover_strap_c_d_y = 5.5; // from front of board
 cover_registration_sz_y = 2;
@@ -120,7 +121,6 @@ module NormalStrapCutouts(y_c, z, rot){
 module BottomStrapCutouts(y_c){
   NormalStrapCutouts(y_c, bottom_base_z, -45);
 }
-// XXXX check strap width
 module CoverStrapCutouts(){
   BothSides(){
     translate([ -total_side_wall_x, -cover_strap_c_d_y, cover_top_z ])
@@ -201,6 +201,14 @@ module MidBotRegistrations(){
   }
 }
 
+module MiddleStrainHoles(){
+  BothSides(){
+    for (y_c = [strain_0_y_c, strain_1_y_c]) {
+      translate([strain_pitch_across/2, y_c, 0])
+       square([ strain_t, strain_w ], center=true);
+    }
+  }
+}
 module Middle(){ ////toplevel
   difference(){
     union(){
@@ -217,13 +225,8 @@ module Middle(){ ////toplevel
       MidBotRegistrations();
     }
 
-    for (y_c = [strain_0_y_c, strain_1_y_c]) {
-      for (x_c = [-1,+1] * strain_pitch_across/2) {
-       translate([x_c, y_c, 0])
-         linextr(-20, 20)
-         square([ strain_t, strain_w ], center=true);
-      }
-    }
+    linextr(-20, 20)
+      MiddleStrainHoles();
     linextr_y_xz(total_y_min-1, main_y_min)
       translate([0, middle_base_z])
       scale([1, strain_groove_d/strain_groove_w])
@@ -302,6 +305,12 @@ module Cover(){ ////toplevel
       CoverRegistrations();
     }
     CoverStrapCutouts();
+    linextr(-20,20) {
+      minkowski(){
+       square(strain_around * 2, center=true);
+       hull() MiddleStrainHoles();
+      }
+    }
   }
 }
 module CoverPrint(){ ////toplevel
@@ -313,3 +322,8 @@ module BottomDemo(){ ////toplevel
   %Middle();
   translate([0, 0, +0.25]) Cover();
 }
+module ImpressionDemo(){ ////toplevel
+  color("black") translate([0, 0, -0.25]) Bottom();
+  %Middle();
+  %translate([0, 0, +0.25]) Cover();
+}