]> git.scottworley.com Git - tattlekey/commitdiff
housing: Flatten
authorScott Worley <scottworley@scottworley.com>
Sat, 7 Oct 2023 18:11:57 +0000 (11:11 -0700)
committerScott Worley <scottworley@scottworley.com>
Wed, 11 Oct 2023 01:47:58 +0000 (18:47 -0700)
housing/tattlekey.scad

index 4567a3dc691c274016d51967a194002fc6617906..0bc4e47aec43055521515400d74c3566e301064a 100644 (file)
@@ -5,8 +5,9 @@ key_interface_corner_r = 5;
 key_interface_thickness = 1.484;
 
 // Chosen to let board fit inside
-housing_inner_h = 8;
+housing_inner_h = 6;
 housing_inner_w = 21;
+housing_flat = 8;
 
 thickness = 1.7;
 
@@ -17,6 +18,7 @@ extra_flare = wiring_l;
 
 pico_board_l = 51.0;
 pico_board_w = 21.0;
+pico_board_h = 1.0;
 pico_total_h = 3.7;
 
 $fs = .1;
@@ -31,9 +33,8 @@ module pico_hole(d, x, y) {
 }
 
 module pico_board(gap = 0) {
-    board_h = 1.0;
     translate([-gap, -gap, -gap])
-    cube([pico_board_l + 2*gap, pico_board_w + 2*gap, board_h + 2*gap]);
+    cube([pico_board_l + 2*gap, pico_board_w + 2*gap, pico_board_h + 2*gap]);
 }
 
 module pico_w(hole_d = 2.1) {
@@ -112,13 +113,15 @@ module key_interface() {
 }
 
 module housing_shape(outline = thickness) {
-    inner_squish = housing_inner_h / housing_inner_w;
     housing_w = housing_inner_w + 2 * outline;
     housing_h = housing_inner_h + 2 * outline;
-    squish = housing_h / housing_w;
+    squish = housing_h / (housing_w - housing_flat);
 
     scale([1, squish])
-    circle(d = housing_w);
+    minkowski() {
+        circle(d = housing_w - housing_flat);
+        square([housing_flat, epsilon], center=true);
+    }
 }
 
 module housing(length = pico_board_l - extra_flare) {
@@ -153,7 +156,7 @@ module flare() {
 }
 
 module at_board() {
-    translate([0, -pico_board_w/2, -1])
+    translate([0, -pico_board_w/2, -pico_board_h])
     children();
 }