From 285e100abf2ec0736cded36aba938098b1b7bb60 Mon Sep 17 00:00:00 2001 From: xengineering Date: Mon, 1 Jan 2024 23:41:18 +0100 Subject: mech: pcb_case: Switch panel to PCB-based params The whole case should move from case- to PCB-based parameters. --- mech/assembly.scad | 4 ++-- mech/pcb_case/panel.scad | 25 +++++++++++++++++-------- mech/pcb_case/tolerance_tests.scad | 2 +- mech/production.scad | 4 ++-- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/mech/assembly.scad b/mech/assembly.scad index 12e68fd..50d074b 100644 --- a/mech/assembly.scad +++ b/mech/assembly.scad @@ -16,8 +16,8 @@ module assembly() { ] ); // pcb_case_shell_top(dim, t); - pcb_case_panel_back(dim, t); -// pcb_case_panel_front(dim, t); + pcb_case_panel_back(pcb_dim, margins, t); +// pcb_case_panel_front(pcb_dim, margins, t); } assembly(); diff --git a/mech/pcb_case/panel.scad b/mech/pcb_case/panel.scad index 2670c7a..421c1fb 100644 --- a/mech/pcb_case/panel.scad +++ b/mech/pcb_case/panel.scad @@ -1,18 +1,27 @@ +include + use panel_dim_0_tol = 0.3; panel_dim_1_2_tol = 0.45; -module pcb_case_panel(dim, t) { - rounded_cube([t,dim[1]-2*t,dim[2]-2*t], t); +module pcb_case_panel(pcb_dim, margins, t) { + rounded_cube( + dim=[ + t, + pcb_dim[1]+margins[1][0]+margins[1][1]+2*nut_h, + pcb_dim[2]+margins[2][0]+margins[2][1] + ], + radius=t + ); } -module pcb_case_panel_back(dim, t) { - translate([t,t,t]) - pcb_case_panel(dim, t); +module pcb_case_panel_back(pcb_dim, margins, t) { + translate([t, t, t]) + pcb_case_panel(pcb_dim, margins, t); } -module pcb_case_panel_front(dim, t) { - translate([dim[0]-2*t,t,t]) - pcb_case_panel(dim, t); +module pcb_case_panel_front(pcb_dim, margins, t) { + translate([pcb_dim[0]+margins[0][0]+margins[0][1]+2*t, t, t]) + pcb_case_panel(pcb_dim, margins, t); } diff --git a/mech/pcb_case/tolerance_tests.scad b/mech/pcb_case/tolerance_tests.scad index 536c00b..94911cd 100644 --- a/mech/pcb_case/tolerance_tests.scad +++ b/mech/pcb_case/tolerance_tests.scad @@ -83,4 +83,4 @@ bolt_drilling(); translate([0, 20, 0]) nut_drilling(); translate([0, 70, 0]) panel_thickness(); translate([0, 50, 0]) panel_width_height(); -translate([0, 85, 0]) rotate([0, -90, 0]) pcb_case_panel([t, 6*t, 6*t], t); +translate([0, 85, 0]) rotate([0, -90, 0]) rounded_cube([t, 6*t, 6*t], t); diff --git a/mech/production.scad b/mech/production.scad index 471b3c0..52e4ece 100644 --- a/mech/production.scad +++ b/mech/production.scad @@ -23,12 +23,12 @@ module production() { translate([-spacing, dim[1]+spacing, 0]) rotate([0, -90, 0]) translate([-t, -t, -t]) - pcb_case_panel_back(dim, t); + pcb_case_panel_back(pcb_dim, margins, t); translate([dim[0], dim[1]+spacing, 0]) rotate([0, -90, 0]) translate([2*t-dim[0], -t, -t]) - pcb_case_panel_front(dim, t); + pcb_case_panel_front(pcb_dim, margins, t); } production(); -- cgit v1.2.3-70-g09d2