diff --git a/tests/kernel-cases/fillets/KNOWN_FAILING b/tests/kernel-cases/fillets/KNOWN_FAILING index 92f6ca9e7e..5010c13a31 100644 --- a/tests/kernel-cases/fillets/KNOWN_FAILING +++ b/tests/kernel-cases/fillets/KNOWN_FAILING @@ -12,3 +12,10 @@ 5158-fillet-round-just-past-a-10mm-face SMLib status 1001: the round passes 5e-6 under the box's top back edge, inside the body's tolerance (1e-5), and subtracting its removal region maps that edge to two of the region's faces (SmTopologyIntersector); 10.0001-10.04 open 9-fillet-corner-curvature-with-reduce-fit not supported yet: solid.fillet builds corner g2 with the exact fit only 9-fillet-corner-curvature-with-taper-fit not supported yet: solid.fillet builds corner g2 with the exact fit only +926-chamfer-top-edge-ending-on-boss-wall-above-it not supported yet: the chamfer is refused as larger than its faces where it ends on the boss's wall +cov-chamfer-concave-edge-through-up-down-joined-squares SMLib status 1001 on the concave chamfer's tangent chain +cov-chamfer-outer-corner-edge-of-a-shelled-box-with-a-lip SMLib's chamfer result is not a closed solid where it ends on the lip +cov-fillet-arc-edge-on-an-oblique-cut-of-a-bar SMLib's check refuses the round: internal coincident control points in a B-spline curve +every-block-cylinder-crease-top-edge-after-arc-round-r1 the r1 round's contact seam with the block's side face reads 60 degrees (the cylinder wall's normal) at its end on the crease (8.660, 5, 15.284): G0 where the round is built tangent +every-hole-top-rim-r12-past-plate-bottom SMLib status 1001: a convex round past its face on the tangent side is not yet built by subtraction +report-fillet-concave-arc-and-front-top-edge-together-solver-residues the corner patch where the convex and concave rounds meet stands 0.0374 out of the front face (box y min 0.0205 against 0.0579) diff --git a/tests/kernel-cases/fillets/report-fillet-concave-arc-and-front-top-edge-together-solver-residues/expected.json b/tests/kernel-cases/fillets/report-fillet-concave-arc-and-front-top-edge-together-solver-residues/expected.json new file mode 100644 index 0000000000..b0f0d58b7a --- /dev/null +++ b/tests/kernel-cases/fillets/report-fillet-concave-arc-and-front-top-edge-together-solver-residues/expected.json @@ -0,0 +1,21 @@ +{ + "what": "as report-fillet-concave-arc-bar-top-into-cylinder-solver-residues, the concave arc and the bar's front top edge rounded r2 together (Constant, Tangent chain on): the corner patch where the two rounds meet stood up to 0.037 out of the bar's front face, a lip beside the line where the front face runs tangent into the cylinder; reported from the app (2026-10-30, test-peg part)", + "source": "invariants", + "method": "the plane of the bar's front face, y = 0.0579254505, bounds the whole body (the cylinder's wall runs tangent into it), as do the planes of its back face, bottom, left end and the cylinder's top and far side: every blend lies within them, so the body's exact box (SMLib's tight box) is the unblended body's, x 0.4892940775 .. 41.6497118311 + 8, y 0.0579254505 .. 16.0579254508, z 0 .. 20; graded to 4e-5, the corner patch's own tolerance (the fillet's approximation tolerance)", + "body_count": 1, + "bbox": { + "min": [ + 0.4892940775280783, + 0.05792545052986289, + 0 + ], + "max": [ + 49.64971183108453, + 16.05792545083297, + 20 + ] + }, + "tolerance": { + "abs_mm": 4e-05 + } +} diff --git a/tests/kernel-cases/fillets/report-fillet-concave-arc-and-front-top-edge-together-solver-residues/recipe.json b/tests/kernel-cases/fillets/report-fillet-concave-arc-and-front-top-edge-together-solver-residues/recipe.json new file mode 100644 index 0000000000..9337c4a047 --- /dev/null +++ b/tests/kernel-cases/fillets/report-fillet-concave-arc-and-front-top-edge-together-solver-residues/recipe.json @@ -0,0 +1,176 @@ +{ + "commands": [ + { + "command": "sketch.create", + "params": { + "plane": "XY", + "name": "Peg" + } + }, + { + "command": "sketch.line", + "params": { + "points": [ + [ + 0.4892940775280783, + 0.05792545052986289 + ], + [ + 41.64971183161969, + 0.05792545083296555 + ] + ] + } + }, + { + "command": "sketch.arc.center_point", + "params": { + "center": [ + 41.64971183108453, + 8.057925450890195 + ], + "start": [ + 41.64971183161969, + 0.05792545083296555 + ], + "end": [ + 41.649711830726524, + 16.05792545083297 + ] + } + }, + { + "command": "sketch.line", + "params": { + "points": [ + [ + 41.649711830726524, + 16.05792545083297 + ], + [ + 0.4892940775280783, + 16.057925450606035 + ] + ] + } + }, + { + "command": "sketch.line", + "params": { + "points": [ + [ + 0.4892940775280783, + 16.057925450606035 + ], + [ + 0.4892940775280783, + 0.05792545052986289 + ] + ] + } + }, + { + "command": "sketch.finish", + "params": {} + }, + { + "command": "solid.extrude", + "params": { + "sketch": "Peg", + "distance": 10, + "body_name": "Peg" + } + }, + { + "command": "sketch.create", + "params": { + "plane": { + "origin": [ + 0, + 0, + 10 + ], + "x_dir": [ + 1, + 0, + 0 + ], + "y_dir": [ + 0, + 1, + 0 + ] + }, + "name": "Top" + } + }, + { + "command": "sketch.project", + "params": { + "refs": [ + { + "face": [ + 2.4892940775280783, + 8.057925450890195, + 10 + ] + } + ] + } + }, + { + "command": "sketch.circle.center", + "params": { + "center": [ + 41.64971183108453, + 8.057925450832967 + ], + "radius": 8.000000000006473 + } + }, + { + "command": "sketch.finish", + "params": {} + }, + { + "command": "solid.extrude", + "params": { + "sketch": "Top", + "distance": 10, + "operation": "join", + "targets": [ + "Peg" + ], + "profiles": [ + { + "point": [ + 41.64971183108453, + 8.057925450832967 + ] + } + ], + "exact_regions": true + } + }, + { + "command": "solid.fillet", + "params": { + "edges": [ + [ + 33.65, + 8.058, + 10 + ], + [ + 21.07, + 0.0579, + 10 + ] + ], + "radius": 2, + "type": "constant", + "tangent_chain": true + } + } + ] +}