diff options
author | xengineering <me@xengineering.eu> | 2024-01-01 23:41:18 +0100 |
---|---|---|
committer | xengineering <me@xengineering.eu> | 2024-01-02 20:26:15 +0100 |
commit | 285e100abf2ec0736cded36aba938098b1b7bb60 (patch) | |
tree | faf488a51990b7e87ee0b2d168e1c3f5ce13051b /mech | |
parent | 84796898e32af3374f5e8ce22e686e04f6f6d11e (diff) | |
download | soundbox-285e100abf2ec0736cded36aba938098b1b7bb60.tar soundbox-285e100abf2ec0736cded36aba938098b1b7bb60.tar.zst soundbox-285e100abf2ec0736cded36aba938098b1b7bb60.zip |
mech: pcb_case: Switch panel to PCB-based params
The whole case should move from case- to PCB-based parameters.
Diffstat (limited to 'mech')
-rw-r--r-- | mech/assembly.scad | 4 | ||||
-rw-r--r-- | mech/pcb_case/panel.scad | 25 | ||||
-rw-r--r-- | mech/pcb_case/tolerance_tests.scad | 2 | ||||
-rw-r--r-- | 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 <nut.scad> + use <rounded_cube.scad> 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(); |