From 170f682d90fe4ea6904445b75361a329d7937eba Mon Sep 17 00:00:00 2001 From: Autistaman <90534842+Autistaman@users.noreply.github.com> Date: Thu, 25 Dec 2025 19:19:08 +0000 Subject: [PATCH 1/2] Adding threadform parameter --- 3DPrintedMetricV3.xml | 1 + main.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/3DPrintedMetricV3.xml b/3DPrintedMetricV3.xml index c395df0..a3524a9 100644 --- a/3DPrintedMetricV3.xml +++ b/3DPrintedMetricV3.xml @@ -4,6 +4,7 @@ 3D-printed Metric Threads V3 mm 60.0 + 8 3 8 diff --git a/main.py b/main.py index f85d698..e4e1333 100644 --- a/main.py +++ b/main.py @@ -8,6 +8,7 @@ SIZES = list(range(8, 51)) PITCHES = [3.5, 5.0] OFFSETS = [.0, .1, .2, .4, .8] +THREAD_FORM = 8 def designator(val: float): @@ -98,6 +99,7 @@ def generate(): ET.SubElement(root, "CustomName").text = NAME ET.SubElement(root, "Unit").text = UNIT ET.SubElement(root, "Angle").text = str(ANGLE) + ET.SubElement(root, "ThreadForm").text = str(THREAD_FORM) ET.SubElement(root, "SortOrder").text = "3" for size in profile.sizes(): From cf67676be0ce8207d4453ab697e200f9eee115d0 Mon Sep 17 00:00:00 2001 From: Autistaman <90534842+Autistaman@users.noreply.github.com> Date: Thu, 25 Dec 2025 19:27:52 +0000 Subject: [PATCH 2/2] Updated readme to fix an error and add threadform --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 57e4380..24ad29f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This project defines thread profiles that are aimed at 3D printing so that they The provided `3DPrintedMetricV3.xml` file contains the thread profiles listed below. Additional profiles can be easily generated from the included Python script. -**Shape:** 60° trapezoidal +**Shape:** 60° whitworth **Size (OD):** 8-50mm **Pitch:** 3.5mm, 5mm **Classes:** O.0, O.1, O.2, O.4, O.8 @@ -51,10 +51,17 @@ The script has no parameters and can be executed like so: python main.py ``` -This will create a file named `output.xml` in the working directory which you can then rename and install in Fusion as described above. +This will create a file named `3DPrintedMetricV3.xml` in the working directory which you can then rename and install in Fusion as described above. To customize the generated profiles, simply edit the values defined at the top of `main.py`. +To change the profile of the thread change the "THREAD_FORM" variable and reference the below chart. + +0 = Trapezoidal +1 = sharp V shape +6 = Square +8 = whitworth + ```python NAME = "3D-printed Metric Threads V3" UNIT = "mm" @@ -62,4 +69,5 @@ ANGLE = 60.0 SIZES = list(range(8, 51)) PITCHES = [3.5, 5.0] OFFSETS = [.0, .1, .2, .4, .8] +THREAD_FORM = 8 ```