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

Add bevel to X+ face edges of case to guide cap installation

ZiB 4 месяцев назад
Родитель
Сommit
a5af5943d6
1 измененных файлов с 28 добавлено и 2 удалено
  1. 28 2
      cable_cap.scad

+ 28 - 2
cable_cap.scad

@@ -46,7 +46,8 @@ CAP_PAD     = 4.0;   // Min cap bore depth
 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_EXPLODE = CAP_PAD + 10;     // preview: mm to pull cap away from case in X+ (0 = seated)
+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)
 
 // --- Magnetic Strip Locating Lip (rear face) ---
 MAG_L        = 1.772 * 25.4;   // strip length ≈ 45.01 mm
@@ -58,7 +59,7 @@ MAG_TOL      = 0.2;            // per-side clearance for strip fit
 // --- Derived Dimensions ---
 cav_w  = DISP_W + TOL * 2;
 cav_d  = DISP_D + TOL * 2;
-case_w = WALL + DISP_W+ TOL;         // ends at display X+ face; cap retains display
+case_w = WALL + DISP_W + (TOL * 1.5);         // ends at display X+ face; cap retains display
 case_h = WALL + DISP_T + LIP;
 case_d = WALL * 2 + cav_d;
 
@@ -139,6 +140,31 @@ module epd_case() {
         // Cap wall recess — step in y+ face at X+ end so cap sits flush
         translate([case_w - CAP_ENGAGE + CAP_PAD, case_d - CAP_WALL - CAP_TOL, -0.01])
             cube([CAP_ENGAGE - CAP_PAD + 0.02, CAP_WALL + CAP_TOL + 0.01, case_h + 0.02]);
+
+        // Bevel all 4 exterior edges of X+ face — guides cap onto case during installation
+        // Y± faces are recessed by (CAP_WALL + CAP_TOL); Z- face is recessed by CAP_WALL
+        translate([0, 0, -0.01])
+            linear_extrude(case_h + 0.02)
+                polygon([[case_w - CAP_BEVEL, CAP_WALL + CAP_TOL - 0.01],
+                         [case_w + 0.01, CAP_WALL + CAP_TOL - 0.01],
+                         [case_w + 0.01, CAP_WALL + CAP_TOL + CAP_BEVEL]]);
+        translate([0, 0, -0.01])
+            linear_extrude(case_h + 0.02)
+                polygon([[case_w - CAP_BEVEL, case_d - CAP_WALL - CAP_TOL + 0.01],
+                         [case_w + 0.01, case_d - CAP_WALL - CAP_TOL + 0.01],
+                         [case_w + 0.01, case_d - CAP_WALL - CAP_TOL - CAP_BEVEL]]);
+        translate([0, case_d + 0.01, 0])
+            rotate([90, 0, 0])
+                linear_extrude(case_d + 0.02)
+                    polygon([[case_w - CAP_BEVEL, CAP_WALL - 0.01],
+                             [case_w + 0.01, CAP_WALL - 0.01],
+                             [case_w + 0.01, CAP_WALL + CAP_BEVEL]]);
+        translate([0, case_d + 0.01, 0])
+            rotate([90, 0, 0])
+                linear_extrude(case_d + 0.02)
+                    polygon([[case_w - CAP_BEVEL, case_h + 0.01],
+                             [case_w + 0.01, case_h + 0.01],
+                             [case_w + 0.01, case_h - CAP_BEVEL]]);
     }
 }