Selaa lähdekoodia

Rework FPC pocket to X+ face; add CLIP_Y, FPC_POCKET_PAD params

ZiB 4 kuukautta sitten
vanhempi
sitoutus
514a69efb7
1 muutettua tiedostoa jossa 18 lisäystä ja 21 poistoa
  1. 18 21
      cable_cap.scad

+ 18 - 21
cable_cap.scad

@@ -1,5 +1,5 @@
 // Waveshare 2.13" e-Paper HAT (B) — ESP32 Nametag Case
 // Waveshare 2.13" e-Paper HAT (B) — ESP32 Nametag Case
-// Display slides in from X+; FPC cable exits out the closed X- face through a hull slot
+// Display slides in from X+; FPC cable exits freely out the open X+ side
 
 
 // --- Display Dimensions (landscape: portrait rotated 90°) ---
 // --- Display Dimensions (landscape: portrait rotated 90°) ---
 DISP_W = 59.20;   // overall width  (X) — portrait height
 DISP_W = 59.20;   // overall width  (X) — portrait height
@@ -11,20 +11,21 @@ ACT_W  = 48.55;   // active area width (X) — portrait AA height
 ACT_D  = 23.71;   // active area depth (Y) — portrait AA width
 ACT_D  = 23.71;   // active area depth (Y) — portrait AA width
 
 
 // Border offsets from display edge to active area:
 // Border offsets from display edge to active area:
-//   X-: portrait FPC border  ≈ 8.70 mm  (closed/backstop side — cable exits here)
-//   X+: portrait top border  ≈ 1.95 mm  (open/entry side)
+//   X-: portrait top border  ≈ 1.95 mm  (closed/backstop side)
+//   X+: portrait FPC border  ≈ 8.70 mm  (open/entry side)
 //   Y±: symmetric            ≈ 2.75 mm  each side
 //   Y±: symmetric            ≈ 2.75 mm  each side
-ACT_X_OFFSET = 8.70;
+ACT_X_OFFSET = 1.95;
 ACT_Y_OFFSET = 2.75;
 ACT_Y_OFFSET = 2.75;
 
 
-// --- FPC Cable (exits X- side) ---
+// --- FPC Cable (exits X+ side) ---
 FPC_W   = 12.5;
 FPC_W   = 12.5;
 FPC_T   = 0.3;
 FPC_T   = 0.3;
 FPC_LEN = 20.0;   // visualization length of hanging tail
 FPC_LEN = 20.0;   // visualization length of hanging tail
 
 
-// --- FPC Return Pocket (cable wraps around behind screen) ---
-FPC_POCKET_DEPTH = 0.75;  // how far below display cavity floor (z-)
-FPC_POCKET_LEN   = 20.0;  // how far in from X- face
+// --- FPC Return Pocket ---
+FPC_FLOOR_DROP  = 0.75;  // extra depth below display cavity floor
+FPC_POCKET_LEN  = 20.0;  // how far in from X+ face the pocket extends
+FPC_POCKET_PAD  = 2.0;   // padding on each side of FPC cable width
 
 
 // --- Case Parameters ---
 // --- Case Parameters ---
 WALL       = 3.0;   // must exceed MAG_LIP_H (2.0) to keep pocket floor
 WALL       = 3.0;   // must exceed MAG_LIP_H (2.0) to keep pocket floor
@@ -34,7 +35,7 @@ CHAM       = 1.0;
 CHAM_ANGLE = 60;
 CHAM_ANGLE = 60;
 CORNER_R   = 2.5;
 CORNER_R   = 2.5;
 CLIP_Z     = 0;     // preview: mm to remove from Z+ (0 = full model)
 CLIP_Z     = 0;     // preview: mm to remove from Z+ (0 = full model)
-CLIP_Y     = 20;     // preview: mm to remove from Y+ (0 = full model)
+CLIP_Y     = 6;     // preview: mm to remove from Y+ (0 = full model)
 SHOW_DISP  = true;
 SHOW_DISP  = true;
 SCREEN_EXPLODE    = 0;     // mm to pull display toward X+ in preview
 SCREEN_EXPLODE    = 0;     // mm to pull display toward X+ in preview
 
 
@@ -57,6 +58,10 @@ _cham_xy = CHAM * tan(CHAM_ANGLE);
 win_x = WALL + TOL + ACT_X_OFFSET;
 win_x = WALL + TOL + ACT_X_OFFSET;
 win_y = WALL + TOL + ACT_Y_OFFSET;
 win_y = WALL + TOL + ACT_Y_OFFSET;
 
 
+// FPC return pocket geometry (X+ face)
+fpc_pkt_y  = WALL + TOL + (DISP_D - FPC_W) / 2 - FPC_POCKET_PAD;
+fpc_pkt_yw = FPC_W + 2 * FPC_POCKET_PAD;
+
 // Magnetic strip recess geometry (centered on back face)
 // Magnetic strip recess geometry (centered on back face)
 _lip_il = MAG_L + 2 * MAG_TOL;
 _lip_il = MAG_L + 2 * MAG_TOL;
 _lip_iw = MAG_W + 2 * MAG_TOL;
 _lip_iw = MAG_W + 2 * MAG_TOL;
@@ -73,7 +78,7 @@ module EPD213B() {
         translate([ACT_X_OFFSET, ACT_Y_OFFSET, DISP_T])
         translate([ACT_X_OFFSET, ACT_Y_OFFSET, DISP_T])
             cube([ACT_W, ACT_D, 0.02]);
             cube([ACT_W, ACT_D, 0.02]);
     color([1.0, 0.85, 0.1])
     color([1.0, 0.85, 0.1])
-        translate([-FPC_LEN, (DISP_D - FPC_W) / 2, (DISP_T - FPC_T) / 2])
+        translate([DISP_W, (DISP_D - FPC_W) / 2, (DISP_T - FPC_T) / 2])
             cube([FPC_LEN, FPC_W, FPC_T]);
             cube([FPC_LEN, FPC_W, FPC_T]);
 }
 }
 
 
@@ -103,17 +108,9 @@ module epd_case() {
                 cube([ACT_W + 2*_cham_xy, ACT_D + 2*_cham_xy, 0.01]);
                 cube([ACT_W + 2*_cham_xy, ACT_D + 2*_cham_xy, 0.01]);
         }
         }
 
 
-        // FPC slot through X- wall — hulled path, 2 mm padding each side of cable
-        hull() {
-            translate([-0.01, WALL + TOL + (DISP_D - FPC_W) / 2 - 2, WALL - 0.01])
-                cube([0.01, FPC_W + 4, DISP_T + TOL + 0.02]);
-            translate([WALL, WALL + TOL + (DISP_D - FPC_W) / 2 - 2, WALL - 0.01])
-                cube([0.01, FPC_W + 4, DISP_T + TOL + 0.02]);
-        }
-
-        // FPC return pocket — below display cavity floor, aligned with cable slot, from X- face inward
-        translate([-0.01, WALL + TOL + (DISP_D - FPC_W) / 2 - 2, WALL - FPC_POCKET_DEPTH])
-            cube([FPC_POCKET_LEN + 0.01, FPC_W + 4, FPC_POCKET_DEPTH + 0.02]);
+        // 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])
+            cube([FPC_POCKET_LEN + 0.02, fpc_pkt_yw, DISP_T + TOL + FPC_FLOOR_DROP + 0.01]);
 
 
         // Magnetic strip recess in back face
         // Magnetic strip recess in back face
         translate([_lip_x, _lip_y, -0.01])
         translate([_lip_x, _lip_y, -0.01])