|
|
@@ -22,6 +22,10 @@ FPC_W = 12.5;
|
|
|
FPC_T = 0.3;
|
|
|
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
|
|
|
+
|
|
|
// --- Case Parameters ---
|
|
|
WALL = 3.0; // must exceed MAG_LIP_H (2.0) to keep pocket floor
|
|
|
LIP = 1.5; // front bezel lip thickness (Z)
|
|
|
@@ -30,6 +34,7 @@ CHAM = 1.0;
|
|
|
CHAM_ANGLE = 60;
|
|
|
CORNER_R = 2.5;
|
|
|
CLIP_Z = 0; // preview: mm to remove from Z+ (0 = full model)
|
|
|
+CLIP_Y = 20; // preview: mm to remove from Y+ (0 = full model)
|
|
|
SHOW_DISP = true;
|
|
|
SCREEN_EXPLODE = 0; // mm to pull display toward X+ in preview
|
|
|
|
|
|
@@ -106,6 +111,10 @@ module epd_case() {
|
|
|
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]);
|
|
|
+
|
|
|
// Magnetic strip recess in back face
|
|
|
translate([_lip_x, _lip_y, -0.01])
|
|
|
cube([_lip_il, _lip_iw, MAG_LIP_H + 0.01]);
|
|
|
@@ -115,10 +124,9 @@ module epd_case() {
|
|
|
color("#004B49")
|
|
|
intersection() {
|
|
|
epd_case();
|
|
|
- cube([case_w + 1, case_d + 1,
|
|
|
- ($preview && CLIP_Z > 0)
|
|
|
- ? max(0.01, case_h - CLIP_Z)
|
|
|
- : case_h + 1]);
|
|
|
+ cube([case_w + 1,
|
|
|
+ ($preview && CLIP_Y > 0) ? max(0.01, case_d - CLIP_Y) : case_d + 1,
|
|
|
+ ($preview && CLIP_Z > 0) ? max(0.01, case_h - CLIP_Z) : case_h + 1]);
|
|
|
}
|
|
|
|
|
|
if ($preview && SHOW_DISP)
|