From 599f100c4f6a44dd85c245674ec1cdc4dafa1068 Mon Sep 17 00:00:00 2001 From: Pascal de Bruijn Date: Sun, 26 Jan 2025 14:48:19 +0100 Subject: [PATCH 1/2] PartDesign: explicitly thread pitch for regular profile ISO threads --- src/Mod/PartDesign/App/FeatureHole.cpp | 80 +++++++++++++------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/src/Mod/PartDesign/App/FeatureHole.cpp b/src/Mod/PartDesign/App/FeatureHole.cpp index 7aa528ffa9..4cc4cb86e9 100644 --- a/src/Mod/PartDesign/App/FeatureHole.cpp +++ b/src/Mod/PartDesign/App/FeatureHole.cpp @@ -94,46 +94,46 @@ const std::vector Hole::threadDescription[] = /* ISO metric threaded Tap-Drill diameters according to ISO 2306 */ // {name, thread diameter, thread pitch, Tap-Drill diameter} { - { "M1", 1.0, 0.25, 0.75 }, - { "M1.1", 1.1, 0.25, 0.85 }, - { "M1.2", 1.2, 0.25, 0.95 }, - { "M1.4", 1.4, 0.30, 1.10 }, - { "M1.6", 1.6, 0.35, 1.25 }, - { "M1.8", 1.8, 0.35, 1.45 }, - { "M2", 2.0, 0.40, 1.60 }, - { "M2.2", 2.2, 0.45, 1.75 }, - { "M2.5", 2.5, 0.45, 2.05 }, - { "M3", 3.0, 0.50, 2.50 }, - { "M3.5", 3.5, 0.60, 2.90 }, - { "M4", 4.0, 0.70, 3.30 }, - { "M4.5", 4.5, 0.75, 3.70 }, - { "M5", 5.0, 0.80, 4.20 }, - { "M6", 6.0, 1.00, 5.00 }, - { "M7", 7.0, 1.00, 6.00 }, - { "M8", 8.0, 1.25, 6.80 }, - { "M9", 9.0, 1.25, 7.80 }, - { "M10", 10.0, 1.50, 8.50 }, - { "M11", 11.0, 1.50, 9.50 }, - { "M12", 12.0, 1.75, 10.20 }, - { "M14", 14.0, 2.00, 12.00 }, - { "M16", 16.0, 2.00, 14.00 }, - { "M18", 18.0, 2.50, 15.50 }, - { "M20", 20.0, 2.50, 17.50 }, - { "M22", 22.0, 2.50, 19.50 }, - { "M24", 24.0, 3.00, 21.00 }, - { "M27", 27.0, 3.00, 24.00 }, - { "M30", 30.0, 3.50, 26.50 }, - { "M33", 33.0, 3.50, 29.50 }, - { "M36", 36.0, 4.00, 32.00 }, - { "M39", 39.0, 4.00, 35.00 }, - { "M42", 42.0, 4.50, 37.50 }, - { "M45", 45.0, 4.50, 40.50 }, - { "M48", 48.0, 5.00, 43.00 }, - { "M52", 52.0, 5.00, 47.00 }, - { "M56", 56.0, 5.50, 50.50 }, - { "M60", 60.0, 5.50, 54.50 }, - { "M64", 64.0, 6.00, 58.00 }, - { "M68", 68.0, 6.00, 62.00 }, + { "M1x0.25", 1.0, 0.25, 0.75 }, + { "M1.1x0.25", 1.1, 0.25, 0.85 }, + { "M1.2x0.25", 1.2, 0.25, 0.95 }, + { "M1.4x0.3", 1.4, 0.30, 1.10 }, + { "M1.6x0.35", 1.6, 0.35, 1.25 }, + { "M1.8x0.35", 1.8, 0.35, 1.45 }, + { "M2x0.4", 2.0, 0.40, 1.60 }, + { "M2.2x0.45", 2.2, 0.45, 1.75 }, + { "M2.5x0.45", 2.5, 0.45, 2.05 }, + { "M3x0.5", 3.0, 0.50, 2.50 }, + { "M3.5x0.6", 3.5, 0.60, 2.90 }, + { "M4x0.7", 4.0, 0.70, 3.30 }, + { "M4.5x0.75", 4.5, 0.75, 3.70 }, + { "M5x0.8", 5.0, 0.80, 4.20 }, + { "M6x1.0", 6.0, 1.00, 5.00 }, + { "M7x1.0", 7.0, 1.00, 6.00 }, + { "M8x1.25", 8.0, 1.25, 6.80 }, + { "M9x1.25", 9.0, 1.25, 7.80 }, + { "M10x1.5", 10.0, 1.50, 8.50 }, + { "M11x1.5", 11.0, 1.50, 9.50 }, + { "M12x1.75", 12.0, 1.75, 10.20 }, + { "M14x2.0", 14.0, 2.00, 12.00 }, + { "M16x2.0", 16.0, 2.00, 14.00 }, + { "M18x2.5", 18.0, 2.50, 15.50 }, + { "M20x2.5", 20.0, 2.50, 17.50 }, + { "M22x2.5", 22.0, 2.50, 19.50 }, + { "M24x3.0", 24.0, 3.00, 21.00 }, + { "M27x3.0", 27.0, 3.00, 24.00 }, + { "M30x3.5", 30.0, 3.50, 26.50 }, + { "M33x3.5", 33.0, 3.50, 29.50 }, + { "M36x4.0", 36.0, 4.00, 32.00 }, + { "M39x4.0", 39.0, 4.00, 35.00 }, + { "M42x4.5", 42.0, 4.50, 37.50 }, + { "M45x4.5", 45.0, 4.50, 40.50 }, + { "M48x5.0", 48.0, 5.00, 43.00 }, + { "M52x5.0", 52.0, 5.00, 47.00 }, + { "M56x5.5", 56.0, 5.50, 50.50 }, + { "M60x5.5", 60.0, 5.50, 54.50 }, + { "M64x6.0", 64.0, 6.00, 58.00 }, + { "M68x6.0", 68.0, 6.00, 62.00 }, }, /* ISO metric fine (drill = diameter - pitch) */ { From f7dc6dc245d98d49fcd20c51623d031f2606075d Mon Sep 17 00:00:00 2001 From: Pascal de Bruijn Date: Mon, 10 Mar 2025 18:54:48 +0100 Subject: [PATCH 2/2] PartDesignTests: explicitly thread pitch for regular profile ISO threads, fix enum --- src/Mod/PartDesign/PartDesignTests/TestHole.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Mod/PartDesign/PartDesignTests/TestHole.py b/src/Mod/PartDesign/PartDesignTests/TestHole.py index 301412e5ef..cc4c16786e 100644 --- a/src/Mod/PartDesign/PartDesignTests/TestHole.py +++ b/src/Mod/PartDesign/PartDesignTests/TestHole.py @@ -202,14 +202,14 @@ class TestHole(unittest.TestCase): # The order of the arrays and elements is critical thread_types = { 'ISOMetricProfile': [ - "M1", "M1.1", "M1.2", "M1.4", "M1.6", - "M1.8", "M2", "M2.2", "M2.5", "M3", - "M3.5", "M4", "M4.5", "M5", "M6", - "M7", "M8", "M9", "M10", "M11", - "M12", "M14", "M16", "M18", "M20", - "M22", "M24", "M27", "M30", "M33", - "M36", "M39", "M42", "M45", "M48", - "M52", "M56", "M60", "M64", "M68", + "M1x0.25", "M1.1x0.25", "M1.2x0.25", "M1.4x0.3", "M1.6x0.35", + "M1.8x0.35", "M2x0.4", "M2.2x0.45", "M2.5x0.45", "M3x0.5", + "M3.5x0.6", "M4x0.7", "M4.5x0.75", "M5x0.8", "M6x1.0", + "M7x1.0", "M8x1.25", "M9x1.25", "M10x1.5", "M11x1.5", + "M12x1.75", "M14x2.0", "M16x2.0", "M18x2.5", "M20x2.5", + "M22x2.5", "M24x3.0", "M27x3.0", "M30x3.5", "M33x3.5", + "M36x4.0", "M39x4.0", "M42x4.5", "M45x4.5", "M48x5.0", + "M52x5.0", "M56x5.5", "M60x5.5", "M64x6.0", "M68x6.0", ], 'ISOMetricFineProfile': [ "M1x0.2", "M1.1x0.2", "M1.2x0.2", "M1.4x0.2",