test: reference cases for variable, chord-length and tapered fillets (#776)

Four analytic reference cases for variable, to-zero, chord-length and taper-to-fit fillets, with the formulas in tools/oracle-analytic.
This commit is contained in:
Irakli Kourtis authored and GitHub committed 2026-10-13 12:35:16 -04:00
1 parent 7b0a1b296c
commit 8cdefd4cd5
13 files changed
+1010 -7

No files matched your search

+4 -3
View File
@@ -2,15 +2,16 @@
Closed-form expected values for the cases in [`tests/oracle/`](../../tests/oracle/) whose shape
has one: prisms, cylinders, cones and frustums, spheres and caps, tori and solids of revolution
(Pappus), constant-radius fillets on straight edges, shells, patterns of these, and folded sheet
metal (flats plus bends as annular sectors). Each script is plain Python 3 (standard library only)
with one function per case. Running a script from the repository root rewrites the
(Pappus), fillets on straight edges (a constant radius, or one varying along the edge), shells,
patterns of these, and folded sheet metal (flats plus bends as annular sectors). Each script is
plain Python 3 (standard library only) with one function per case. Running a script from the repository root rewrites the
`expected.json` of its cases with `"source": "analytic"` and a `method` string giving the formulas:
```sh
python3 tools/oracle-analytic/cases_basic.py # 01-29: boxes, holes, revolves, sketches
python3 tools/oracle-analytic/cases_features.py # 32-66: fillets, shells, sweeps, patterns
python3 tools/oracle-analytic/cases_sheet_metal.py # 67-76: sheet metal
python3 tools/oracle-analytic/cases_fillets.py # 77-80: variable, chord-length and tapered fillets
```
Where a value depends on a SolidCraft convention rather than on geometry alone (a shell's sharp