Quellcode durchsuchen

Add FPC return pocket and CLIP_Y preview slice

Adds a return pocket below the display cavity floor for the FPC cable
to wrap around behind the screen (FPC_POCKET_DEPTH, FPC_POCKET_LEN params).
Also adds CLIP_Y to complement CLIP_Z for Y-axis cross-section previews.
ZiB vor 4 Monaten
Ursprung
Commit
f46b77f8e9
1 geänderte Dateien mit 12 neuen und 4 gelöschten Zeilen
  1. 12 4
      cable_cap.scad

+ 12 - 4
cable_cap.scad

@@ -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)