From 4b712ffec292a5db40dbd4850cacb18eb281e4e4 Mon Sep 17 00:00:00 2001
From: xengineering <me@xengineering.eu>
Date: Mon, 1 Jan 2024 12:43:42 +0100
Subject: mech: pcb_case: Add panel thickness tolerance test

This tests makes it easier to fine-tune the slot width which holds one
of the two panels.
---
 mech/mech.mk                                      |  2 +-
 mech/pcb_case/panel_thickness_tolerance_test.scad | 25 +++++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 mech/pcb_case/panel_thickness_tolerance_test.scad

diff --git a/mech/mech.mk b/mech/mech.mk
index c10339f..e4df3ad 100644
--- a/mech/mech.mk
+++ b/mech/mech.mk
@@ -1,7 +1,7 @@
 PRINTER := anycubic_i3_mega_s
 PRINTER_CONFIG := $(PRINTER:%=mech/prusa-slicer/%.ini)
 MECH_BUILD_DIR := $(BUILD_DIR)/mech
-PARTS := bottom top back front pcb_case/nut_tolerance_test pcb_case/bolt_tolerance_test
+PARTS := bottom top back front pcb_case/nut_tolerance_test pcb_case/bolt_tolerance_test pcb_case/panel_thickness_tolerance_test
 STL := $(PARTS:%=$(MECH_BUILD_DIR)/%.stl)
 GCODE := $(PARTS:%=$(MECH_BUILD_DIR)/%.gcode)
 
diff --git a/mech/pcb_case/panel_thickness_tolerance_test.scad b/mech/pcb_case/panel_thickness_tolerance_test.scad
new file mode 100644
index 0000000..a9080e4
--- /dev/null
+++ b/mech/pcb_case/panel_thickness_tolerance_test.scad
@@ -0,0 +1,25 @@
+use <rounded_cube.scad>
+
+t = 2;
+current_tol = 0.4;
+height = 2*t;
+
+module panel_thickness_tolerance_test() {
+	steps = 3;
+	step_width = 0.2;
+
+	for(i = [-steps : steps]) {
+		tol = current_tol + i * step_width;
+		echo(tol=tol);
+		translate([i*5*t,0,0])
+			difference() {
+				cube([5*t, 5*t, height]);
+				translate([2*t, 0, t]) {
+					cube([t+tol, 5*t, t]);
+				}
+			}
+	}
+}
+
+panel_thickness_tolerance_test();
+translate([0, 6*t, 0]) rotate([0, -90, 0]) rounded_cube([t, 4*t, 7*t], t);
-- 
cgit v1.2.3-70-g09d2