kernel-cases: crashes and hangs from the #140-#4149 reports (9 cases, 45 skipped)

140 join with a pad hanging past the edge, 1219 bore fillet then grooves,
1985/2243 STEP export of two enclosures, 3540 cut with a coincident cylinder
face, 3685/1559 delete a fillet face, 4092 loft + ribs + pad union (two
recipes), 2992 disk and 36 twisted loft blades. Everything else is skipped
with a reason (private designs, other areas, UI, perf only).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bherbruck
2026-10-21 05:47:59 -04:00
committed by jyviko
parent 0eae22a5e6
commit 02712a003a
19 changed files with 4486 additions and 0 deletions
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#1219"
],
"what": "24 small grooves cut into a bore whose top edge has an unrelated 1 mm fillet: 73 s and 24 boolean retries instead of 0.2 s",
"source": "analytic",
"method": "block 140x140x25 minus bore r68.2 h25: V0 = 140*140*25 - pi*68.2^2*25 = 124692.46. Fillet R1 on the bore's top edge removes the corner region (square 1x1 minus quarter disc, centroid radii 68.7 and 69.2-4/(3pi)), Pappus: 2pi*(1*68.7 - pi/4*(69.2-4/(3pi))) = 92.26. Each groove is the 0.9x0.6 rectangle (x 67.8..68.7, y +-0.3) cut 4.5 deep (z 19..23.5); only the part outside the bore is material: 0.6*68.7 - 2*F(0.3), F(y)=(y*sqrt(r^2-y^2)+r^2*asin(y/r))/2, = 0.300132 mm2, times 4.5 times 24 = 32.41. The grooves end at z 23.5, below the fillet (z 24-25), so the removals are disjoint: V = 124692.46 - 92.26 - 32.41 = 124567.79",
"body_count": 1,
"volume_mm3": 124567.79
}
@@ -0,0 +1,118 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 140,
"width": 140,
"height": 25,
"corner": [
-70,
-70,
0
],
"name": "Block",
"body_name": "Frame"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "BoreSketch"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 68.2
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 25,
"operation": "cut",
"name": "Bore"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
0,
68.2,
25
]
],
"radius": 1,
"name": "BoreRound"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"offset": 19,
"name": "GrooveSketch"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
67.8,
-0.3
],
"p1": [
68.7,
0.3
]
}
},
{
"command": "sketch.pattern.circular",
"params": {
"entities": [
"l1",
"l2",
"l3",
"l4"
],
"center": "origin",
"count": 24
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 4.5,
"operation": "cut",
"targets": [
"Frame"
],
"name": "Grooves"
}
},
{
"command": "document.inspect",
"params": {
"measure": true,
"sketches": false
}
}
]
}
@@ -0,0 +1,23 @@
{
"sources": [
"tangency-labs/solidcraft#140"
],
"what": "a join whose tool face lies flat on the target but only half backed by it (the pad hangs 10 mm past the edge) must not add material",
"source": "analytic",
"method": "box 40x30x20 plus pad 20x30x10 resting on z=20 from x=30..50, overlapping the base only along a face (10x30 contact). V = 24000 + 6000 = 30000. Area = 5200 + 2200 - 2*300 = 6800 (the contact patch leaves both surfaces).",
"body_count": 1,
"volume_mm3": 30000.0,
"area_mm2": 6800.0,
"bbox": {
"min": [
0,
0,
0
],
"max": [
50,
30,
30
]
}
}
@@ -0,0 +1,42 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "Base"
}
},
{
"command": "solid.box",
"params": {
"corner": [
30,
0,
20
],
"length": 20,
"width": 30,
"height": 10,
"body_name": "Pad",
"operation": "new"
}
},
{
"command": "solid.combine",
"params": {
"target": "Base",
"tools": [
"Pad"
],
"operation": "join"
}
},
{
"command": "inspect.measure",
"params": {}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#1985",
"tangency-labs/solidcraft#2243"
],
"what": "a small enclosure (rounded box, inner cut, corner gusset with a screw hole, two standoffs, USB cut-out) whose STEP export never finished (the export meshes its own file back)",
"source": "invariants",
"method": "the script builds one connected part: the export must finish, and the part is one valid closed solid",
"body_count": 1
}
@@ -0,0 +1,846 @@
{
"commands": [
{
"command": "parameters.add",
"params": {
"expression": "74",
"name": "interior_width",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "73",
"name": "interior_depth",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "35",
"name": "interior_height",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "2",
"name": "wall_thickness",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "2.5",
"name": "bottom_thickness",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "3",
"name": "corner_radius",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "2",
"name": "lid_thickness",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "1",
"name": "lid_pad_height",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "0.3",
"name": "lid_pad_gap",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "8",
"name": "gusset_size",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "2.5",
"name": "gusset_screw_d",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "8",
"name": "gusset_screw_depth",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "10",
"name": "flange_extend",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "4.5",
"name": "flange_hole_d",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "5",
"name": "pin_base_d",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "3",
"name": "standoff_height",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "2",
"name": "pin_d",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "1.6",
"name": "pcb_thickness",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "2",
"name": "pin_above",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "interior_width + 2 * wall_thickness",
"name": "outer_width",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "interior_depth + 2 * wall_thickness",
"name": "outer_depth",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "interior_height + bottom_thickness",
"name": "outer_height",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "outer_width + 2 * flange_extend",
"name": "flange_total_width",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "(interior_width - 53.34) / 2",
"name": "board_offset_x",
"unit": "mm"
}
},
{
"command": "parameters.add",
"params": {
"expression": "1",
"name": "board_offset_y",
"unit": "mm"
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"id": 1,
"name": "Koerper_Skizze",
"plane": {
"name": "XY",
"type": "origin"
},
"sketch": {
"constraints": [
{
"id": "k1",
"l": 0,
"type": "horizontal"
},
{
"id": "k2",
"l": 2,
"type": "horizontal"
},
{
"id": "k3",
"l": 1,
"type": "vertical"
},
{
"id": "k4",
"l": 3,
"type": "vertical"
},
{
"id": "k5",
"p": 0,
"q": 1,
"type": "coincident"
},
{
"c": 0,
"id": "k6",
"p": 1,
"type": "point_on_curve"
},
{
"c": 3,
"id": "k7",
"p": 1,
"type": "point_on_curve"
},
{
"a": 0,
"b": 4,
"id": "k8",
"type": "tangent"
},
{
"a": 3,
"b": 4,
"id": "k9",
"type": "tangent"
},
{
"c": 4,
"id": "k10",
"param": "d1",
"type": "radius",
"value": 3.0
},
{
"a": 0,
"b": 5,
"id": "k11",
"type": "tangent"
},
{
"a": 1,
"b": 5,
"id": "k12",
"type": "tangent"
},
{
"a": 4,
"b": 5,
"id": "k13",
"type": "equal"
},
{
"a": 1,
"b": 6,
"id": "k14",
"type": "tangent"
},
{
"a": 2,
"b": 6,
"id": "k15",
"type": "tangent"
},
{
"a": 4,
"b": 6,
"id": "k16",
"type": "equal"
},
{
"a": 2,
"b": 7,
"id": "k17",
"type": "tangent"
},
{
"a": 3,
"b": 7,
"id": "k18",
"type": "tangent"
},
{
"a": 4,
"b": 7,
"id": "k19",
"type": "equal"
},
{
"id": "k20",
"l": 0,
"param": "d2",
"type": "length",
"value": 74.0
},
{
"id": "k21",
"l": 3,
"param": "d3",
"type": "length",
"value": 73.0
},
{
"a": 3,
"b": 8,
"id": "k22",
"type": "collinear"
},
{
"a": 0,
"b": 9,
"id": "k23",
"type": "collinear"
}
],
"counters": {
"a": 4,
"corner": 1,
"j": 2,
"k": 23,
"l": 6,
"p": 16
},
"curves": [
{
"a": 2,
"b": 5,
"construction": false,
"id": "l1",
"type": "line"
},
{
"a": 6,
"b": 8,
"construction": false,
"id": "l2",
"type": "line"
},
{
"a": 9,
"b": 11,
"construction": false,
"id": "l3",
"type": "line"
},
{
"a": 12,
"b": 3,
"construction": false,
"id": "l4",
"type": "line"
},
{
"a": 3,
"b": 2,
"c": 4,
"construction": false,
"id": "a1",
"type": "arc"
},
{
"a": 5,
"b": 6,
"c": 7,
"construction": false,
"id": "a2",
"type": "arc"
},
{
"a": 8,
"b": 9,
"c": 10,
"construction": false,
"id": "a3",
"type": "arc"
},
{
"a": 11,
"b": 12,
"c": 13,
"construction": false,
"id": "a4",
"type": "arc"
},
{
"a": 14,
"b": 15,
"construction": true,
"id": "l5",
"link": "j1",
"type": "line"
},
{
"a": 16,
"b": 17,
"construction": true,
"id": "l6",
"link": "j2",
"type": "line"
}
],
"links": [
{
"id": "j1",
"kind": "project",
"source": {
"name": "y",
"type": "sketch_axis"
}
},
{
"id": "j2",
"kind": "project",
"source": {
"name": "x",
"type": "sketch_axis"
}
}
],
"points": [
{
"fixed": true,
"id": "origin",
"pos": [
0.0,
0.0
]
},
{
"fixed": false,
"id": "corner1",
"pos": [
0.0,
0.0
]
},
{
"fixed": false,
"id": "p5",
"pos": [
3.0,
0.0
]
},
{
"fixed": false,
"id": "p6",
"pos": [
0.0,
3.0
]
},
{
"fixed": false,
"id": "a1.center",
"pos": [
3.0,
3.0
]
},
{
"fixed": false,
"id": "p7",
"pos": [
77.0,
0.0
]
},
{
"fixed": false,
"id": "p8",
"pos": [
80.0,
3.0
]
},
{
"fixed": false,
"id": "a2.center",
"pos": [
77.0,
3.0
]
},
{
"fixed": false,
"id": "p9",
"pos": [
80.0,
76.0
]
},
{
"fixed": false,
"id": "p10",
"pos": [
77.0,
79.0
]
},
{
"fixed": false,
"id": "a3.center",
"pos": [
77.0,
76.0
]
},
{
"fixed": false,
"id": "p11",
"pos": [
3.0,
79.0
]
},
{
"fixed": false,
"id": "p12",
"pos": [
0.0,
76.0
]
},
{
"fixed": false,
"id": "a4.center",
"pos": [
3.0,
76.0
]
},
{
"fixed": true,
"id": "p13",
"link": "j1",
"pos": [
0.0,
-100.0
]
},
{
"fixed": true,
"id": "p14",
"link": "j1",
"pos": [
0.0,
100.0
]
},
{
"fixed": true,
"id": "p15",
"link": "j2",
"pos": [
-100.0,
0.0
]
},
{
"fixed": true,
"id": "p16",
"link": "j2",
"pos": [
100.0,
0.0
]
}
]
},
"suppressed": false,
"type": "sketch"
},
"params": [
{
"expression": "corner_radius",
"name": "d1",
"unit": "mm"
},
{
"expression": "outer_width - 2*corner_radius",
"name": "d2",
"unit": "mm"
},
{
"expression": "outer_depth - 2*corner_radius",
"name": "d3",
"unit": "mm"
}
]
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"body_names": [
"Unterteil"
],
"extent": {
"convention": "total_distance",
"direction": "positive",
"distance": "outer_height"
},
"id": 2,
"name": "Koerper",
"operation": "new_body",
"param_names": [
"d4"
],
"profiles": {
"type": "all"
},
"sketch": 1,
"suppressed": false,
"type": "extrude"
}
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"corner": [
"wall_thickness",
"wall_thickness",
"bottom_thickness"
],
"height": "interior_height + 1",
"id": 5,
"length": "interior_width",
"name": "Innenraum",
"operation": "cut",
"param_names": [
"d10",
"d11",
"d12"
],
"participants": [
"Unterteil"
],
"suppressed": false,
"type": "box",
"width": "interior_depth"
}
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"corner": [
"wall_thickness + interior_width - gusset_size",
"wall_thickness + interior_depth - gusset_size",
"bottom_thickness"
],
"height": "interior_height",
"id": 9,
"length": "gusset_size",
"name": "Gusset_11",
"operation": "join",
"param_names": [
"d22",
"d23",
"d24"
],
"participants": [
"Unterteil"
],
"suppressed": false,
"type": "box",
"width": "gusset_size"
}
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"axis": [
0.0,
0.0,
1.0
],
"base": [
"wall_thickness + interior_width - gusset_size/2",
"wall_thickness + interior_depth - gusset_size/2",
"outer_height - gusset_screw_depth"
],
"height": "gusset_screw_depth + 1",
"id": 13,
"name": "Kernloch_11",
"operation": "cut",
"param_names": [
"d31",
"d32"
],
"participants": [
"Unterteil"
],
"radius": "(gusset_screw_d) / 2",
"suppressed": false,
"type": "cylinder"
}
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"axis": [
0.0,
0.0,
1.0
],
"base": [
"wall_thickness + board_offset_x + 17.78",
"wall_thickness + board_offset_y + 66.04",
"bottom_thickness"
],
"height": "standoff_height",
"id": 18,
"name": "PinSockel_2",
"operation": "join",
"param_names": [
"d41",
"d42"
],
"participants": [
"Unterteil"
],
"radius": "(pin_base_d) / 2",
"suppressed": false,
"type": "cylinder"
}
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"axis": [
0.0,
0.0,
1.0
],
"base": [
"wall_thickness + board_offset_x + 45.72",
"wall_thickness + board_offset_y + 66.04",
"bottom_thickness"
],
"height": "standoff_height",
"id": 20,
"name": "PinSockel_3",
"operation": "join",
"param_names": [
"d45",
"d46"
],
"participants": [
"Unterteil"
],
"radius": "(pin_base_d) / 2",
"suppressed": false,
"type": "cylinder"
}
}
},
{
"command": "timeline.add",
"params": {
"feature": {
"corner": [
"wall_thickness + board_offset_x + 9",
-1.0,
"bottom_thickness + 2.5"
],
"height": "6",
"id": 22,
"length": "10",
"name": "Ausschnitt_MicroUSB",
"operation": "cut",
"param_names": [
"d49",
"d50",
"d51"
],
"participants": [
"Unterteil"
],
"suppressed": false,
"type": "box",
"width": "wall_thickness + 2"
}
}
},
{
"command": "file.export",
"params": {
"path": "/tmp/kernel-case-1985.step",
"format": "step"
}
},
{
"command": "inspect.measure",
"params": {}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#2243",
"tangency-labs/solidcraft#1985"
],
"what": "a flanged enclosure with two standoffs and no screw hole whose STEP export also never finished",
"source": "invariants",
"method": "one connected part: the export finishes and the part is one valid closed solid",
"body_count": 1
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,9 @@
{
"sources": [
"tangency-labs/solidcraft#2992"
],
"what": "join of a disk and a circular pattern of 36 twisted lofted blades (embedded 2.54 mm in the disk): blocks for minutes",
"source": "invariants",
"method": "each blade root is embedded in the disk, so the 37 bodies join into one connected solid; the join must finish with one valid closed solid",
"body_count": 1
}
@@ -0,0 +1,471 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"name": "HP compresseur 1 — disque — profil axial",
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
}
}
},
{
"command": "sketch.line",
"params": {
"closed": true,
"points": [
[
11.41984,
88.9
],
[
11.41984,
101.6
],
[
59.95416,
101.6
],
[
59.95416,
88.9
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.revolve",
"params": {
"axis": "X",
"body_name": "HP compresseur 1 — disque",
"name": "HP compresseur 1 — disque",
"sketch": "HP compresseur 1 — disque — profil axial"
}
},
{
"command": "sketch.create",
"params": {
"name": "HP compresseur 1 — aube — section 1",
"plane": {
"origin": [
35.687,
99.06,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.spline.fit_point",
"params": {
"periodic": true,
"points": [
[
-28.87138948,
-20.9762923
],
[
-28.44419823,
-18.52855307
],
[
-26.53108815,
-15.69743162
],
[
-22.61356214,
-11.37514747
],
[
-15.644211,
-5.18190517
],
[
-7.05530744,
1.2107885
],
[
3.17203981,
7.77693192
],
[
13.81643744,
13.76905473
],
[
22.86860424,
18.30983423
],
[
28.82733926,
21.03692222
],
[
28.91543969,
20.91566238
],
[
23.79329117,
17.03711185
],
[
15.87870265,
10.93059018
],
[
6.36279192,
3.38523839
],
[
-3.08519731,
-4.25359932
],
[
-11.45413995,
-10.94904321
],
[
-18.87617404,
-16.51922089
],
[
-23.6739244,
-19.62998015
],
[
-26.61596063,
-21.04490625
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"name": "HP compresseur 1 — aube — section 2",
"plane": {
"origin": [
35.687,
245.745,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.spline.fit_point",
"params": {
"periodic": true,
"points": [
[
-31.55029053,
-13.98116431
],
[
-30.65021465,
-11.75337891
],
[
-28.26746614,
-9.46429679
],
[
-23.68724912,
-6.17159331
],
[
-15.84223605,
-1.7284767
],
[
-6.4254806,
2.5749393
],
[
4.57560867,
6.71024047
],
[
15.85467128,
10.21825916
],
[
25.33406458,
12.67675598
],
[
31.52093009,
14.04741992
],
[
31.57965098,
13.9149087
],
[
25.95038894,
11.28594101
],
[
17.22921681,
7.11642087
],
[
6.70231576,
1.91105314
],
[
-3.7793141,
-3.39647483
],
[
-13.04946071,
-8.03073246
],
[
-21.19619701,
-11.79297191
],
[
-26.36310309,
-13.76173626
],
[
-29.43165371,
-14.50321795
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"name": "HP compresseur 1 — aube — section 3",
"plane": {
"origin": [
35.687,
365.76,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.spline.fit_point",
"params": {
"periodic": true,
"points": [
[
-32.54932697,
-8.11545869
],
[
-31.31508433,
-6.13255159
],
[
-28.65078449,
-4.33874353
],
[
-23.71444686,
-1.95112378
],
[
-15.45946156,
0.99249503
],
[
-5.72271793,
3.53965294
],
[
5.50309282,
5.66103596
],
[
16.89025502,
7.13527368
],
[
26.37864214,
7.90526159
],
[
32.53228451,
8.18381227
],
[
32.56636943,
8.0471051
],
[
26.73639166,
6.47040661
],
[
17.68811901,
3.93521603
],
[
6.73755393,
0.7098829
],
[
-4.18673319,
-2.62084535
],
[
-13.83837676,
-5.50932095
],
[
-22.26849929,
-7.75050271
],
[
-27.54538444,
-8.77226094
],
[
-30.60776263,
-8.96946398
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.loft",
"params": {
"body_name": "HP compresseur 1 — aube",
"name": "HP compresseur 1 — aube — loft vrillé",
"operation": "new",
"sections": [
{
"sketch": "HP compresseur 1 — aube — section 1"
},
{
"sketch": "HP compresseur 1 — aube — section 2"
},
{
"sketch": "HP compresseur 1 — aube — section 3"
}
]
}
},
{
"command": "solid.pattern.circular",
"params": {
"axis": "X",
"bodies": [
"HP compresseur 1 — aube"
],
"count": 36
}
},
{
"command": "solid.combine",
"params": {
"operation": "join",
"target": "HP compresseur 1 — disque",
"tools": [
"HP compresseur 1 — aube",
"HP compresseur 1 — aube (2)",
"HP compresseur 1 — aube (3)",
"HP compresseur 1 — aube (4)",
"HP compresseur 1 — aube (5)",
"HP compresseur 1 — aube (6)",
"HP compresseur 1 — aube (7)",
"HP compresseur 1 — aube (8)",
"HP compresseur 1 — aube (9)",
"HP compresseur 1 — aube (10)",
"HP compresseur 1 — aube (11)",
"HP compresseur 1 — aube (12)",
"HP compresseur 1 — aube (13)",
"HP compresseur 1 — aube (14)",
"HP compresseur 1 — aube (15)",
"HP compresseur 1 — aube (16)",
"HP compresseur 1 — aube (17)",
"HP compresseur 1 — aube (18)",
"HP compresseur 1 — aube (19)",
"HP compresseur 1 — aube (20)",
"HP compresseur 1 — aube (21)",
"HP compresseur 1 — aube (22)",
"HP compresseur 1 — aube (23)",
"HP compresseur 1 — aube (24)",
"HP compresseur 1 — aube (25)",
"HP compresseur 1 — aube (26)",
"HP compresseur 1 — aube (27)",
"HP compresseur 1 — aube (28)",
"HP compresseur 1 — aube (29)",
"HP compresseur 1 — aube (30)",
"HP compresseur 1 — aube (31)",
"HP compresseur 1 — aube (32)",
"HP compresseur 1 — aube (33)",
"HP compresseur 1 — aube (34)",
"HP compresseur 1 — aube (35)",
"HP compresseur 1 — aube (36)"
]
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#3540"
],
"what": "a groove cut whose r33 arcs lie exactly on the r33 cylinder of an earlier slot cut and overlap it in Z: minutes of CPU",
"source": "analytic",
"method": "tube r28..33, z -5..10: V = pi*(33^2-28^2)*15. Slots (3 sectors, 26 deg each, r29.5..33, z -3..8): each removes theta/2*(R^2-r^2)*h. Grooves (3 sectors, 69 deg, r30..33, z 4.7..8.3). Each groove overlaps its slot in 25 deg x r30..33 x z 4.7..8 (3.3), counted once. V = 14372.79 - 1637.88 - 1229.09 + 408.21 = 11914.03",
"body_count": 1,
"volume_mm3": 11914.03
}
@@ -0,0 +1,471 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"base": [
0,
0,
-5
],
"radius": 33,
"height": 15,
"body_name": "Oberteil"
}
},
{
"command": "solid.cylinder",
"params": {
"base": [
0,
0,
-6
],
"radius": 28,
"height": 17,
"operation": "cut",
"targets": [
"Oberteil"
]
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"offset": -3,
"name": "Slots"
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
7.423384793347543,
32.154212137912765
],
"end": [
-7.423384793347546,
32.154212137912765
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
6.636056103144015,
28.74391691116444
],
"end": [
-6.636056103144019,
28.74391691116444
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
7.423384793347543,
32.154212137912765
],
[
6.636056103144015,
28.74391691116444
]
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-7.423384793347546,
32.154212137912765
],
[
-6.636056103144019,
28.74391691116444
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
-31.55805694678017,
-9.648266255850313
],
"end": [
-24.13467215343263,
-22.505945882062445
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
-28.210990300909547,
-8.624965289320734
],
"end": [
-21.574934197765533,
-20.118951621843703
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-31.55805694678017,
-9.648266255850313
],
[
-28.210990300909547,
-8.624965289320734
]
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-24.13467215343263,
-22.505945882062445
],
[
-21.574934197765533,
-20.118951621843703
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
24.134672153432632,
-22.50594588206244
],
"end": [
31.558056946780166,
-9.648266255850325
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
21.574934197765536,
-20.1189516218437
],
"end": [
28.210990300909543,
-8.624965289320746
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
24.134672153432632,
-22.50594588206244
],
[
21.574934197765536,
-20.1189516218437
]
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
31.558056946780166,
-9.648266255850325
],
[
28.210990300909543,
-8.624965289320746
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Slots",
"profiles": "all",
"distance": 11,
"operation": "cut",
"targets": [
"Oberteil"
],
"name": "SlotCut"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"offset": 4.7,
"name": "Grooves"
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
6.861085796986062,
32.27887082421558
],
"end": [
-27.67612874219899,
17.9730881554959
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
6.237350724532783,
29.344428022014167
],
"end": [
-25.160117038362717,
16.33917105045082
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
6.861085796986062,
32.27887082421558
],
[
6.237350724532783,
29.344428022014167
]
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-27.67612874219899,
17.9730881554959
],
[
-25.160117038362717,
16.33917105045082
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
-31.38486503774007,
-10.19756081437326
],
"end": [
-1.7270865560171622,
-32.95477464690094
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
-28.53169548885461,
-9.270509831248418
],
"end": [
-1.5700786872883292,
-29.958886042637214
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-31.38486503774007,
-10.19756081437326
],
[
-28.53169548885461,
-9.270509831248418
]
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-1.7270865560171622,
-32.95477464690094
],
[
-1.5700786872883292,
-29.958886042637214
]
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
24.52377924075401,
-22.08131000984232
],
"end": [
29.403215298216143,
14.981686491405037
]
}
},
{
"command": "sketch.arc.center_point",
"params": {
"center": [
0,
0
],
"start": [
22.294344764321828,
-20.073918190765745
],
"end": [
26.73019572565104,
13.619714992186397
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
24.52377924075401,
-22.08131000984232
],
[
22.294344764321828,
-20.073918190765745
]
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
29.403215298216143,
14.981686491405037
],
[
26.73019572565104,
13.619714992186397
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Grooves",
"profiles": "all",
"distance": 3.6,
"operation": "cut",
"targets": [
"Oberteil"
],
"name": "GrooveCut"
}
},
{
"command": "inspect.measure",
"params": {}
}
]
}
@@ -0,0 +1,13 @@
{
"sources": [
"tangency-labs/solidcraft#1559",
"tangency-labs/solidcraft#3685"
],
"what": "Delete Face on a fillet face next to a face whose edge a boolean/fillet rebuilt as an intersection curve: must never panic (truck: not implemented: intersection curve cannot connect by homotopy)",
"source": "analytic",
"method": "box 40x30x20, one top edge filleted R5 (a point on the round is (35+5/sqrt2, 15, 15+5/sqrt2)), then the round deleted and healed from the neighbouring planes: the original box comes back, V = 40*30*20 = 24000, area 5200, 6 faces. (If the kernel cannot rebuild the face the only other acceptable answer is a clean refusal, never a panic; the grader expects the healed box because healing is well defined here.)",
"body_count": 1,
"volume_mm3": 24000.0,
"area_mm2": 5200.0,
"faces": 6
}
@@ -0,0 +1,42 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "B"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
40,
15,
20
]
],
"radius": 5
}
},
{
"command": "face.delete",
"params": {
"faces": [
[
37.5355339,
15,
17.5355339
]
]
}
},
{
"command": "inspect.measure",
"params": {}
}
]
}
@@ -0,0 +1,9 @@
{
"sources": [
"tangency-labs/solidcraft#4092"
],
"what": "join extrude of a rounded pad over a lofted body with ring and ribs: repeated truck intersection_curve panics, then 'boolean Union: no result'",
"source": "invariants",
"method": "the pad (X -8..8, Y 18..25, Z 36..59) overlaps the body, ribs and ring, so the join is one connected solid; the join must succeed with one valid closed solid and no panic",
"body_count": 1
}
@@ -0,0 +1,588 @@
{
"commands": [
{
"command": "file.new",
"params": {
"name": "Native_loft_pad_union_original_condition"
}
},
{
"command": "document.units",
"params": {
"units": "mm"
}
},
{
"command": "parameters.add",
"params": {
"name": "chamberTop",
"expression": "64 mm"
}
},
{
"command": "parameters.add",
"params": {
"name": "flangeThickness",
"expression": "4 mm"
}
},
{
"command": "parameters.add",
"params": {
"name": "lidThickness",
"expression": "3 mm"
}
},
{
"command": "parameters.add",
"params": {
"name": "ventDiameter",
"expression": "3 mm"
}
},
{
"command": "parameters.add",
"params": {
"name": "bottleThreadPitch",
"expression": "3.18 mm"
}
},
{
"command": "parameters.add",
"params": {
"name": "threadRadialClearance",
"expression": "0.25 mm"
}
},
{
"command": "solid.cylinder",
"params": {
"diameter": "36 mm",
"height": "21 mm",
"base": [
0,
0,
0
],
"operation": "new",
"name": "01_Neck_outer_D36_H21",
"body_name": "NATIVE_CAP_BODY"
}
},
{
"command": "sketch.create",
"params": {
"name": "02_Outer_transition_round",
"plane": "XY",
"offset": "21 mm"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"diameter": 36
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"name": "03_Outer_transition_ellipse",
"plane": "XY",
"offset": "38 mm"
}
},
{
"command": "sketch.ellipse",
"params": {
"center": [
0,
0
],
"major": [
30.0,
0
],
"minor_radius": 20.0
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.loft",
"params": {
"sections": [
{
"sketch": "02_Outer_transition_round"
},
{
"sketch": "03_Outer_transition_ellipse"
}
],
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "04_Outer_round_to_oval_transition"
}
},
{
"command": "sketch.create",
"params": {
"name": "05_Upper_chamber_60x40",
"plane": "XY",
"offset": "38 mm"
}
},
{
"command": "sketch.ellipse",
"params": {
"center": [
0,
0
],
"major": [
30.0,
0
],
"minor_radius": 20.0
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "05_Upper_chamber_60x40",
"distance": "chamberTop - 38 mm",
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "06_Upper_chamber_blank"
}
},
{
"command": "sketch.create",
"params": {
"name": "07_Flange_70x50_R6",
"plane": "XY",
"offset": "60 mm"
}
},
{
"command": "sketch.rectangle.rounded",
"params": {
"p0": [
-35,
-25
],
"p1": [
35,
25
],
"radius": 6
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "07_Flange_70x50_R6",
"distance": "flangeThickness",
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "08_External_bolt_flange"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_outer_D24",
"plane": {
"origin": [
-5,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
30,
47
],
"diameter": 24
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_outer_D24",
"distance": 10,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Handle_outer_D24_thickness10"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_lower_rib_X-8",
"plane": {
"origin": [
-8,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
18.0,
37.5
],
"end": [
19.5,
36.0
],
"through": [
18.439339828220177,
36.43933982822018
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
19.5,
36.0
],
[
24.4516191451179,
36.0
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
24.4516191451179,
36.0
],
"end": [
25.20742568340403,
38.79566835134765
],
"through": [
25.89963546529897,
37.10853003117829
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
25.20742568340403,
38.79566835134765
],
[
20.25580653828613,
41.68411285266642
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
20.25580653828613,
41.68411285266642
],
"end": [
18.0,
40.38844450131877
],
"through": [
18.75290891031588,
41.68915773017231
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
18.0,
40.38844450131877
],
[
18.0,
37.5
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_lower_rib_X-8",
"distance": 4,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Handle_lower_rib_X-8_R1p5_thickness4"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_lower_rib_X4",
"plane": {
"origin": [
4,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
18.0,
37.5
],
"end": [
19.5,
36.0
],
"through": [
18.439339828220177,
36.43933982822018
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
19.5,
36.0
],
[
24.4516191451179,
36.0
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
24.4516191451179,
36.0
],
"end": [
25.20742568340403,
38.79566835134765
],
"through": [
25.89963546529897,
37.10853003117829
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
25.20742568340403,
38.79566835134765
],
[
20.25580653828613,
41.68411285266642
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
20.25580653828613,
41.68411285266642
],
"end": [
18.0,
40.38844450131877
],
"through": [
18.75290891031588,
41.68915773017231
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
18.0,
40.38844450131877
],
[
18.0,
37.5
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_lower_rib_X4",
"distance": 4,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Handle_lower_rib_X4_R1p5_thickness4"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_root_pad_R3",
"plane": {
"origin": [
0,
18,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.rectangle.rounded",
"params": {
"p0": [
-8,
36
],
"p1": [
8,
59
],
"radius": 3
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_root_pad_R3",
"distance": 7,
"direction": "negative",
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Native_root_pad_R3"
}
}
]
}
@@ -0,0 +1,9 @@
{
"sources": [
"tangency-labs/solidcraft#4092"
],
"what": "the same without the top flange: the join fails with 'boolean Union: no result'",
"source": "invariants",
"method": "the pad (X -8..8, Y 18..25, Z 36..59) overlaps the body, ribs and ring, so the join is one connected solid; the join must succeed with one valid closed solid and no panic",
"body_count": 1
}
@@ -0,0 +1,508 @@
{
"commands": [
{
"command": "file.new",
"params": {
"name": "Native_loft_pad_union_repro"
}
},
{
"command": "document.units",
"params": {
"units": "mm"
}
},
{
"command": "solid.cylinder",
"params": {
"diameter": "36 mm",
"height": "21 mm",
"base": [
0,
0,
0
],
"operation": "new",
"name": "01_Neck_outer_D36_H21",
"body_name": "NATIVE_CAP_BODY"
}
},
{
"command": "sketch.create",
"params": {
"name": "02_Outer_transition_round",
"plane": "XY",
"offset": "21 mm"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"diameter": 36
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"name": "03_Outer_transition_ellipse",
"plane": "XY",
"offset": "38 mm"
}
},
{
"command": "sketch.ellipse",
"params": {
"center": [
0,
0
],
"major": [
30.0,
0
],
"minor_radius": 20.0
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.loft",
"params": {
"sections": [
{
"sketch": "02_Outer_transition_round"
},
{
"sketch": "03_Outer_transition_ellipse"
}
],
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "04_Outer_round_to_oval_transition"
}
},
{
"command": "sketch.create",
"params": {
"name": "05_Upper_chamber_60x40",
"plane": "XY",
"offset": "38 mm"
}
},
{
"command": "sketch.ellipse",
"params": {
"center": [
0,
0
],
"major": [
30.0,
0
],
"minor_radius": 20.0
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "05_Upper_chamber_60x40",
"distance": 26,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "06_Upper_chamber_blank"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_outer_D24",
"plane": {
"origin": [
-5,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
30,
47
],
"diameter": 24
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_outer_D24",
"distance": 10,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Handle_outer_D24_thickness10"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_lower_rib_X-8",
"plane": {
"origin": [
-8,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
18.0,
37.5
],
"end": [
19.5,
36.0
],
"through": [
18.439339828220177,
36.43933982822018
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
19.5,
36.0
],
[
24.4516191451179,
36.0
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
24.4516191451179,
36.0
],
"end": [
25.20742568340403,
38.79566835134765
],
"through": [
25.89963546529897,
37.10853003117829
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
25.20742568340403,
38.79566835134765
],
[
20.25580653828613,
41.68411285266642
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
20.25580653828613,
41.68411285266642
],
"end": [
18.0,
40.38844450131877
],
"through": [
18.75290891031588,
41.68915773017231
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
18.0,
40.38844450131877
],
[
18.0,
37.5
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_lower_rib_X-8",
"distance": 4,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Handle_lower_rib_X-8_R1p5_thickness4"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_lower_rib_X4",
"plane": {
"origin": [
4,
0,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
18.0,
37.5
],
"end": [
19.5,
36.0
],
"through": [
18.439339828220177,
36.43933982822018
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
19.5,
36.0
],
[
24.4516191451179,
36.0
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
24.4516191451179,
36.0
],
"end": [
25.20742568340403,
38.79566835134765
],
"through": [
25.89963546529897,
37.10853003117829
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
25.20742568340403,
38.79566835134765
],
[
20.25580653828613,
41.68411285266642
]
]
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
20.25580653828613,
41.68411285266642
],
"end": [
18.0,
40.38844450131877
],
"through": [
18.75290891031588,
41.68915773017231
]
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
18.0,
40.38844450131877
],
[
18.0,
37.5
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_lower_rib_X4",
"distance": 4,
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Handle_lower_rib_X4_R1p5_thickness4"
}
},
{
"command": "sketch.create",
"params": {
"name": "Handle_root_pad_R3",
"plane": {
"origin": [
0,
18,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
}
}
},
{
"command": "sketch.rectangle.rounded",
"params": {
"p0": [
-8,
36
],
"p1": [
8,
59
],
"radius": 3
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Handle_root_pad_R3",
"distance": 7,
"direction": "negative",
"operation": "join",
"targets": [
"NATIVE_CAP_BODY"
],
"name": "Native_root_pad_R3"
}
}
]
}
+182
View File
@@ -0,0 +1,182 @@
[
{
"source": "tangency-labs/solidcraft#661",
"why": "truck intersection_curve unwrap in solid.hole at a position on a design only in the reporter's crash folder; no recipe to rebuild"
},
{
"source": "tangency-labs/solidcraft#1023",
"why": "hole hang shown only in a video and a private design file; no recipe to rebuild"
},
{
"source": "tangency-labs/solidcraft#1024",
"why": "not geometry: Windows heap corruption in the thread unit-test process (dependency/memory bug), and threads are another area (other area: threads)"
},
{
"source": "tangency-labs/solidcraft#1104",
"why": "truck intersection_curve unwrap in solid.extrude: needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically"
},
{
"source": "tangency-labs/solidcraft#1123",
"why": "unclean exit in solid.extrude after a slot sketch dragged many times: needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically"
},
{
"source": "tangency-labs/solidcraft#1147",
"why": "perf only, no wrong result: 1,300-body design built over MCP is slow in the engine and the UI (fixed by #1148/#1152/#1154/#1158)"
},
{
"source": "tangency-labs/solidcraft#1337",
"why": "extrude 'to object' on an imported STEP bracket: needs the user's STEP file"
},
{
"source": "tangency-labs/solidcraft#1351",
"why": "unclean exit in solid.combine after a mirror of an extruded sketch: needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically"
},
{
"source": "tangency-labs/solidcraft#1374",
"why": "other area: tessellation (STEP import meshing runs out of memory on a private 480-solid file; the mesher's curve division)"
},
{
"source": "tangency-labs/solidcraft#1400",
"why": "other area: tessellation (a far-out boundary parameter spikes a face; meshing takes minutes)"
},
{
"source": "tangency-labs/solidcraft#1411",
"why": "other area: threads (solid.coil crash, no geometry beyond the command; coil is a helical sweep)"
},
{
"source": "tangency-labs/solidcraft#1597",
"why": "not geometry: kernel roadmap and contribution guide"
},
{
"source": "tangency-labs/solidcraft#1856",
"why": "20-tooth lofted helical pinion join is slow: the scripts are only in a downloadable zip (the body gives the join command, not the sketches and lofts); duplicate in spirit of #2992 (case 2992)"
},
{
"source": "tangency-labs/solidcraft#1957",
"why": "unclean exit in file.export of a bird-house design: needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically; the STEP-export hang family is case 1985"
},
{
"source": "tangency-labs/solidcraft#2037",
"why": "multi-face extrusion preview/OK freeze and failing cut on an imported STEP model: needs the user's STEP file, and a UI/preview responsiveness report"
},
{
"source": "tangency-labs/solidcraft#2038",
"why": "other area: threads (second modelled thread on one body; join of two faceted threaded bodies)"
},
{
"source": "tangency-labs/solidcraft#2451",
"why": "other area: threads (solid.thread unclean exit)"
},
{
"source": "tangency-labs/solidcraft#2467",
"why": "not geometry: renaming a body recomputes the features after it on the window thread (perf/UI only, no wrong result)"
},
{
"source": "tangency-labs/solidcraft#2470",
"why": "other area: threads (solid.thread stack overflow on a modelled thread)"
},
{
"source": "tangency-labs/solidcraft#2508",
"why": "other area: tessellation (bound on runaway closing polylines in the mesher); the STEP export hang itself is case 1985"
},
{
"source": "tangency-labs/solidcraft#2552",
"why": "other area: threads (solid.coil crash, helical sweep cut; no backtrace)"
},
{
"source": "tangency-labs/solidcraft#2570",
"why": "loft freeze from a design with an arc profile and a non-convex polyline profile that the report does not give; the web build only"
},
{
"source": "tangency-labs/solidcraft#2796",
"why": "other area: threads (solid.thread unclean exit)"
},
{
"source": "tangency-labs/solidcraft#2891",
"why": "other area: sweeps (twisted sweep cut through a tube freezes)"
},
{
"source": "tangency-labs/solidcraft#2974",
"why": "perf only, no wrong result: a counterbored hole pattern is ~8x slower with a joined cylinder elsewhere; results already match hand calculation"
},
{
"source": "tangency-labs/solidcraft#3066",
"why": "unclean exit in solid.extrude with a parametric sketch (nozL): needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically"
},
{
"source": "tangency-labs/solidcraft#3085",
"why": "fillet/chamfer crash after combine with an imported STEP body: needs the user's STEP file (and edge selection is UI)"
},
{
"source": "tangency-labs/solidcraft#3088",
"why": "other area: threads (solid.coil join crash, no backtrace)"
},
{
"source": "tangency-labs/solidcraft#3207",
"why": "perf only: faster slow unit tests (clearance, inside_index, fill reference), same answers"
},
{
"source": "tangency-labs/solidcraft#3368",
"why": "other area: threads (finely faceted booleans, repro is a modelled-thread join; thread cases cover it)"
},
{
"source": "tangency-labs/solidcraft#3386",
"why": "other area: threads (solid.thread unclean exit)"
},
{
"source": "tangency-labs/solidcraft#3410",
"why": "other area: threads (faceted-boolean stack overflow on a modelled thread, #2470)"
},
{
"source": "tangency-labs/solidcraft#3430",
"why": "not a kernel operation: unclean exit at startup in the graphics surface configure on macOS"
},
{
"source": "tangency-labs/solidcraft#3473",
"why": "unclean exit in a 16-fold circular pattern of a cylinder cut driven by parameters: the recipe is only in an attached replay.json, and the issue gives no dimensions"
},
{
"source": "tangency-labs/solidcraft#3695",
"why": "other area: sweeps (twisted sweep cut through a tube, bounded intersection work)"
},
{
"source": "tangency-labs/solidcraft#3731",
"why": "perf only, no wrong result: joins onto drafted walls are 20-100x slower than onto vertical ones (results are correct apart from a 4e-4 mm retry displacement); the 67-flute design takes tens of minutes and a one-line recipe can't pin it"
},
{
"source": "tangency-labs/solidcraft#3737",
"why": "not geometry: UI highlight work on the main thread while orbiting an imported model (edge highlight)"
},
{
"source": "tangency-labs/solidcraft#3745",
"why": "not geometry: hover highlight of a large thread freezes the UI (fixed by #3766/#3818)"
},
{
"source": "tangency-labs/solidcraft#3818",
"why": "not geometry: hover highlight of a helical edge (mesh tangent chain), UI freeze fixed, same results"
},
{
"source": "tangency-labs/solidcraft#3892",
"why": "not geometry: browser tree frame time on a large nested STEP assembly (UI)"
},
{
"source": "tangency-labs/solidcraft#3897",
"why": "other area: sweeps (ring profile swept along a short arc with Join freezes)"
},
{
"source": "tangency-labs/solidcraft#3962",
"why": "unclean exit in solid.combine cut on macOS: needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically"
},
{
"source": "tangency-labs/solidcraft#4031",
"why": "spade CDT assertion in solid.extrude of a face with Join: needs the reporter's private design or replay (only a crash report), so it can't be rebuilt synthetically (no geometry given)"
},
{
"source": "tangency-labs/solidcraft#4102",
"why": "booleans on a FreeCAD-exported STEP are ~15x slower: needs the 104 KB FreeCAD STEP file (written by another CAD, can't be rebuilt by hand), results are correct (perf only)"
},
{
"source": "tangency-labs/solidcraft#4149",
"why": "other area: threads (solid.thread stack overflow on an internal M10x1.5 modelled thread)"
}
]