smlib: the curved primitives' measures, round trips and two sweep volumes run on solidcore (solidcore#1435 landed)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdcgExNEwfR9CX2RAzp2Pt
This commit is contained in:
Brett Lawson
2026-10-29 06:35:51 +01:00
parent 53da867349
commit cb79c32ee1
3 changed files with 9 additions and 20 deletions
+2 -5
View File
@@ -159,11 +159,8 @@ macro_rules! primitive {
primitive!(box_, "box");
primitive!(cylinder, "cylinder");
primitive!(sphere, "sphere",
volume: ignore = "solidcore#1435: a sphere's volume at 1e-8 is 2e-9 off",
round_trip: ignore = "solidcore#1435: the record comes back the same; its volume at 1e-8 is 2e-9 off");
primitive!(cone, "cone",
round_trip: ignore = "solidcore#1435: the record comes back the same, but its volume at 1e-8 is 1.4e-9 off (the C++ kernel 1.1e-11 on the same arrays); the side face's precise properties do not split at the surface's knots, fork 08d9a14 (solidcore PR #1456)");
primitive!(sphere, "sphere");
primitive!(cone, "cone");
primitive!(frustum, "frustum");
primitive!(torus, "torus");
+5 -13
View File
@@ -264,19 +264,11 @@ macro_rules! primitive {
}
primitive!(box_, "box");
primitive!(cylinder, "cylinder", area: ignore = "solidcore#1435: face area at 1e-8 is 3.7e-8 off");
primitive!(sphere, "sphere",
mass: ignore = "solidcore#1435: a sphere's properties at 1e-8 miss 1e-9",
area: ignore = "solidcore#1435: face area at 1e-8 is 1.2e-8 off");
primitive!(cone, "cone",
mass: ignore = "solidcore#1435: cone inertia at 1e-8 is 1.7e-9 off",
area: ignore = "solidcore#1435: face area at 1e-8 is 4.2e-8 off");
primitive!(frustum, "frustum",
mass: ignore = "solidcore#1435: frustum inertia at 1e-8 misses 1e-9",
area: ignore = "solidcore#1435: face area at 1e-8 is 3.5e-8 off");
primitive!(torus, "torus",
mass: ignore = "solidcore#1435: torus inertia at 1e-8 is 1.7e-9 off",
area: ignore = "solidcore#1435: face area at 1e-8 is 6.0e-9 off");
primitive!(cylinder, "cylinder");
primitive!(sphere, "sphere");
primitive!(cone, "cone");
primitive!(frustum, "frustum");
primitive!(torus, "torus");
/// Until solidcore ports it (solidcore#1419), the check says so instead of guessing.
#[test]
+2 -2
View File
@@ -390,7 +390,7 @@ cases!(
revolve_rectangle_full,
revolve_rectangle_quarter,
sweep_circle_straight,
sweep_circle_along_an_arc: ignore = "solidcore#1435: a torus's volume at 1e-8 is 2.2e-9 off; precise properties do not split at the surface's knots, fork 08d9a14 (solidcore#1435)",
sweep_circle_along_an_arc,
sweep_along_a_bent_path: ignore = "solidcore#1450: no curve sweep keeping the profile at the path's start, fork 2dd71a0 / 5d3939e",
loft_two_squares,
loft_two_circles,
@@ -398,7 +398,7 @@ cases!(
sweep_stations_prism,
sweep_stations_scaled,
screw_sweep_square_thread,
screw_sweep_radial_taper [ignore = "solidcore#1435: B-spline walls' volume at 1e-8 is 3.6e-8 off the closed form (C++ 1.1e-8); precise properties do not split at the surface's knots, fork 08d9a14 (solidcore#1435)"],
screw_sweep_radial_taper,
);
fn near(a: [f64; 3], b: [f64; 3]) -> bool {