Kernel rig: the three modelled-thread joins and the fine M48 graded on their volume (the basic profile's groove, Pappus)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-31 08:58:23 -04:00
committed by jyviko
parent 889a2f866c
commit 37a4c56477
3 changed files with 18 additions and 6 deletions
@@ -3,8 +3,12 @@
"tangency-labs/solidcraft#4191"
],
"what": "a 20x20x10 block joined round the bottom of an O6 x 50 stud carrying a modelled M6 thread: 'boolean Union: no result' (the same block joined before threading worked)",
"source": "invariants",
"method": "the block encloses the stud's bottom 10 mm, thread and all, so the join is one connected solid: one valid closed body. The modelled thread's volume is not closed-form",
"source": "analytic",
"method": "ISO 68-1 basic profile: H = P sqrt3/2, basic depth 5H/8. External groove (the space between teeth): a trapezoid P/4 wide at the root radius d/2 - 5H/8, widening by 2 tan30 per unit of radius to 7P/8 at d/2. Pappus: volume per turn = 2 pi A rc (A the trapezoid area, rc its centroid radius from the axis); a helical sweep of L/P turns removes exactly (L/P) x that, where each end of the thread is a free end or lies inside material. Stud R = 3, L = 50, M6 (P = 1) over its whole length (its top end free). The block x, y -10..10, z 0..10 encloses the stud's bottom 10 mm, groove and all, so it fills that part: V = 20 x 20 x 10 + pi 3^2 40 - 40 x 5.317130 = 4918.2882 mm3 (the groove's part above z = 10 is 40 turns' worth: its section across any z is the same, the bottom end lying inside the block). Tolerance 1%: a modelled thread is a faceted helical solid (radial chord error up to 1% of the pitch on every wall, i.e. a volume deficit of about 4/3 x sag/R).",
"body_count": 1,
"volume_mm3": 4918.2882,
"tolerance": {
"rel": 0.01
},
"timeout_s": 600
}
@@ -3,8 +3,12 @@
"tangency-labs/solidcraft#4726"
],
"what": "a modelled M48x0.75 thread over the whole 25 mm of a O48 bolt (33 turns): the browser build froze; coarse pitches and 4 mm of it worked, slowly",
"source": "invariants",
"method": "a modelled external thread on its own nominal shaft: one valid closed body within the case's timeout (slow by nature: 600 s); the helical faces have no closed-form volume",
"source": "analytic",
"method": "ISO 68-1 basic profile: H = P sqrt3/2, basic depth 5H/8. External groove (the space between teeth): a trapezoid P/4 wide at the root radius d/2 - 5H/8, widening by 2 tan30 per unit of radius to 7P/8 at d/2. Pappus: volume per turn = 2 pi A rc (A the trapezoid area, rc its centroid radius from the axis); a helical sweep of L/P turns removes exactly (L/P) x that, where each end of the thread is a free end or lies inside material. Bolt R = 24, L = 25, M48x0.75 (P = 0.75) over its whole length, both ends free: V = pi 24^2 25 - (25/0.75) x 25.647420 = 44384.0202 mm3 (the groove is 1.9% of the bolt); one valid closed body within the case's timeout (slow by nature: 600 s). Tolerance 1%: a modelled thread is a faceted helical solid (radial chord error up to 1% of the pitch on every wall, i.e. a volume deficit of about 4/3 x sag/R).",
"body_count": 1,
"volume_mm3": 44384.0202,
"tolerance": {
"rel": 0.01
},
"timeout_s": 600
}
@@ -3,8 +3,12 @@
"tangency-labs/solidcraft#5146"
],
"what": "a O23 shaft with a modelled M23x1 thread joined onto the O26 cylinder it stands on: SolidCraft ended without a clean exit during the combine",
"source": "invariants",
"method": "the shaft's end face lies on the base's top face, so the join is one solid: one valid closed body, within the case's timeout (modelled threads are slow: 600 s)",
"source": "analytic",
"method": "ISO 68-1 basic profile: H = P sqrt3/2, basic depth 5H/8. External groove (the space between teeth): a trapezoid P/4 wide at the root radius d/2 - 5H/8, widening by 2 tan30 per unit of radius to 7P/8 at d/2. Pappus: volume per turn = 2 pi A rc (A the trapezoid area, rc its centroid radius from the axis); a helical sweep of L/P turns removes exactly (L/P) x that, where each end of the thread is a free end or lies inside material. Base R = 13, h = 10; shaft R = 11.5, z 10..30, M23x1 (P = 1) over its whole length, both ends free (the bottom one then lies on the base's top face, which closes it): the shaft's end face lies on the base's top face, so the join is one solid, V = pi 13^2 10 + pi 11.5^2 20 - 20 x 21.577558 = 13187.2530 mm3, within the case's timeout (modelled threads are slow: 600 s). Tolerance 1%: a modelled thread is a faceted helical solid (radial chord error up to 1% of the pitch on every wall, i.e. a volume deficit of about 4/3 x sag/R).",
"body_count": 1,
"volume_mm3": 13187.253,
"tolerance": {
"rel": 0.01
},
"timeout_s": 600
}