chiark / gitweb /
thread-internal-test: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 4 Apr 2023 13:59:14 +0000 (14:59 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 4 Apr 2023 13:59:14 +0000 (14:59 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
thread-internal-test.scad [new file with mode: 0644]

diff --git a/thread-internal-test.scad b/thread-internal-test.scad
new file mode 100644 (file)
index 0000000..a1fb5b7
--- /dev/null
@@ -0,0 +1,46 @@
+// -*- C -*-
+
+include <threads.scad>
+include <utils.scad>
+
+// https://en.wikipedia.org/wiki/ISO_metric_screw_thread
+
+// M6
+thread_nom = 6;
+thread_pitch = 1.00;
+thread_act = thread_nom - 0.300;
+head_size = 10;
+
+thread_len = 12.5;
+base_th = 1.5;
+base_sz = [40, head_size];
+
+$test = true;
+
+// calculated
+
+base_dia = head_size / cos(30);
+
+module ScrewThread(){
+  translate([0, 0, -0.1])
+    render()
+    metric_thread(diameter=thread_act, 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();