Explorar el Código

Add Z_BASE parameter to thicken Z- walls around FPC and magnet pockets

Adds Z_BASE (0.75 mm) to case_h and shifts the display cavity, window,
and FPC pocket up by the same amount, leaving the magnet pocket and cap
recess anchored at Z=0. This brings the two thin walls to ~1.0 mm and
~1.3 mm respectively, up from 0.25 mm and 0.55 mm.
ZiB hace 4 meses
padre
commit
7f0cc2f88b
Se han modificado 1 ficheros con 11 adiciones y 6 borrados
  1. 11 6
      cable_cap.scad

+ 11 - 6
cable_cap.scad

@@ -31,6 +31,7 @@ FPC_POCKET_PAD  = 2.0;   // padding on each side of FPC cable width
 // --- Case Parameters ---
 WALL       = 3.0;   // must exceed MAG_LIP_H (2.0) to keep pocket floor
 LIP        = 1.5;   // front bezel lip thickness (Z)
+Z_BASE     = 0.75;  // extra Z- wall thickness; shifts cavity/FPC pocket up, leaving magnet pocket and cap recess anchored — tune to fix thin walls
 TOL        = 0.2;   // per-side display clearance
 CHAM       = 1.0;
 CHAM_ANGLE = 60;
@@ -41,7 +42,7 @@ SHOW_DISP  = true;
 SCREEN_EXPLODE    = 0;     // mm to pull display toward X+ in preview
 
 // --- Output ---
-PART = "case";  // "all" = preview scene; "case" = case STL at origin; "cap" = cap STL at origin
+PART = "all";  // "all" = preview scene; "case" = case STL at origin; "cap" = cap STL at origin
 
 // --- Slip-Fit Cap (X+ end) ---
 SHOW_CAP    = true;   // show cap in preview
@@ -66,7 +67,7 @@ MAG_TOL      = 0.2;            // per-side clearance for strip fit
 cav_w  = DISP_W + TOL * 2;
 cav_d  = DISP_D + TOL * 2;
 case_w = WALL + DISP_W + (TOL * 1.5);         // ends at display X+ face; cap retains display
-case_h = WALL + DISP_T + LIP;
+case_h = WALL + DISP_T + LIP + Z_BASE;
 case_d = WALL * 2 + cav_d;
 
 _cham_xy = CHAM * tan(CHAM_ANGLE);
@@ -117,11 +118,11 @@ module epd_case() {
         rounded_box(case_w, case_d, case_h, CORNER_R);
 
         // Display cavity — extends 0.01 mm past X+ face to leave that side open
-        translate([WALL, WALL, WALL])
+        translate([WALL, WALL, WALL + Z_BASE])
             cube([cav_w + 0.01, cav_d, DISP_T + TOL]);
 
         // Active area window + chamfered top edges
-        translate([win_x, win_y, WALL + DISP_T - 0.01])
+        translate([win_x, win_y, WALL + Z_BASE + DISP_T - 0.01])
             cube([ACT_W, ACT_D, LIP - CHAM + 0.02]);
         hull() {
             translate([win_x, win_y, case_h - CHAM])
@@ -131,14 +132,18 @@ module epd_case() {
         }
 
         // FPC return pocket — drops floor of display cavity near X+ face
-        translate([case_w - FPC_POCKET_LEN, fpc_pkt_y, WALL - FPC_FLOOR_DROP - 0.01])
+        translate([case_w - FPC_POCKET_LEN, fpc_pkt_y, WALL + Z_BASE - FPC_FLOOR_DROP - 0.01])
             cube([FPC_POCKET_LEN + 0.02, fpc_pkt_yw, DISP_T + TOL + FPC_FLOOR_DROP + 0.01]);
 
         // Magnetic strip recess in back face
+        // TODO: wall between Z+ of this pocket and Z- of FPC return pocket is ~1.0 mm at Z_BASE=0.75
+        //   (MAG_LIP_H=2.0 vs WALL+Z_BASE-FPC_FLOOR_DROP=3.0) — tune Z_BASE after test prints
         translate([_lip_x, _lip_y, -0.01])
             cube([_lip_il, _lip_iw, MAG_LIP_H + 0.01]);
 
         // Cap wall recess — step in z- face at X+ end so cap sits flush
+        // TODO: wall between Z- of FPC return pocket and this recessed Z- face is ~1.3 mm at Z_BASE=0.75
+        //   (WALL+Z_BASE-FPC_FLOOR_DROP=3.0 vs CAP_WALL+CAP_TOL=1.7) — tune Z_BASE after test prints
         translate([case_w - CAP_ENGAGE + CAP_PAD, -0.01, -0.01])
             cube([CAP_ENGAGE + 0.02 - CAP_PAD, case_d + 0.02, CAP_WALL + CAP_TOL + 0.01]);
 
@@ -246,7 +251,7 @@ if (PART == "case") {
         intersection() { epd_case(); cube(_clip); }
 
     if ($preview && SHOW_DISP)
-        translate([WALL + TOL + SCREEN_EXPLODE, WALL + TOL, WALL])
+        translate([WALL + TOL + SCREEN_EXPLODE, WALL + TOL, WALL + Z_BASE])
             EPD213B();
 
     if (SHOW_CAP)