Fillet rig: the sloped basin's rim loops with their mitred corners' exact volumes

The owner ruled on 2026-10-30 that rounds meeting at a concave corner beside an
unpicked sharp edge are mitred, which fixes the basin loops' re-entrant corners.
Each loop case now grades its exact volume (rel 1e-6): each blend takes
Int width(z) length(z) dz, its section's width from its wall to its arc or chamfer
line (the front one clipped at the slab's face where it runs past the rim), its
length between its neighbours' walls extended; each corner of two picked edges adds
the overlap of their section prisms in the quadrant beyond both walls,
Int width_1(z) width_2(z) dz (r^3 (5/3 - pi/2) for vertical walls, as
every-pocket-rim-edges-r2). One edge alone reproduces the single-edge closed forms to
3e-7 of the removal. The equal-slope chamfer loop 0.5 passes; the others stay on
KNOWN_FAILING with the causes they had (SMLib status 1001, the surface-of-revolution
check, rounds past the rim not built by subtraction).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-30 07:05:04 -04:00
committed by Irakli Kourtis
parent ecbca1f747
commit 30dce7fbaf
10 changed files with 70 additions and 30 deletions
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "all four top rim edges of a basin whose walls all slope 10 over 20, its front rim 1 mm wide, chamfered 0.5",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 11)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 140333.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four top rim edges of a basin whose walls all slope 10 over 20, its front rim 1 mm wide, chamfered 0.5, mitred at the rim's corners",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 11)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 140333.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), inside its rim; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 24.455545. V = 140308.877788",
"body_count": 1,
"volume_mm3": 140308.87778784672,
"bbox": {
"min": [
0,
@@ -17,5 +18,8 @@
60,
30
]
},
"tolerance": {
"rel": 1e-06
}
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "all four top rim edges of a basin whose walls all slope 10 over 20, its front rim 1 mm wide, rounded R 0.5",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 11)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 140333.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four top rim edges of a basin whose walls all slope 10 over 20, its front rim 1 mm wide, rounded R 0.5, mitred at the rim's corners",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 11)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 140333.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), inside its rim; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 3.517697. V = 140329.815636",
"body_count": 1,
"volume_mm3": 140329.8156362336,
"bbox": {
"min": [
0,
@@ -18,6 +19,9 @@
30
]
},
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "all four top rim edges of a basin whose walls all slope 10 over 20, its front rim 1 mm wide, rounded R 4: past the rim the front round runs over the slab's front face and is cut from the slab",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 11)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 140333.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four top rim edges of a basin whose walls all slope 10 over 20, its front rim 1 mm wide, rounded R 4, mitred at the rim's corners: past the rim the front round runs over the slab's front face and is cut from the slab",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 11)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 140333.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), the front one not past y = 0, the slab's face; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 218.598188. V = 140114.735145",
"body_count": 1,
"volume_mm3": 140114.73514508773,
"bbox": {
"min": [
0,
@@ -18,6 +19,9 @@
30
]
},
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "all four of the top rim edges of a sloped basin with a 0.5 mm front rim rounded R4: past the thin rim the rounds run over the slab's front face and are cut from the slab",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 0.5)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144266.666667. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four of the top rim edges of a sloped basin with a 0.5 mm front rim rounded R4, mitred at the rim's corners: past the thin rim the front round runs over the slab's front face and is cut from the slab",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 0.5)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144266.666667. Each blend's section at height z spans from its wall to its arc (or chamfer line), the front one not past y = 0, the slab's face; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 182.348561. V = 144084.318105",
"body_count": 1,
"volume_mm3": 144084.31810540144,
"bbox": {
"min": [
0,
@@ -18,6 +19,9 @@
30
]
},
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "all four of the top rim edges of a sloped basin with a 1 mm front rim rounded R0.5",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four of the top rim edges of a sloped basin with a 1 mm front rim rounded R0.5, mitred at the rim's corners",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), inside its rim; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 2.905424. V = 144530.427909",
"body_count": 1,
"volume_mm3": 144530.42790890092,
"bbox": {
"min": [
0,
@@ -18,6 +19,9 @@
30
]
},
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "two of the top rim edges of a sloped basin with a 1 mm front rim rounded R4: past the thin rim the rounds run over the slab's front face and are cut from the slab",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "the front and right of the top rim edges of a sloped basin with a 1 mm front rim rounded R4, mitred at the rim's corners: past the thin rim the front round runs over the slab's front face and is cut from the slab",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), the front one not past y = 0, the slab's face; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 72.136985. V = 144461.196348",
"body_count": 1,
"volume_mm3": 144461.19634789118,
"bbox": {
"min": [
0,
@@ -18,6 +19,9 @@
30
]
},
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#1080"
],
"what": "all four of the top rim edges of a sloped basin with a 1 mm front rim rounded R4: past the thin rim the rounds run over the slab's front face and are cut from the slab",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four of the top rim edges of a sloped basin with a 1 mm front rim rounded R4, mitred at the rim's corners: past the thin rim the front round runs over the slab's front face and is cut from the slab",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), the front one not past y = 0, the slab's face; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 186.007516. V = 144347.325818",
"body_count": 1,
"volume_mm3": 144347.32581768231,
"bbox": {
"min": [
0,
@@ -18,6 +19,9 @@
30
]
},
"tolerance": {
"rel": 1e-06
},
"continuity": {
"order": "g1"
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#5835"
],
"what": "all four of the top rim edges of a sloped basin whose walls slope unequally, its front rim 1 mm wide, chamfered 0.5: the chamfers meet at the rim's corners",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four of the top rim edges of a sloped basin whose walls slope unequally, its front rim 1 mm wide, chamfered 0.5: the chamfers meet in mitres at the rim's corners",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 1)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 144533.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), inside its rim; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 23.167157. V = 144510.166177",
"body_count": 1,
"volume_mm3": 144510.1661766051,
"bbox": {
"min": [
0,
@@ -17,5 +18,8 @@
60,
30
]
},
"tolerance": {
"rel": 1e-06
}
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#5835"
],
"what": "two of the top rim edges of a sloped basin whose walls slope unequally, its front rim 4 mm wide, chamfered 2: the chamfers meet at the rim's corners",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 4)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 146133.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "the front and right of the top rim edges of a sloped basin whose walls slope unequally, its front rim 4 mm wide, chamfered 2: the chamfers meet in mitres at the rim's corners",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 4)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 146133.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), inside its rim; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 176.006388. V = 145957.326945",
"body_count": 1,
"volume_mm3": 145957.3269449097,
"bbox": {
"min": [
0,
@@ -17,5 +18,8 @@
60,
30
]
},
"tolerance": {
"rel": 1e-06
}
}
@@ -2,10 +2,11 @@
"sources": [
"tangency-labs/solidcraft#5835"
],
"what": "all four of the top rim edges of a sloped basin whose walls slope unequally, its front rim 4 mm wide, chamfered 2: the chamfers meet at the rim's corners",
"source": "invariants",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 4)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 146133.333333. the rim's corners are re-entrant (the pocket's corners), where the blends of two sides meet; with sloped walls of different slopes that meeting has no closed form here. Nothing may leave the slab: the box is the slab's, which keeps its outside faces whole.",
"what": "all four of the top rim edges of a sloped basin whose walls slope unequally, its front rim 4 mm wide, chamfered 2: the chamfers meet in mitres at the rim's corners",
"source": "analytic",
"method": "slab 100 x 60 x 30 less the loft from the rectangle (20, 4)-(80, 50) at z = 30 to (30, 20)-(70, 40) at z = 10 (planar walls, a prismatoid: 20/6 (A_top + A_bottom + 4 A_mid)): V0 = 146133.333333. Each blend's section at height z spans from its wall to its arc (or chamfer line), inside its rim; its edge runs between its neighbours' walls (the sloped end walls extended), so it takes Int width(z) length(z) dz. At a re-entrant corner of two picked edges the blends meet in a mitre (the owner's ruling of 2026-10-30): each runs on past the corner and the quadrant beyond both walls loses what both take, Int width_1(z) width_2(z) dz. Removed 370.156402. V = 145763.176931",
"body_count": 1,
"volume_mm3": 145763.17693088384,
"bbox": {
"min": [
0,
@@ -17,5 +18,8 @@
60,
30
]
},
"tolerance": {
"rel": 1e-06
}
}