From 1eeb0d7f3ddd5895208e012fac020b388fb45453 Mon Sep 17 00:00:00 2001 From: Sam Hadow Date: Tue, 24 Mar 2026 19:08:43 +0100 Subject: [PATCH] case battery switch hole --- case.scad | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/case.scad b/case.scad index 1b8059e..cfc9bdc 100644 --- a/case.scad +++ b/case.scad @@ -24,6 +24,9 @@ rim_extra_height = 3.0; pillar_dia = 3; +back_hole_dia = 15.5; +hole_to_holder_gap = 10.0; + case_w = plate_w + (wall_thickness * 2) + (clearance * 2) - 2; case_h = ((plate_h - 2) * cos(case_angle)) + (wall_thickness * 2) + (clearance * 2); @@ -49,6 +52,22 @@ clip_width = 10.0; clip_depth = 1.5; clip_height = 1.5; +module back_wall_hole() { + // 1. Locate the left edge of the controller holder assembly + holder_left_edge = usb_x_offset + (usb_w/2) - (holder_x/2) - holder_wall; + + // 2. Calculate X center: (Left Edge - Gap - Radius) + x_pos = holder_left_edge - hole_to_holder_gap - (back_hole_dia / 2); + + // 3. Calculate Z center (Bottom of hole touching the floor) + z_pos = floor_thickness + (back_hole_dia / 2); + + // 4. Create the cutout + translate([x_pos, case_h - wall_thickness - 1, z_pos]) + rotate([-90, 0, 0]) + cylinder(d = back_hole_dia, h = wall_thickness + 2, $fn = 64); +} + module controller_holder() { x_pos = usb_x_offset + (usb_w/2) - (holder_x/2) - holder_wall; y_inner_wall = case_h - wall_thickness; @@ -174,6 +193,7 @@ if (render_part == "left" || render_part == "both") { case_full_geometry(); jigsaw_cutter(-joint_clearance); usb_cutout(); + back_wall_hole(); } controller_holder(); }