chiark / gitweb /
digispark-with-cable: wip progress
[reprap-play.git] / digispark-with-cable.scad
index 3c9169de672eaf396ddef929c37e3c387ba629fd..a2b32998347e3be6cda2461516847243b9849f4f 100644 (file)
@@ -55,11 +55,12 @@ side_x_gap = 0.5;
 
 cover_ceil_th = 0.9;
 
+cover_strap_sz_x = side_wall_th * 3.5;
+
 // calculated
 
 strap_w = strain_w;
-strap_cutout_x = side_wall_th * 2;
-strap_cutout_z = side_wall_th;
+cover_strap_cutout_z = side_wall_th;
 
 top_top_z = usb_wall_h;
 top_base_z = -board_th;
@@ -89,21 +90,28 @@ module BothSides(){
     }
   }
 }
-module StrapCutouts(y_c, z_top){
-  for (z = [ bottom_base_z, z_top ]) {
-    BothSides(){
-      translate([ -total_side_wall_x, y_c, z_top ]) {
-       cube([ strap_cutout_x*2,
-              strap_w,
-              strap_cutout_z*2 ],
-            center=true);
-      }
-    }
+
+module NormalStrapCutouts(y_c, z, rot){
+  BothSides(){
+    translate([ -total_side_wall_x, y_c, z ])
+      rotate([0, rot, 0])
+      cube([ side_wall_th,
+            strap_w,
+            10 ],
+          center=true);
   }
 }
-
+module BottomStrapCutouts(y_c){
+  NormalStrapCutouts(y_c, bottom_base_z, -45);
+}
 module CoverStrapCutouts(){
-  StrapCutouts( -cover_strap_c_d_y, cover_top_z );
+  BothSides(){
+    translate([ -total_side_wall_x, -cover_strap_c_d_y, cover_top_z ])
+      cube([ cover_strap_sz_x*2,
+            strap_w,
+            cover_strap_cutout_z*2 ],
+          center=true);
+  }
 }
 
 module FrontWallsPlan(slop) {
@@ -227,6 +235,7 @@ module Bottom(){ ////toplevel
       CoverRegistrations();
       cube([ 1, fit_gap_y*2, fit_gap_z*2 ], center=true);
     }
+    BottomStrapCutouts(-cover_strap_c_d_y);
   }
 }