kernel-cases: booleans cases from items another area had skipped (#451, #1107, #1140, #2928, #3850/#3741, #1984, #3573)

Added: 451 (block inside / crossing a hollow spherical-shell tool), 1107 (hollow hub joined
with nine blades), 1140 (spiral hollow lofted tube cut in half and joined), 2928 (cap-touching
lips with 0.0001 mm offset walls), 3850 with 3741 (cross cut touching a round side, and the
hole after it), 1984 (near-coaxial pin and rivet overlaps). #3573 is now a source of
shell/3576. Their lines are gone from the skipped files; #2259, #3518 and #3602 stay skipped
with corrected reasons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bherbruck
2026-10-21 06:20:32 -04:00
committed by jyviko
parent 85f7200bbf
commit ec154f5421
22 changed files with 6903 additions and 37 deletions
@@ -0,0 +1,15 @@
{
"sources": [
"tangency-labs/solidcraft#1107"
],
"what": "a hollow hub (tube r 21.5..23) joined with nine disjoint blades whose roots lie wholly in the wall: one valid solid, the cavity stays the hub's. Blades here are r1 round bars (the report's are lofted fan blades)",
"source": "analytic",
"method": "tube V = pi(23^2-21.5^2)*20 = 4194.03. Each blade is a round bar r=1, axis radial, from radial distance 22.2 to 37.2, z centre 10; its root disk (radius at most 22.22) lies in the wall 21.5..23, so only the part beyond the hub's outer cylinder adds: along the bar at tangential offset s the cylinder wall is at radial distance sqrt(23^2-s^2), so one blade adds Int_-1^1 2 sqrt(1-s^2) (37.2 - sqrt(529-s^2)) ds = 44.6277 (python quadrature, 2000-point Simpson in s=sin a). Bars are 40 deg apart (>2 mm clear), none touches the cavity. V = 4194.03 + 9*44.6277 = 4595.675; one body",
"body_count": 1,
"volume_mm3": 4595.6754,
"center_of_mass": [
0,
0,
10
]
}
@@ -0,0 +1,213 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 23,
"height": 20,
"base": [
0,
0,
0
],
"body_name": "Hub"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 21.5,
"height": 22,
"base": [
0,
0,
-1
],
"operation": "cut",
"targets": [
"Hub"
]
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
22.2,
0.0,
10
],
"axis": [
1.0,
0.0,
0
],
"body_name": "Blade1"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
17.006186637,
14.269884935,
10
],
"axis": [
0.766044443119,
0.642787609687,
0
],
"body_name": "Blade2"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
3.854989544,
21.862732117,
10
],
"axis": [
0.173648177667,
0.984807753012,
0
],
"body_name": "Blade3"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
-11.1,
19.225763964,
10
],
"axis": [
-0.5,
0.866025403784,
0
],
"body_name": "Blade4"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
-20.861176181,
7.592847182,
10
],
"axis": [
-0.939692620786,
0.342020143326,
0
],
"body_name": "Blade5"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
-20.861176181,
-7.592847182,
10
],
"axis": [
-0.939692620786,
-0.342020143326,
0
],
"body_name": "Blade6"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
-11.1,
-19.225763964,
10
],
"axis": [
-0.5,
-0.866025403784,
0
],
"body_name": "Blade7"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
3.854989544,
-21.862732117,
10
],
"axis": [
0.173648177667,
-0.984807753012,
0
],
"body_name": "Blade8"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 1,
"height": 15,
"base": [
17.006186637,
-14.269884935,
10
],
"axis": [
0.766044443119,
-0.642787609687,
0
],
"body_name": "Blade9"
}
},
{
"command": "solid.combine",
"params": {
"target": "Hub",
"tools": [
"Blade1",
"Blade2",
"Blade3",
"Blade4",
"Blade5",
"Blade6",
"Blade7",
"Blade8",
"Blade9"
],
"operation": "join"
}
}
]
}
@@ -0,0 +1,9 @@
{
"sources": [
"tangency-labs/solidcraft#1140"
],
"what": "a spiral round tube (radius growing 76 to 210 mm over one turn, 12 mm wall) built as 8 lofted bands, each minus a lofted bore, cut in half through the axis plane z=0 and the halves joined: must give one body",
"source": "invariants",
"method": "the script is the report's own generator (stdlib only, defaults 8 bands x 7 sections, inspect.measure dropped). Every band is a hollow tube cut at z=0 and the bands abut end to end, so the join is one connected solid. No exact volume (the loft of 7 sections only approximates the spiral's ~8.15 L half wall), so only the outcome, validity and body_count are graded",
"body_count": 1
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#1984"
],
"what": "the overlap of a pin 0.00056 mm off the axis of a bore of its own radius (r=3, 9.65 long): a thin crescent. The report's STEP round trip is left out; this is the geometry",
"source": "analytic",
"method": "the overlap of the pin and the bush wall is the part of the pin outside the bore circle: crescent area = pi r^2 - lens, lens = 2 r^2 acos(d/2r) - (d/2) sqrt(4 r^2 - d^2) with r=3, d=0.00056 (= 0.0033600); V = 9.65 x crescent = 0.032424 (the PR's 9.65 mm x crescent = 0.032424). One body",
"body_count": 1,
"volume_mm3": 0.03242399995
}
@@ -0,0 +1,46 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 5,
"height": 9.65,
"body_name": "Bush"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 3,
"height": 9.65,
"operation": "cut",
"targets": [
"Bush"
]
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 3,
"height": 9.65,
"base": [
0.00056,
0,
0
],
"body_name": "Pin"
}
},
{
"command": "solid.combine",
"params": {
"target": "Bush",
"tools": [
"Pin"
],
"operation": "intersect"
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#1984"
],
"what": "a rivet (shank r=2, heads r=4 flat on both faces of a 1.5 mm sheet) 0.004 mm off the axis of its hole: overlap with the sheet is the shank's crescent; the heads touch the sheet faces over an area but add no volume",
"source": "analytic",
"method": "overlap = 1.5 x crescent(r=2, d=0.004) = 1.5 x (pi r^2 - 2 r^2 acos(d/2r) + (d/2) sqrt(4 r^2 - d^2)) = 0.024000 (the PR's 1.5 x crescent = 0.0240). The heads (z -1..0 and 1.5..2.5) only touch the sheet's faces, sharing no volume. One body",
"body_count": 1,
"volume_mm3": 0.023999996
}
@@ -0,0 +1,89 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"center": [
0,
0,
0.75
],
"length": 20,
"width": 20,
"height": 1.5,
"body_name": "Sheet"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 2,
"height": 3,
"base": [
0,
0,
-0.5
],
"operation": "cut",
"targets": [
"Sheet"
]
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 2,
"height": 1.5,
"base": [
0.004,
0,
0
],
"body_name": "Rivet"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 4,
"height": 1,
"base": [
0.004,
0,
1.5
],
"operation": "join",
"targets": [
"Rivet"
]
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 4,
"height": 1,
"base": [
0.004,
0,
-1
],
"operation": "join",
"targets": [
"Rivet"
]
}
},
{
"command": "solid.combine",
"params": {
"target": "Sheet",
"tools": [
"Rivet"
],
"operation": "intersect"
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#2928"
],
"what": "two half-annulus lips (r 4..5, from z=2 to 20) joined onto a stadium-ring base (z 0..2, r 3..5 arcs, centres 20 apart) with their cylinder walls 0.0001 mm off the base's: the lip cap touches the base top, leaving a 0.0001 mm crescent overhang. Layout is a hand-built variant of the PR's public reproduction",
"source": "analytic",
"method": "base area = 2 straight rails (2 x 20) x 2 + full annulus pi(25-9) = 80 + 16 pi, times 2 mm = 160 + 32 pi. Each lip is a half annulus pi(25-16)/2 = 4.5 pi, two lips x 18 mm = 162 pi. The lips sit above z=2, the base is below, so nothing overlaps (the crescent overhang is above z=2 too): V = 160 + 194 pi = 769.469. One body",
"body_count": 1,
"volume_mm3": 769.4689747964198
}
@@ -0,0 +1,277 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "Base"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
5,
-10
],
[
5,
10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
10
],
"start": [
5,
10
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-5,
10
],
[
-5,
-10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
-10
],
"start": [
-5,
-10
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
3,
-10
],
[
3,
10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
10
],
"start": [
3,
10
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-3,
10
],
[
-3,
-10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
-10
],
"start": [
-3,
-10
],
"sweep": 180
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Base",
"distance": 2,
"operation": "new",
"body_name": "Base"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"offset": 2,
"name": "Lips"
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0.0001,
10
],
"start": [
5.0001,
10
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-4.9999,
10
],
[
-3.9999,
10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0.0001,
10
],
"start": [
-3.9999,
10
],
"sweep": -180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
4.0001,
10
],
[
5.0001,
10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
-0.0001,
-10
],
"start": [
-5.0001,
-10
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
4.9999,
-10
],
[
3.9999,
-10
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
-0.0001,
-10
],
"start": [
3.9999,
-10
],
"sweep": -180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-4.0001,
-10
],
[
-5.0001,
-10
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Lips",
"distance": 18,
"operation": "join",
"profiles": "all"
}
}
]
}
@@ -0,0 +1,12 @@
{
"sources": [
"tangency-labs/solidcraft#3850",
"tangency-labs/solidcraft#3741"
],
"what": "a O50 x 50 cylinder with a 25 mm square through-hole, then a cross cut by a O40 circle split into two halves by a line (both halves picked, merged into one round tool whose end face x=25 touches the cylinder's side along y=0): the result must be one shell, not a good shell plus a zero-area one",
"source": "analytic",
"method": "slice by y: width(y) = 2 sqrt(625-y^2) minus 25 where |y|<=12.5 (the square hole); the tool is the cylinder y^2+(z-25)^2<=400 along x, removing 2 sqrt(400-y^2) of the 50 mm height for |y|<20. V = Int_-25^25 width(y) (50 - 2 sqrt(400-y^2) [|y|<20]) dy = 32897.51 (python midpoint quadrature, 400000 pts per piece, split at the breakpoints). The PR reports 32893.6 (mesh integration, within 1.2e-4). One body, one shell",
"body_count": 1,
"shells": 1,
"volume_mm3": 32897.506
}
@@ -0,0 +1,127 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 25
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 50,
"operation": "new",
"body_name": "Cyl"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"offset": 50
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
-12.5,
-12.5
],
"p1": [
12.5,
12.5
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 50,
"direction": "negative",
"operation": "cut"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
25,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
25
],
"radius": 20
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
0,
50
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 58,
"direction": "negative",
"operation": "cut",
"profiles": [
0,
1
]
}
}
]
}
@@ -0,0 +1,12 @@
{
"sources": [
"tangency-labs/solidcraft#3850",
"tangency-labs/solidcraft#3741"
],
"what": "the O10 through-all hole across the wall of the body from the cross-cut case (the report's failing step: 'lumps: cannot mesh a complete shell boundary')",
"source": "analytic",
"method": "the hole is a O10 cylinder along y through (x=0,z=25), starting on the y=0 plane and running out through the +y wall (the body is symmetric in y, so either direction gives the same volume). It removes the material beyond the earlier cuts: Int over the disk x^2+w^2<=25 (w=z-25) of (sqrt(625-x^2) - max(sqrt(400-w^2), 12.5 for |x|<=12.5)) = 395.199 (python quadrature). V = 32897.506 - 395.199 = 32502.307. One shell",
"body_count": 1,
"shells": 1,
"volume_mm3": 32502.3067
}
@@ -0,0 +1,171 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 25
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 50,
"operation": "new",
"body_name": "Cyl"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"offset": 50
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
-12.5,
-12.5
],
"p1": [
12.5,
12.5
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 50,
"direction": "negative",
"operation": "cut"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
25,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
25
],
"radius": 20
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
0,
50
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 58,
"direction": "negative",
"operation": "cut",
"profiles": [
0,
1
]
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
25
],
"radius": 5
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"through_all": true,
"direction": "negative",
"operation": "cut"
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#451"
],
"what": "a 12x8x8 block (x 8..20) crossing the inner sphere r=18.5 of a hollow spherical-shell tool: the cut keeps the part inside r=18.5",
"source": "analytic",
"method": "the block's farthest corner is at r=sqrt(20^2+4^2+4^2)=20.78 < 40, so the tool removes exactly the block's part with r>18.5. Kept: V = integral over |y|,|z|<=4 of (min(20, sqrt(18.5^2-y^2-z^2)) - 8) dy dz = 653.343 (numeric quadrature in python, midpoint 1500 x Simpson 200 points; the integrand is smooth). The far face x=20 lies wholly outside the sphere (r>=20), so the kept part is one piece",
"body_count": 1,
"volume_mm3": 653.3429
}
@@ -0,0 +1,103 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
18.5,
0
],
[
40,
0
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
40,
0
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-40,
0
],
[
-18.5,
0
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
-18.5,
0
],
"sweep": -180
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.revolve",
"params": {
"axis": "x",
"body_name": "Tool"
}
},
{
"command": "solid.box",
"params": {
"corner": [
8,
-4,
-4
],
"length": 12,
"width": 8,
"height": 8,
"body_name": "Block"
}
},
{
"command": "solid.combine",
"params": {
"target": "Block",
"tools": [
"Tool"
],
"operation": "cut"
}
}
]
}
@@ -0,0 +1,15 @@
{
"sources": [
"tangency-labs/solidcraft#451"
],
"what": "a block wholly inside the void of a hollow spherical-shell tool (r 18.5 to 40): cutting leaves it untouched, the tool never reaches it",
"source": "analytic",
"method": "the tool is the material between r=18.5 and r=40; the 8 mm block centred on the origin lies within r<=6.93 < 18.5, so it shares no volume with the tool: V = 8^3 = 512, still one body, centroid at the origin",
"body_count": 1,
"volume_mm3": 512.0,
"center_of_mass": [
0,
0,
0
]
}
@@ -0,0 +1,103 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
18.5,
0
],
[
40,
0
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
40,
0
],
"sweep": 180
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-40,
0
],
[
-18.5,
0
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
-18.5,
0
],
"sweep": -180
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.revolve",
"params": {
"axis": "x",
"body_name": "Tool"
}
},
{
"command": "solid.box",
"params": {
"center": [
0,
0,
0
],
"length": 8,
"width": 8,
"height": 8,
"body_name": "Block"
}
},
{
"command": "solid.combine",
"params": {
"target": "Block",
"tools": [
"Tool"
],
"operation": "cut"
}
}
]
}
+2 -6
View File
@@ -49,7 +49,7 @@
},
{
"source": "tangency-labs/solidcraft#3518",
"why": "other area: shell (split of a user's body by a plane, 'Intersect: no result')"
"why": "needs a user's design that can't be rebuilt synthetically: a plane split (XZ) of one body of a 41-body design, no geometry given; plain plane splits are covered by case 13"
},
{
"source": "tangency-labs/solidcraft#3531",
@@ -81,7 +81,7 @@
},
{
"source": "tangency-labs/solidcraft#3602",
"why": "other area: shell (split of a user's body by a plane, 'Intersect: no result')"
"why": "needs a user's design that can't be rebuilt synthetically: a split by a sketch line (l8 of sketch 9) of one body, the body is not given; plain splits are covered by case 13"
},
{
"source": "tangency-labs/solidcraft#3607",
@@ -151,10 +151,6 @@
"source": "tangency-labs/solidcraft#3734",
"why": "not geometry: the failing step is a profile that is not closed in the user's sketch"
},
{
"source": "tangency-labs/solidcraft#3741",
"why": "needs a user's design that can't be rebuilt synthetically: the report gives only the failing command, no geometry ('lumps: ...' error on a cut or join in a user's design)"
},
{
"source": "tangency-labs/solidcraft#3753",
"why": "other area: fillets (a chamfer inside a circular pattern is too large for the edge, 'grow the part'; the pattern itself is not at fault)"
-8
View File
@@ -59,10 +59,6 @@
"source": "tangency-labs/solidcraft#1934",
"why": "hang on a user's STEP file (gehaeuse82.stp), performance; no synthetic repro"
},
{
"source": "tangency-labs/solidcraft#1984",
"why": "other area: booleans (interference of near-coaxial pins after a round trip)"
},
{
"source": "tangency-labs/solidcraft#2052",
"why": "DXF import, not STEP/IGES"
@@ -155,10 +151,6 @@
"source": "tangency-labs/solidcraft#3557",
"why": "export-only: loop order of merged cone and cylinder faces on STEP export"
},
{
"source": "tangency-labs/solidcraft#3573",
"why": "other area: shell (tapered filleted box shell, fillet edges 0.02 mm off the surface)"
},
{
"source": "tangency-labs/solidcraft#3595",
"why": "performance only (orbit stutter with ~100 bodies)"
@@ -1,8 +1,9 @@
{
"sources": [
"tangency-labs/solidcraft#3576"
"tangency-labs/solidcraft#3576",
"tangency-labs/solidcraft#3573"
],
"what": "a 120x80x40 box drafted 5 degrees with 4 mm rounds on the sloping corners, shelled 2 mm open at the top: the inner rounds' edges must lie on their faces",
"what": "a 120x80x40 box drafted 5 degrees with 4 mm rounds on the sloping corners, shelled 2 mm open at the top: the inner rounds' edges must lie on their faces (#3573 reports the same design)",
"source": "invariants",
"method": "no closed-form volume (tilted rounds). Invariants: the shell succeeds, one closed body, and the record's geometry check holds (every edge of the four inner rounds lies on its faces; the old offset left them up to 0.02 mm off, which other STEP readers reject)",
"body_count": 1
+1 -21
View File
@@ -7,18 +7,6 @@
"source": "tangency-labs/solidcraft#209",
"why": "no geometry given (a screenshot and 'the shell removed everything'); needs the user's design"
},
{
"source": "tangency-labs/solidcraft#451",
"why": "other area: booleans (cut with a hollow spherical-shell tool)"
},
{
"source": "tangency-labs/solidcraft#1107",
"why": "other area: booleans (combine of a hollow hub with 9 lofted blades; cavity ownership)"
},
{
"source": "tangency-labs/solidcraft#1140",
"why": "other area: booleans (cutting a hollow lofted tube in half; a vertex a hair inside an edge)"
},
{
"source": "tangency-labs/solidcraft#1379",
"why": "needs the user's design; the refusal ('rim would have no thickness': round r2 tangent to the open face, shell 2 mm) is also the intended clean refusal, so no wrong result is recorded"
@@ -33,7 +21,7 @@
},
{
"source": "tangency-labs/solidcraft#2259",
"why": "other area: booleans (second cut beside an earlier cut through a shelled arched block; mesh edge snapping, seed 61)"
"why": "needs the eight-command script of #2258 (a shelled arched block, two cylinder cuts); neither it nor the arch dimensions are in the PR, and the failure hangs on 2e-6 mm vertex gaps that a re-guessed profile would not reproduce"
},
{
"source": "tangency-labs/solidcraft#2421",
@@ -95,10 +83,6 @@
"source": "tangency-labs/solidcraft#2917",
"why": "needs the user's design (only the failing pick and error text are given); no synthetic geometry can be inferred"
},
{
"source": "tangency-labs/solidcraft#2928",
"why": "other area: booleans (join of cap-touching prisms with slightly offset cylinder walls)"
},
{
"source": "tangency-labs/solidcraft#2935",
"why": "empty report: no body, pick or error given"
@@ -207,10 +191,6 @@
"source": "tangency-labs/solidcraft#3828",
"why": "other area: 2D sketch offset of splines (sketch.offset), not a solid operation"
},
{
"source": "tangency-labs/solidcraft#3850",
"why": "other area: booleans (cut whose end face touches a round side leaves an empty shell)"
},
{
"source": "tangency-labs/solidcraft#3933",
"why": "needs the user's design; the refusal ('rim would have no thickness': round r2 tangent to the open face, shell 2 mm) is also the intended clean refusal"