From 382f78cfee52d0a29e1b5948ade7a1de293e9e30 Mon Sep 17 00:00:00 2001
From: xengineering <me@xengineering.eu>
Date: Sat, 23 Dec 2023 22:38:56 +0100
Subject: mech: pcb_case: Add bolt_tolerance_test.scad

This should make sure the right hole diameter is selected for bolts.
---
 mech/mech.mk                           |  2 +-
 mech/pcb_case/bolt_tolerance_test.scad | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 mech/pcb_case/bolt_tolerance_test.scad

(limited to 'mech')

diff --git a/mech/mech.mk b/mech/mech.mk
index f541cf9..c10339f 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
+PARTS := bottom top back front pcb_case/nut_tolerance_test pcb_case/bolt_tolerance_test
 STL := $(PARTS:%=$(MECH_BUILD_DIR)/%.stl)
 GCODE := $(PARTS:%=$(MECH_BUILD_DIR)/%.gcode)
 
diff --git a/mech/pcb_case/bolt_tolerance_test.scad b/mech/pcb_case/bolt_tolerance_test.scad
new file mode 100644
index 0000000..b658183
--- /dev/null
+++ b/mech/pcb_case/bolt_tolerance_test.scad
@@ -0,0 +1,21 @@
+include <bolt.scad>
+
+module bolt_tolerance_test() {
+	steps = 3;
+	step_width = 0.1;
+	height = 3;
+
+	for(i = [-steps : steps]) {
+		tol = bolt_ds_tol + i * step_width;
+		echo(tol=tol);
+		translate([i*5*bolt_ds,0,0])
+			difference() {
+				cube([5*bolt_ds, 5*bolt_ds, height]);
+				translate([2.5*bolt_ds,2.5*bolt_ds,0]) {
+					cylinder(d=bolt_ds+tol,h=height,$fn=50);
+				}
+			}
+	}
+}
+
+bolt_tolerance_test();
-- 
cgit v1.2.3-70-g09d2