summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2024-01-01 23:41:18 +0100
committerxengineering <me@xengineering.eu>2024-01-02 20:26:15 +0100
commit285e100abf2ec0736cded36aba938098b1b7bb60 (patch)
treefaf488a51990b7e87ee0b2d168e1c3f5ce13051b
parent84796898e32af3374f5e8ce22e686e04f6f6d11e (diff)
downloadsoundbox-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.
-rw-r--r--mech/assembly.scad4
-rw-r--r--mech/pcb_case/panel.scad25
-rw-r--r--mech/pcb_case/tolerance_tests.scad2
-rw-r--r--mech/production.scad4
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();