|
|
@@ -21,6 +21,19 @@ PCB_T = 1.93; // PCB thickness
|
|
|
COMP_MAX_Z = 7.29; // tallest component (XIAO module)
|
|
|
COMP_SIDE_Z = 3.82; // tallest component on +Y wall (buttons, USB-C)
|
|
|
|
|
|
+/* [Sliding Lid] */
|
|
|
+LID_T = 1.5; // lid ceiling thickness
|
|
|
+FLANGE_H = 3.0; // Z height of retention flanges (base + lid); drives lid placement and Y- wall step
|
|
|
+FLANGE_W = FLANGE_H * tan(30); // flange width — 30° from vertical (60° from horizontal), printable without support
|
|
|
+SLIDE_CLEAR = 0.40; // clearance between flange/rib and groove/channel on all mating faces (0.4 mm suits typical FDM tolerances)
|
|
|
+
|
|
|
+// ---- Y- edge: FPC connector — notch in lid Y+ stop rib ----
|
|
|
+FPC_CX = 50.0; // PCB-relative case_x centre
|
|
|
+FPC_NOTCH_W = 20.0; // notch width for cable routing clearance
|
|
|
+FPC_U_T = LID_T; // U-rib arm and bar thickness
|
|
|
+FPC_U_DEPTH = 20.0; // how far Y- the U arms extend into the lid interior
|
|
|
+FPC_SLOT_W = 3.0; // Y depth of ceiling slot the cable exits through
|
|
|
+
|
|
|
/* [Cutout Positions — from STL geometry, PCB-origin-relative] */
|
|
|
|
|
|
// ---- +Y wall: Sliding power switch ----
|
|
|
@@ -38,12 +51,6 @@ USBC_H = 3.22; // port body height from STL
|
|
|
USBC_CZ = 4.31;
|
|
|
USBC_CBL_CLEAR = 1.5; // added per side for cable plug + routing clearance
|
|
|
|
|
|
-// ---- Y- edge: FPC connector — notch in lid Y+ stop rib ----
|
|
|
-FPC_CX = 50.0; // PCB-relative case_x centre
|
|
|
-FPC_NOTCH_W = 20.0; // notch width for cable routing clearance
|
|
|
-FPC_U_T = 1.5; // U-rib arm and bar thickness
|
|
|
-FPC_U_DEPTH = 20.0; // how far Y- the U arms extend into the lid interior
|
|
|
-
|
|
|
// ---- +Y wall: 3× user buttons + 1× reset ----
|
|
|
BTN_CX = [48.4, 39.075, 29.725, 20.425]; // PCB-relative case_x centres
|
|
|
BTN_D = 2.3; // HOLE_D from hat.scad: PLUNGER_D(2.0) + 2×SLIP_CLEAR(0.15)
|
|
|
@@ -86,12 +93,6 @@ BATT_T = 6.3; // 603449 LiPo thickness (Z)
|
|
|
CLR_BATX = 1.5; // battery X clearance from X+ wall
|
|
|
CLR_BATY = 1.5; // battery Y clearance from Y+ wall
|
|
|
|
|
|
-/* [Sliding Lid] */
|
|
|
-LID_T = 1.5; // lid ceiling thickness
|
|
|
-FLANGE_H = 3.0; // Z height of retention flanges (base + lid); drives lid placement and Y- wall step
|
|
|
-FLANGE_W = FLANGE_H * tan(30); // flange width — 30° from vertical (60° from horizontal), printable without support
|
|
|
-SLIDE_CLEAR = 0.40; // clearance between flange/rib and groove/channel on all mating faces (0.4 mm suits typical FDM tolerances)
|
|
|
-
|
|
|
/* [Computed] */
|
|
|
PCB_Z = FLOOR + BOSS_H;
|
|
|
|
|
|
@@ -293,11 +294,11 @@ module lid() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // FPC cable slot — from Y+ face of U-rib bottom bar, 3 mm toward Y+
|
|
|
+ // FPC cable slot — from Y+ face of U-rib bottom bar, FPC_SLOT_W toward Y+
|
|
|
translate([PCB_OX + FPC_CX - FPC_NOTCH_W/2,
|
|
|
LID_Y_LEN - 3 - FPC_U_DEPTH + FPC_U_T,
|
|
|
FLANGE_H - 0.1])
|
|
|
- cube([FPC_NOTCH_W, 3, LID_T + 0.2]);
|
|
|
+ cube([FPC_NOTCH_W, FPC_SLOT_W, LID_T + 0.2]);
|
|
|
}
|
|
|
}
|
|
|
|