diff --git a/tests/kernel-cases/inspect/cov-continuity-box-edge-is-sharp/expected.json b/tests/kernel-cases/inspect/cov-continuity-box-edge-is-sharp/expected.json new file mode 100644 index 0000000000..1468968e94 --- /dev/null +++ b/tests/kernel-cases/inspect/cov-continuity-box-edge-is-sharp/expected.json @@ -0,0 +1,34 @@ +{ + "sources": [], + "what": "the order at a box's square edge", + "source": "analytic", + "method": "box 40 x 30 x 20 with a corner at the origin: the faces y = 0 and z = 0 meet at 90 deg along their edge: g0, sharp, normal angle 90", + "results": [ + { + "command": 1, + "pointer": "/summary/edges", + "value": 1 + }, + { + "command": 1, + "pointer": "/bodies/0/edges/0/order", + "value": "g0" + }, + { + "command": 1, + "pointer": "/bodies/0/edges/0/verdict", + "value": "sharp" + }, + { + "command": 1, + "pointer": "/bodies/0/edges/0/normal_angle_deg/value", + "value": 90.0 + }, + { + "command": 1, + "pointer": "/bodies/0/edges/0/gap_mm/value", + "value": 0.0, + "rel": 1e-06 + } + ] +} diff --git a/tests/kernel-cases/inspect/cov-continuity-box-edge-is-sharp/recipe.json b/tests/kernel-cases/inspect/cov-continuity-box-edge-is-sharp/recipe.json new file mode 100644 index 0000000000..6e23fd24ae --- /dev/null +++ b/tests/kernel-cases/inspect/cov-continuity-box-edge-is-sharp/recipe.json @@ -0,0 +1,27 @@ +{ + "commands": [ + { + "command": "solid.box", + "params": { + "length": 40, + "width": 30, + "height": 20, + "body_name": "Box", + "operation": "new" + } + }, + { + "command": "inspect.continuity", + "params": { + "body": "Box", + "edges": [ + [ + 20, + 0, + 0 + ] + ] + } + } + ] +} diff --git a/tests/kernel-cases/inspect/cov-continuity-fillet-seams-are-g1/expected.json b/tests/kernel-cases/inspect/cov-continuity-fillet-seams-are-g1/expected.json new file mode 100644 index 0000000000..9a93b77dcd --- /dev/null +++ b/tests/kernel-cases/inspect/cov-continuity-fillet-seams-are-g1/expected.json @@ -0,0 +1,43 @@ +{ + "sources": [], + "what": "the order where a round meets the faces either side", + "source": "analytic", + "method": "box 40 x 30 x 20 with a corner at the origin, its top-front edge (y 0, z 20) rounded r 3: the round meets the top (at y 3) and the front (at z 17) tangent, curvature jumping 0 to 1/3: g1, jump 1/3 per mm", + "results": [ + { + "command": 2, + "pointer": "/summary/edges", + "value": 2 + }, + { + "command": 2, + "pointer": "/bodies/0/edges/0/order", + "value": "g1" + }, + { + "command": 2, + "pointer": "/bodies/0/edges/1/order", + "value": "g1" + }, + { + "command": 2, + "pointer": "/bodies/0/edges/0/curvature_jump_per_mm/value", + "value": 0.3333333333333333 + }, + { + "command": 2, + "pointer": "/bodies/0/edges/1/curvature_jump_per_mm/value", + "value": 0.3333333333333333 + }, + { + "command": 2, + "pointer": "/bodies/0/edges/0/verdict", + "value": "curvature_jump" + }, + { + "command": 2, + "pointer": "/bodies/0/edges/1/verdict", + "value": "curvature_jump" + } + ] +} diff --git a/tests/kernel-cases/inspect/cov-continuity-fillet-seams-are-g1/recipe.json b/tests/kernel-cases/inspect/cov-continuity-fillet-seams-are-g1/recipe.json new file mode 100644 index 0000000000..817d866484 --- /dev/null +++ b/tests/kernel-cases/inspect/cov-continuity-fillet-seams-are-g1/recipe.json @@ -0,0 +1,45 @@ +{ + "commands": [ + { + "command": "solid.box", + "params": { + "length": 40, + "width": 30, + "height": 20, + "body_name": "Box", + "operation": "new" + } + }, + { + "command": "solid.fillet", + "params": { + "edges": [ + [ + 20, + 0, + 20 + ] + ], + "radius": 3 + } + }, + { + "command": "inspect.continuity", + "params": { + "body": "Box", + "edges": [ + [ + 20, + 3, + 20 + ], + [ + 20, + 0, + 17 + ] + ] + } + } + ] +} diff --git a/tests/kernel-cases/inspect/cov-continuity-refuses-too-few-samples/expected.json b/tests/kernel-cases/inspect/cov-continuity-refuses-too-few-samples/expected.json new file mode 100644 index 0000000000..acb8d956e8 --- /dev/null +++ b/tests/kernel-cases/inspect/cov-continuity-refuses-too-few-samples/expected.json @@ -0,0 +1,8 @@ +{ + "sources": [], + "what": "continuity with 2 stations a seam", + "source": "analytic", + "method": "box 40 x 30 x 20 with a corner at the origin: a seam needs its two ends and one station between: 2 is refused", + "outcome": "refused", + "refusal": "`samples` must be 3\u2026257 stations along each edge" +} diff --git a/tests/kernel-cases/inspect/cov-continuity-refuses-too-few-samples/recipe.json b/tests/kernel-cases/inspect/cov-continuity-refuses-too-few-samples/recipe.json new file mode 100644 index 0000000000..073ae40ea2 --- /dev/null +++ b/tests/kernel-cases/inspect/cov-continuity-refuses-too-few-samples/recipe.json @@ -0,0 +1,21 @@ +{ + "commands": [ + { + "command": "solid.box", + "params": { + "length": 40, + "width": 30, + "height": 20, + "body_name": "Box", + "operation": "new" + } + }, + { + "command": "inspect.continuity", + "params": { + "body": "Box", + "samples": 2 + } + } + ] +}