From cc5f2520d1de0e29876085c2f4b328bc93cffed1 Mon Sep 17 00:00:00 2001
From: XANTRONIX Development
Date: Sun, 12 Nov 2023 23:33:01 -0500
Subject: Getting there with smaller corner radius

---
 case/case.scad | 95 +++++++++++++++++++++++++++++-----------------------------
 1 file changed, 48 insertions(+), 47 deletions(-)

(limited to 'case')

diff --git a/case/case.scad b/case/case.scad
index 0a7fd6f..3a93290 100644
--- a/case/case.scad
+++ b/case/case.scad
@@ -110,83 +110,67 @@ module keyboard_base_plate(pcb_width, pcb_length) {
     /* Upper wall */
     side([-pcb_clearance_edge - thickness + corner_radius,
            pcb_clearance_edge + pcb_length,
-          0],
-         [wall_width, thickness, wall_height]);
+          -thickness + corner_radius],
+         [wall_width, thickness, wall_height + thickness - corner_radius]);
           
     /* Right wall */
     side([ pcb_clearance_edge + pcb_width,
           -pcb_clearance_edge - thickness + corner_radius,
-          0],
-         [thickness, wall_length, wall_height]);
+          -thickness + corner_radius],
+         [thickness, wall_length, wall_height + thickness - corner_radius]);
           
     /* Lower wall */
     side([-pcb_clearance_edge - thickness + corner_radius,
           -pcb_clearance_edge - thickness,
-          0],
-         [wall_width, thickness, wall_height]);
+          -thickness + corner_radius],
+         [wall_width, thickness, wall_height + thickness - corner_radius]);
           
     /* Left wall */
     side([-pcb_clearance_edge - thickness,
           -pcb_clearance_edge - thickness + corner_radius,
-          0],
-         [thickness, wall_length, wall_height]);
+          -thickness + corner_radius],
+         [thickness, wall_length, wall_height + thickness - corner_radius]);
 
     /* Upper right wall corner */
     wall_corner([thickness + pcb_clearance_edge + pcb_width - corner_radius,
                  thickness + pcb_clearance_edge + pcb_length - corner_radius,
-                0],
+                -thickness + corner_radius],
                 [0, 0, 0],
                 corner_radius,
-                wall_height);
+                wall_height + thickness - corner_radius);
                 
     /* Lower right wall corner */
     wall_corner([    thickness + pcb_clearance_edge + pcb_width - corner_radius,
                  0 - thickness - pcb_clearance_edge + corner_radius,
-                 0],
+                 -thickness + corner_radius],
                 [0, 0, 270],
                 corner_radius,
-                wall_height);
+                wall_height + thickness - corner_radius);
 
     /* Lower left wall corner */
     wall_corner([-pcb_clearance_edge - thickness + corner_radius,
                  -pcb_clearance_edge - thickness + corner_radius,
-                 0],
+                 -thickness + corner_radius],
                 [0, 0, 180],
                 corner_radius,
-                wall_height);
+                wall_height + thickness - corner_radius);
                 
     /* Upper left wall corner */
     wall_corner([-pcb_clearance_edge - thickness + corner_radius,
                   pcb_clearance_edge + pcb_length + thickness - corner_radius,
-                 0],
+                 -thickness + corner_radius],
                 [0, 0, 90],
                 corner_radius,
-                wall_height);
+                wall_height + thickness - corner_radius);
  
-    /* Upper right corner */
-    /*round_corner([pcb_clearance_edge + thickness + pcb_width - corner_radius,
-                  pcb_clearance_edge + thickness + pcb_length - corner_radius,
-                 -thickness/2],
-                 [90, 90, 90]);*/
-
-    /* Lower right corner */
-    /*round_corner([ pcb_clearance_edge + thickness + pcb_width - corner_radius,
-                  -pcb_clearance_edge - thickness + corner_radius,
-                  -thickness/2],
-                 [180, 90, 90]);*/
-
-    /* Lower left corner */
-    /*round_corner([-pcb_clearance_edge - thickness + corner_radius,
-                  -pcb_clearance_edge - thickness + corner_radius,
-                  -thickness/2],
-                 [-90, 90, 90]);*/
-
-    /* Upper left corner */
-    /*round_corner([-pcb_clearance_edge - thickness + corner_radius,
-                   pcb_clearance_edge + thickness + pcb_length - corner_radius,
-                     -thickness/2],
-                 [0, 90, 90]);*/
-
+    /* Bottom plate */
+    side([-pcb_clearance_edge - thickness + corner_radius,
+          -pcb_clearance_edge - thickness + corner_radius,
+          -thickness],
+         [bottom_width  + 2 * thickness - 2 * corner_radius,
+          bottom_length + 2 * thickness - 2 * corner_radius,
+          thickness]);
+          
     /* Upper edge */
     /*round_edge([0 - thickness - pcb_clearance_edge + corner_radius,
                     thickness + pcb_clearance_edge + pcb_length - corner_radius,
@@ -215,13 +199,30 @@ module keyboard_base_plate(pcb_width, pcb_length) {
                [270, 90, 0],
                bottom_length + 2 * corner_radius);*/
 
-    /* Bottom plate */
-    /*side([-pcb_clearance_edge - corner_radius,
-          -pcb_clearance_edge - corner_radius,
-          -thickness],
-         [bottom_width  + 2 * corner_radius,
-          bottom_length + 2 * corner_radius, thickness]);*/
-          
+    /* Upper right corner */
+    /*round_corner([pcb_clearance_edge + thickness + pcb_width - corner_radius,
+                  pcb_clearance_edge + thickness + pcb_length - corner_radius,
+                 -thickness/2],
+                 [90, 90, 90]);*/
+
+    /* Lower right corner */
+    /*round_corner([ pcb_clearance_edge + thickness + pcb_width - corner_radius,
+                  -pcb_clearance_edge - thickness + corner_radius,
+                  -thickness/2],
+                 [180, 90, 90]);*/
+
+    /* Lower left corner */
+    /*round_corner([-pcb_clearance_edge - thickness + corner_radius,
+                  -pcb_clearance_edge - thickness + corner_radius,
+                  -thickness/2],
+                 [-90, 90, 90]);*/
+
+    /* Upper left corner */
+    /*round_corner([-pcb_clearance_edge - thickness + corner_radius,
+                   pcb_clearance_edge + thickness + pcb_length - corner_radius,
+                     -thickness/2],
+                 [0, 90, 90]);*/
+
     /* Screw holes */
     /*for (screw_hole = screw_holes) {
         screw_post([screw_hole[0], screw_hole[1], 0],
-- 
cgit v1.2.3