Просмотр исходного кода

Add display retention ribs to cap bore

Two CAP_WALL × CAP_WALL ribs inside the cap sleeve, positioned just
outside the FPC pocket in Y and set back CAP_ENGAGE-CAP_PAD from the
cap open face. When seated, their X- face is co-planar with the case
X+ face, retaining the display while preserving full CAP_PAD bore
depth for the FPC 180° bend.
ZiB 4 месяцев назад
Родитель
Сommit
c39d448b82
1 измененных файлов с 13 добавлено и 4 удалено
  1. 13 4
      cable_cap.scad

+ 13 - 4
cable_cap.scad

@@ -36,7 +36,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     = 0;     // preview: mm to remove from Y+ (0 = full model)
+CLIP_Y     = 9;     // preview: mm to remove from Y+ (0 = full model)
 SHOW_DISP  = true;
 SCREEN_EXPLODE    = 0;     // mm to pull display toward X+ in preview
 
@@ -47,7 +47,7 @@ CAP_ENGAGE  = CAP_PAD + 6.0;   // sleeve engagement length over case exterior (X
 CAP_WALL    = 1.5;   // sleeve and end-wall thickness
 CAP_TOL     = 0.2;   // per-side slip clearance between bore and case exterior
 CAP_BEVEL   = 1.0;   // chamfer size on X+ face edges to guide cap onto case
-CAP_EXPLODE = CAP_PAD + 15;     // preview: mm to pull cap away from case in X+ (0 = seated)
+CAP_EXPLODE = CAP_PAD + 0;     // preview: mm to pull cap away from case in X+ (0 = seated)
 
 // --- Magnetic Strip Locating Lip (rear face) ---
 MAG_L        = 1.772 * 25.4;   // strip length ≈ 45.01 mm
@@ -172,10 +172,13 @@ module epd_case() {
 // Slip-fit cap — slides over X+ end of case; FPC exits through end-wall slot
 // -------------------------------------------------------------------
 module cable_cap() {
-    _bore_h = _cap_bore_h - CAP_WALL;
-    _bore_r = _bore_h / 2;
+    _bore_h  = _cap_bore_h - CAP_WALL;
+    _bore_r  = _bore_h / 2;
+    _cap_h   = _cap_bore_h + CAP_WALL;
+    _cap_cy  = (_cap_bore_w + 2 * CAP_WALL) / 2;  // Y center of cap
 
     translate([case_w - CAP_ENGAGE + CAP_EXPLODE, 0, 0]){
+    union() {
     difference() {
         // Outer shell: flat rectangle at open end, rounded rectangle at closed end
         hull() {
@@ -192,6 +195,12 @@ module cable_cap() {
         translate([CAP_ENGAGE - _bore_r, _cap_bore_w, _cap_bore_h - _bore_r])
             rotate([90,0,0])
                 cylinder(h=_cap_bore_w - CAP_WALL, r=_bore_r);
+    }
+
+    // Retention ribs — flush with X- face, full cap height, 2×2 mm, just outside FPC pocket
+    for (rib_dy = [fpc_pkt_y - CAP_WALL, fpc_pkt_y + fpc_pkt_yw])
+        translate([CAP_ENGAGE - CAP_PAD, rib_dy, 0])
+            cube([CAP_WALL, CAP_WALL, _cap_h]);
     }}
 }