diff --git a/tests/kernel-cases/fillets/every-block-cylinder-tangent-concave-arc-r2-no-tangent-chain/expected.json b/tests/kernel-cases/fillets/every-block-cylinder-tangent-concave-arc-r2-no-tangent-chain/expected.json index b189b5ea86..bc82924a90 100644 --- a/tests/kernel-cases/fillets/every-block-cylinder-tangent-concave-arc-r2-no-tangent-chain/expected.json +++ b/tests/kernel-cases/fillets/every-block-cylinder-tangent-concave-arc-r2-no-tangent-chain/expected.json @@ -1,11 +1,10 @@ { "sources": [], - "what": "the concave half circle where a block as wide as the cylinder's diameter meets the cylinder's wall above its top, rounded r2 alone (Tangent chain off)", + "what": "the concave half circle where a block as wide as the cylinder's diameter meets the cylinder's wall above its top, rounded r2 with its tangent chain: the half circle's pieces, ending where it runs on into the block's convex top-side edges", "source": "analytic", - "method": "block 40x20x15 (x 0..40, y -10..10) joined to the cylinder R10 x 30 on the z axis: the block's sides y = +-10 run tangent into the cylinder wall at x = 0; V0 = 12000 + 3000 pi - 15 * 50 pi = 19068.5835. The arc (z = 15, rho = 10, x > 0) ends at (0, +-10, 15), where the block's top-side edges go on tangentially. Rounded r2 alone, the round adds the spandrel (rho in [10,12], z in [15,17]) over the block only, between its side planes |y| = 10: at radius rho it spans 2 asin(10/rho), running out to nothing at the ends. Added = int over the spandrel of 2 rho asin(10/rho) (Gauss-Legendre) = 23.3785. V = 19091.9620. Or a refusal saying the edge continues tangentially (as fillets/1207-fillet-bar-top-edge-after-boss-arc-round-partial-chain).", + "method": "block 40x20x15 (x 0..40, y -10..10) joined to the cylinder R10 x 30 on the z axis: the block's sides y = +-10 run tangent into the cylinder wall at x = 0; V0 = 12000 + 3000 pi - 15 * 50 pi = 19068.5835. The arc (z = 15, rho = 10, x > 0) ends at (0, +-10, 15), where the block's top-side edges go on tangentially. Rounded r2 with its tangent chain: SMLib splits the half circle, and the chain takes every piece of it (concave, tangent at their ends); at (0, +-10, 15) it runs on into convex edges, where a chain ends (a round cannot pass from one side of the faces to the other), so the half circle is rounded whole and alone; the round adds the spandrel (rho in [10,12], z in [15,17]) over the block only, between its side planes |y| = 10: at radius rho it spans 2 asin(10/rho), running out to nothing at the ends. Added = int over the spandrel of 2 rho asin(10/rho) (Gauss-Legendre) = 23.3785. V = 19091.9620.", "body_count": 1, - "outcome": "solid_or_refused", - "refusal": "continues tangentially", + "outcome": "solid", "volume_mm3": 19091.962003483477, "continuity": { "order": "g1" diff --git a/tests/kernel-cases/fillets/every-fillet-after-fillet-curvature-front-then-side-r3/expected.json b/tests/kernel-cases/fillets/every-fillet-after-fillet-curvature-front-then-side-r3/expected.json index 8dfb1228e0..40e08c24a1 100644 --- a/tests/kernel-cases/fillets/every-fillet-after-fillet-curvature-front-then-side-r3/expected.json +++ b/tests/kernel-cases/fillets/every-fillet-after-fillet-curvature-front-then-side-r3/expected.json @@ -1,12 +1,8 @@ { "sources": [], - "what": "a box's top front edge rounded curvature-continuous size 3, then the top side edge meeting it at the corner rounded the same way alone (Tangent chain off)", - "source": "invariants", - "method": "box 40x30x20; the edge y=0, z=20 rounded type curvature 3 (every-box-edge-r3-curvature's section), then the edge x=40, z=20 (now y 3..30) rounded type curvature 3 alone: at y = 3 it runs on tangentially into the first round's end curve on x = 40 (the order-2 section, tangent to the top there), so the second round ends on a curved round, not a planar end face: no closed form. A valid body with every blend seam G2, or a refusal saying the edge continues tangentially (the 1207 precedent).", - "body_count": 1, - "outcome": "solid_or_refused", - "refusal": "continues tangentially", - "continuity": { - "order": "g2" - } + "what": "a box's top front edge rounded curvature-continuous size 3, then the top side edge meeting it at the corner rounded the same way with its tangent chain, which runs on round the first round's end curve: refused, the size 3 has no room there", + "source": "analytic", + "method": "box 40x30x20; the edge y=0, z=20 rounded type curvature 3 (every-box-edge-r3-curvature's section), then the edge x=40, z=20 (now y 3..30) rounded type curvature 3 with its tangent chain: at y = 3 it runs on tangentially into the first round's end curve on x = 40 (the order-2 section, tangent to the top there; convex), which runs on at (40, 0, 17) into the front upright (x=40, y=0, z 0..17). Along the end curve the second blend's contact line on x = 40 is that curve offset 3 towards its centres of curvature. The section turns 90 degrees from (3, 0) on the top to (0, 3) on the side; with rho(phi) its radius of curvature at tangent angle phi, its setback along the top is 3 = Int_0^(pi/2) rho(phi) cos(phi) dphi, and Int_0^(pi/2) cos(phi) dphi = 1, so 3 is a weighted mean of rho; the order-2 section's curvature is 0 at both ends (rho unbounded there), so rho is not constant and its least value is below 3. The offset by 3 passes that curve's evolute and folds back on itself: the blend passes through itself (as ladder 07-fillets/016's r7 on the r5 round's arc). No such blend exists, so the right answer is a clean refusal for its size.", + "outcome": "refused", + "refusal": "larger than the faces beside its edges allow" } \ No newline at end of file