Skip to content

v1.6.1 — fix recipe 02's tangent placement bug (corrects v1.6.0's release note)

Latest

Choose a tag to compare

@gsdali gsdali released this 10 Aug 20:37
· 1 commit to main since this release
e4d9842

Corrects v1.6.0's release note: the helical-spring recipe's volume drift was not an OCCTSwift kernel regression. OCCTSwift#830 was reproduced and closed not-a-bug — the real bug was in this repo's own recipes/02-helical-spring, which computed the wire's start point/tangent analytically assuming Wire.helix's clockwise: true winding while calling it with the default clockwise: false. mode: .frenet was insensitive to the resulting placement error; mode: .correctedFrenet was not, once an unrelated, intentional OCCTSwift fix (#598, landed just before 2.0.0) made .correctedFrenet finally run real corrected Frenet.

Fixed by measuring the spine's own start point and tangent (Edge.curve3D, Curve3D.d1(at:)) instead of computing them — the same fix OCCTSwift's own "Helices & Springs" cookbook page needed for the identical mistake. Verified: volume is now 8575.186 mm³, matching both a hand calculation and the OCCTSwift maintainer's independent reproduction.

No reference output.brep restored yet: the corrected placement genuinely shifts the coil's exact position (bounding box drifts 0.53mm vs the pre-fix geometry, even though volume — which is placement-invariant — agrees to 4 significant figures), so the old reference doesn't apply and a fresh one needs regenerating from a local build. recipes/02-helical-spring's other checks (manifest, body, volume>0, solidCount) still run without one.