chiark / gitweb /
thread-internal-test-multi: start
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 27 Apr 2025 22:19:43 +0000 (23:19 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 27 Apr 2025 22:29:39 +0000 (23:29 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
thread-internal-test-multi.scad [new file with mode: 0644]

diff --git a/thread-internal-test-multi.scad b/thread-internal-test-multi.scad
new file mode 100644 (file)
index 0000000..a37b709
--- /dev/null
@@ -0,0 +1,45 @@
+// -*- C -*-
+
+include <threads.scad>
+include <utils.scad>
+
+// https://en.wikipedia.org/wiki/ISO_metric_screw_thread
+
+// M6
+thread_nom = 4;
+thread_pitch = 0.70;
+head_size = 10;
+
+thread_len = 12.5;
+base_th = 1.5;
+base_sz = [40, head_size];
+
+$test = false;
+
+// calculated
+
+base_dia = head_size / cos(30);
+
+module ScrewThread(){
+  translate([0, 0, -0.1])
+    render()
+    metric_thread(diameter=thread_nom + $thread_slop, pitch=thread_pitch,
+                 leadin=1, internal=true,
+                 test=$test, length=thread_len + 0.1);
+}
+
+module TestThread(){
+  difference(){
+    union(){
+      linextr(-base_th, 0)
+       square(center=true, base_sz);
+
+      linextr(-base_th, thread_len - 0.1)
+       circle(r= base_dia/2, $fn=6);
+    }
+
+    ScrewThread();
+  }
+}
+
+TestThread($thread_slop = 0.375);