kernel-cases: #5198–#5463 triaged: 14 cases, 100 skipped

Cases from the issues filed after #4160, each a synthetic recipe with its own answer
(analysis or invariants); every other issue in the range is listed with why it was skipped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-25 08:39:05 -04:00
parent e47c338078
commit 4856fd3df1
37 changed files with 1976 additions and 1 deletions
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#5291"
],
"what": "a pin (r2.1 x 11) joined on the side face of a triangular prism that has a blind bore running in from its slanted face: the join ground for ~90 s, then 'boolean Union: no result'",
"source": "analytic",
"method": "prism: the right triangle (0,0),(-15,0),(-15,20) (x, z) x 13 (y 0..-13): 1950. The bore (y -6.5, z 10, r 2.5) runs from x = -10 out through the slanted face x = -0.75 z: removed Int over its disc of (10 - 0.75 z) = pi 6.25 (10 - 7.5). The pin stands on the face y = 0 (its base wholly on the triangle, 2.96 from the slanted edge) out to y = 11: + pi 2.1^2 11",
"body_count": 1,
"volume_mm3": 2053.3113
}
@@ -0,0 +1,93 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
},
"name": "Wedge"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
-15,
0
],
[
-15,
20
]
],
"closed": true
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Wedge",
"distance": 13,
"body_name": "Wedge"
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 2.5,
"height": 11,
"base": [
-10,
-6.5,
10
],
"axis": "X",
"operation": "cut",
"targets": [
"Wedge"
]
}
},
{
"command": "solid.cylinder",
"params": {
"radius": 2.1,
"height": 11,
"base": [
-11.8,
0,
10.8
],
"axis": "Y",
"operation": "join",
"targets": [
"Wedge"
]
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#5295"
],
"what": "a bar intersected in one extrude with two mirrored outlines (slanted on their inner sides): truck deleted the body with only a warning; each outline alone worked",
"source": "analytic",
"method": "each outline is a trapezoid (20 and 14 wide, 20 high: 340) through the bar's 20 mm: two bodies of 340*20, V = 13600",
"body_count": 2,
"volume_mm3": 13600.0
}
@@ -0,0 +1,117 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"corner": [
-50,
-10,
0
],
"length": 100,
"width": 20,
"height": 20,
"body_name": "Bar"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
},
"name": "Ends",
"project_edges": false
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-50,
0
],
[
-30,
0
],
[
-36,
20
],
[
-50,
20
]
],
"closed": true
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
50,
0
],
[
30,
0
],
[
36,
20
],
[
50,
20
]
],
"closed": true
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Ends",
"profiles": [
{
"point": [
-45,
10
]
},
{
"point": [
45,
10
]
}
],
"distance": 20,
"direction": "symmetric",
"operation": "intersect"
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#5322"
],
"what": "an r2.5 hole cut through a 40x30x10 block's 30 mm side by a 5000 mm extrude: truck panicked ('tolerance must be no less than 1e-6') at 5000 mm (4999 worked)",
"source": "analytic",
"method": "the sketch plane's normal is -y, so the negative extrude runs +y through the block whatever its length: V = 40*30*10 - pi*2.5^2*30 = 11410.951",
"body_count": 1,
"volume_mm3": 11410.9514
}
@@ -0,0 +1,96 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "B"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
0,
0
],
"p1": [
40,
30
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 10,
"operation": "new"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
0,
1
]
},
"name": "H"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
20,
5
],
"radius": 2.5
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 5000,
"direction": "negative",
"operation": "cut"
}
}
]
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#5353"
],
"what": "a second plain O9 through hole in a 14 mm base plate, nowhere near a blind drilled O4.2 hole in the tower above: truck refused it, pointing at the blind hole's 118 deg tip ('could not be computed reliably')",
"source": "analytic",
"method": "base 90x60x14 + tower 50x24x40 = 75600 + 48000; the blind hole (axis y from the tower's -y face, 15.2 to the shoulder + the point cone r/tan59 high): pi 2.1^2 15.2 + pi 2.1^2 (2.1/tan59)/3; two simple O9 holes 14 deep through the plate (the default type is simple, flat-bottomed): 2 pi 4.5^2 14",
"body_count": 1,
"volume_mm3": 121602.3025
}
@@ -0,0 +1,90 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 90,
"width": 60,
"height": 14,
"corner": [
-45.0,
-30.0,
0.0
],
"name": "Base"
}
},
{
"command": "solid.box",
"params": {
"length": 50,
"width": 24,
"height": 40,
"corner": [
-25.0,
-12.0,
14.0
],
"operation": "join",
"name": "Tower"
}
},
{
"command": "solid.hole",
"params": {
"position": [
-16,
-12,
34
],
"direction": [
0,
1,
0
],
"diameter": 4.2,
"depth": 15.2,
"type": "drilled",
"tip_angle": "118 deg",
"thread": "M5",
"name": "Hole_M5_Blind_1"
}
},
{
"command": "solid.hole",
"params": {
"position": [
-32,
-20,
14
],
"direction": [
0,
0,
-1
],
"diameter": 9.0,
"depth": 14,
"name": "Hole_M8_1"
}
},
{
"command": "solid.hole",
"params": {
"position": [
-32,
20,
14
],
"direction": [
0,
0,
-1
],
"diameter": 9.0,
"depth": 14,
"name": "Hole_M8_2"
}
}
]
}
@@ -0,0 +1,12 @@
{
"sources": [
"tangency-labs/solidcraft#5413",
"tangency-labs/solidcraft#4877"
],
"what": "a rib joined flush onto the floor of a channel (a box rounded r2.4 on all edges, its 45 wide cavity cut through its top and both ends), its ends buried in the side walls: truck's tool nudge kept both faces of the flush contact, a 0.077 um slit with 450 mm2 too much area",
"source": "analytic",
"method": "rounded box 55x50x35, r 2.4 (rolling-ball corners): V and A by the usual sums of flat, cylindrical and spherical parts. The cavity x -22.5..22.5, z 5..37, through y, removes 45*(50*30 - 2(1-pi/4)r^2) (the two top x-edge rounds lie in it) and swaps the rounded box's surface inside it (the top, the two top x-edge rounds, the two end faces' flats) for its own floor and side walls (50x30 less the two round corners each). The rib adds its part in the cavity (45x5x10 = 2250); its ends inside the walls add nothing. Area: + rib top 225 + front 450 + end face 450 (its end in the open channel end; the parts in the walls are coplanar with the end face) - the floor under it 225 - the side walls it covers 100 = +800",
"body_count": 1,
"volume_mm3": 30437.5435,
"area_mm2": 13454.3892
}
@@ -0,0 +1,135 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"corner": [
-27.5,
0,
0
],
"length": 55,
"width": 50,
"height": 35,
"body_name": "Channel"
}
},
{
"command": "solid.fillet",
"params": {
"body": "Channel",
"radius": 2.4,
"edges": [
[
0,
0,
0
],
[
0,
50,
0
],
[
0,
0,
35
],
[
0,
50,
35
],
[
-27.5,
25,
0
],
[
27.5,
25,
0
],
[
-27.5,
25,
35
],
[
27.5,
25,
35
],
[
-27.5,
0,
17.5
],
[
27.5,
0,
17.5
],
[
-27.5,
50,
17.5
],
[
27.5,
50,
17.5
]
]
}
},
{
"command": "solid.box",
"params": {
"corner": [
-22.5,
0,
5
],
"length": 45,
"width": 52,
"height": 32,
"body_name": "Cavity"
}
},
{
"command": "solid.combine",
"params": {
"target": "Channel",
"tools": [
"Cavity"
],
"operation": "cut"
}
},
{
"command": "solid.box",
"params": {
"corner": [
-25,
45,
5
],
"length": 50,
"width": 5,
"height": 10,
"body_name": "Rib"
}
},
{
"command": "solid.combine",
"params": {
"target": "Channel",
"tools": [
"Rib"
],
"operation": "join"
}
}
]
}
@@ -0,0 +1,11 @@
{
"sources": [
"tangency-labs/solidcraft#5462"
],
"what": "an inner wall of a rectangular opening through a block face-extruded 1 mm back into the material as a cut (what Press Pull runs on a flat face): 'boolean Cut: no result'",
"source": "analytic",
"method": "block 40x30x10 less the opening 30x20 = 6000; the wall at x = 5 moves to x = 4, removing 1 x 20 x 10: V = 5800, still 10 faces",
"body_count": 1,
"faces": 10,
"volume_mm3": 5800.0
}
@@ -0,0 +1,49 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"corner": [
0,
0,
0
],
"length": 40,
"width": 30,
"height": 10,
"body_name": "Body1"
}
},
{
"command": "solid.box",
"params": {
"corner": [
5,
5,
-1
],
"length": 30,
"width": 20,
"height": 12,
"operation": "cut",
"targets": [
"Body1"
]
}
},
{
"command": "solid.extrude",
"params": {
"face": [
5,
15,
5
],
"face_body": "Body1",
"direction": "positive",
"distance": "-1",
"operation": "cut"
}
}
]
}
@@ -578,5 +578,209 @@
{
"source": "tangency-labs/solidcraft#5185",
"why": "no geometry: joint solver work while dragging (performance)"
},
{
"source": "tangency-labs/solidcraft#5198",
"why": "no kernel geometry: a face name stored on one kernel resolves to another face on the other (naming across kernels; the rig runs one kernel)"
},
{
"source": "tangency-labs/solidcraft#5199",
"why": "UI only: dragging sketch points and dimension numbers"
},
{
"source": "tangency-labs/solidcraft#5201",
"why": "no kernel geometry: Deboss needs a complete cylinder or coaxial sleeve (the emboss command's stated limit)"
},
{
"source": "tangency-labs/solidcraft#5222",
"why": "no reproduction: cuts on a user's STEP freeze on 0.19.0; they work on 0.20.0 with the file from #5344"
},
{
"source": "tangency-labs/solidcraft#5225",
"why": "no geometry: a cut into a mesh body is refused by design"
},
{
"source": "tangency-labs/solidcraft#5226",
"why": "no geometry: a request to normalise sheet-metal cut faces (feature request)"
},
{
"source": "tangency-labs/solidcraft#5227",
"why": "UI only: the web build takes the browser's tab shortcuts"
},
{
"source": "tangency-labs/solidcraft#5231",
"why": "no geometry: a sketch pattern's spacing parameter link lost (sketch)"
},
{
"source": "tangency-labs/solidcraft#5234",
"why": "no reproduction: a cut through a surface body shown by screenshot, no design"
},
{
"source": "tangency-labs/solidcraft#5239",
"why": "no reproduction: Split Face fails, no message or design"
},
{
"source": "tangency-labs/solidcraft#5266",
"why": "no reproduction: a cut on a user's part with 94 cylinder faces, screenshot only"
},
{
"source": "tangency-labs/solidcraft#5276",
"why": "no geometry: a face profile from a repeated component needs its occurrence active (document)"
},
{
"source": "tangency-labs/solidcraft#5280",
"why": "no geometry: a sketch pattern past the solver's 4000 unknowns (sketch)"
},
{
"source": "tangency-labs/solidcraft#5284",
"why": "needs the user design: a ring nozzle swept and chamfered, joined on coincident cone/cylinder/torus faces"
},
{
"source": "tangency-labs/solidcraft#5285",
"why": "no geometry: the report arrived empty (a screenshot)"
},
{
"source": "tangency-labs/solidcraft#5288",
"why": "UI only: Mirror's feature input cleared on switching type"
},
{
"source": "tangency-labs/solidcraft#5289",
"why": "no geometry: sketch Mirror about an origin axis (dup of #4193)"
},
{
"source": "tangency-labs/solidcraft#5297",
"why": "UI only: sketch snap to line intersections (dup of #4678)"
},
{
"source": "tangency-labs/solidcraft#5302",
"why": "no kernel geometry: projected face edges split a sketch's region, the extrude takes one (profile picking)"
},
{
"source": "tangency-labs/solidcraft#5304",
"why": "UI only: undo while drawing a spline"
},
{
"source": "tangency-labs/solidcraft#5305",
"why": "UI only: a selection length readout (dup of #2314)"
},
{
"source": "tangency-labs/solidcraft#5313",
"why": "no geometry: a sketch pattern's seed entities can't be changed (sketch, by design)"
},
{
"source": "tangency-labs/solidcraft#5327",
"why": "no geometry: sketch pattern counts and spacing as parameters (sketch)"
},
{
"source": "tangency-labs/solidcraft#5336",
"why": "UI only: the sketch stays hidden while editing its extrude"
},
{
"source": "tangency-labs/solidcraft#5344",
"why": "no geometry: an imported STEP cut that works on 0.20.0 (the reporter confirms; dup of #5222)"
},
{
"source": "tangency-labs/solidcraft#5348",
"why": "no reproduction: a join refused by the volume check on a part shown by screenshot only"
},
{
"source": "tangency-labs/solidcraft#5351",
"why": "no geometry: the report arrived empty"
},
{
"source": "tangency-labs/solidcraft#5358",
"why": "no kernel geometry: Emboss of text on a cylinder (lines square to the axis only, a stated limit)"
},
{
"source": "tangency-labs/solidcraft#5369",
"why": "UI only: Wayland by default"
},
{
"source": "tangency-labs/solidcraft#5374",
"why": "no geometry: projecting a face seen edge-on (sketch)"
},
{
"source": "tangency-labs/solidcraft#5385",
"why": "UI only: sketch palette layout"
},
{
"source": "tangency-labs/solidcraft#5386",
"why": "UI only: an Onshape-style shortcut set (declined)"
},
{
"source": "tangency-labs/solidcraft#5390",
"why": "no geometry: a zero move of a body (moving holes, dup of #5399)"
},
{
"source": "tangency-labs/solidcraft#5392",
"why": "UI only: a design's own units vs the preference"
},
{
"source": "tangency-labs/solidcraft#5394",
"why": "UI only: shortcut recording (dup of #1809)"
},
{
"source": "tangency-labs/solidcraft#5396",
"why": "no geometry: moving a hole after it's made (feature request, dup of #5399)"
},
{
"source": "tangency-labs/solidcraft#5399",
"why": "no geometry: moving a hole after it's made (feature request)"
},
{
"source": "tangency-labs/solidcraft#5400",
"why": "no reproduction: last command only (a face cut on an unknown part)"
},
{
"source": "tangency-labs/solidcraft#5402",
"why": "no geometry: a Mirror feature can't itself be mirrored yet (dup of #395)"
},
{
"source": "tangency-labs/solidcraft#5403",
"why": "no reproduction: a cut whose facets cross \"could not be intersected\", a user's hinge, no design"
},
{
"source": "tangency-labs/solidcraft#5405",
"why": "duplicate of #5403: the same combine cut warning, no design"
},
{
"source": "tangency-labs/solidcraft#5408",
"why": "no reproduction: last command only (a cut leaving touching lumps), no design"
},
{
"source": "tangency-labs/solidcraft#5414",
"why": "no reproduction: Extrude To Body shown by screenshots only"
},
{
"source": "tangency-labs/solidcraft#5418",
"why": "no reproduction: last command only (a cut leaving touching lumps), no design"
},
{
"source": "tangency-labs/solidcraft#5431",
"why": "UI only: base planes not pickable behind a body"
},
{
"source": "tangency-labs/solidcraft#5433",
"why": "no geometry: the report arrived empty"
},
{
"source": "tangency-labs/solidcraft#5434",
"why": "no geometry: no profile picked and a design from a newer file format (user error)"
},
{
"source": "tangency-labs/solidcraft#5447",
"why": "UI only: error messages are not translated"
},
{
"source": "tangency-labs/solidcraft#5452",
"why": "no reproduction: a through-all cut of a part from two sketches, screenshot only"
},
{
"source": "tangency-labs/solidcraft#5457",
"why": "UI only: a revolute joint's axis can't be set along an edge (joint dialog)"
},
{
"source": "tangency-labs/solidcraft#5458",
"why": "UI only: tab management"
}
]
@@ -214,5 +214,93 @@
{
"source": "tangency-labs/solidcraft#5189",
"why": "render: lost GPU device (wgpu) in Preferences and the viewport"
},
{
"source": "tangency-labs/solidcraft#5211",
"why": "render: GPU out of memory and a capture buffer (#2195), no geometry"
},
{
"source": "tangency-labs/solidcraft#5229",
"why": "no reproduction: the display triangulation library's assertion, title only"
},
{
"source": "tangency-labs/solidcraft#5243",
"why": "no geometry: an empty crash report"
},
{
"source": "tangency-labs/solidcraft#5248",
"why": "no geometry: motion trace curves are not associative (feature request)"
},
{
"source": "tangency-labs/solidcraft#5251",
"why": "no geometry: an empty crash report"
},
{
"source": "tangency-labs/solidcraft#5263",
"why": "no reproduction: unclean exit in solid.box after a run of boxes, no sizes and no replay"
},
{
"source": "tangency-labs/solidcraft#5274",
"why": "no geometry: unclean exit while dragging a sliding joint (garbage in the window: graphics)"
},
{
"source": "tangency-labs/solidcraft#5314",
"why": "render: lost GPU device (wgpu), no geometry"
},
{
"source": "tangency-labs/solidcraft#5359",
"why": "no reproduction: unclean exit after parameter changes in a user's design of box patterns and a loft, nothing given"
},
{
"source": "tangency-labs/solidcraft#5360",
"why": "no reproduction: truck intersection-curve panic during a timeline reorder, the design is not given"
},
{
"source": "tangency-labs/solidcraft#5361",
"why": "render: Save As thumbnail capture buffer (#4791), no geometry"
},
{
"source": "tangency-labs/solidcraft#5372",
"why": "render: lost GPU device (wgpu), no geometry"
},
{
"source": "tangency-labs/solidcraft#5383",
"why": "no reproduction: the display triangulation library's assertion, title only"
},
{
"source": "tangency-labs/solidcraft#5395",
"why": "no geometry: unclean exit with no command and no replay"
},
{
"source": "tangency-labs/solidcraft#5407",
"why": "UI only: moving a sketch dimension, gone after a restart"
},
{
"source": "tangency-labs/solidcraft#5411",
"why": "no geometry: an empty crash report (occurrence.properties, document)"
},
{
"source": "tangency-labs/solidcraft#5421",
"why": "no geometry: unclean exit after selections, nothing running"
},
{
"source": "tangency-labs/solidcraft#5429",
"why": "no reproduction: unclean exit in inspect.interference while an agent cut an O-ring groove in a user's part"
},
{
"source": "tangency-labs/solidcraft#5437",
"why": "render: the capture buffer map failure (#2195), no geometry"
},
{
"source": "tangency-labs/solidcraft#5438",
"why": "render: lost GPU device (wgpu), no geometry"
},
{
"source": "tangency-labs/solidcraft#5448",
"why": "render: a GPU buffer map failure (#4791), no geometry"
},
{
"source": "tangency-labs/solidcraft#5460",
"why": "no reproduction: unclean exit during an extrude, title only"
}
]
@@ -0,0 +1,12 @@
{
"sources": [
"tangency-labs/solidcraft#5236",
"tangency-labs/solidcraft#3317"
],
"what": "the end edge of a cylinder r10 filleted r10, making a hemispherical end: refused ('the blend is larger than a corner radius'); r 9.99 worked",
"source": "analytic",
"method": "the round of radius equal to the cylinder's is the hemisphere r10 on the cylinder's first 20 mm: V = pi 100 20 + (2/3) pi 1000 = 8377.580. Faces: side, bottom, the spherical end = 3",
"body_count": 1,
"faces": 3,
"volume_mm3": 8377.5804
}
@@ -0,0 +1,25 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"radius": 10,
"height": 30,
"body_name": "Pin"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
10,
0,
30
]
],
"radius": 10
}
}
]
}
@@ -0,0 +1,13 @@
{
"sources": [
"tangency-labs/solidcraft#5300",
"tangency-labs/solidcraft#5236",
"tangency-labs/solidcraft#3317"
],
"what": "the outer top edge of a tube with a 1 mm wall (r 9..10, 20 high) filleted 1 mm: the round spans the whole wall top and meets the inner wall at its edge; truck refused it",
"source": "analytic",
"method": "the round removes the corner region (1 - pi/4) r^2 (r = 1) at the outer top edge; by Pappus its centroid is at radius 9 + (1/6)/(1-pi/4) = 9.7766: V = pi*(100-81)*20 - 2 pi 9.7766 (1 - pi/4). The top annulus is used up, so the faces are the outer cylinder, the round, the inner cylinder and the bottom = 4",
"body_count": 1,
"faces": 4,
"volume_mm3": 1180.6226
}
@@ -0,0 +1,61 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": "XY"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 10
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 9
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 20,
"profiles": [
{
"point": [
9.5,
0
]
}
]
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
10,
0,
20
]
],
"radius": 1
}
}
]
}
@@ -198,5 +198,21 @@
{
"source": "tangency-labs/solidcraft#5173",
"why": "no kernel geometry: an edge pick at a corner point picks one edge silently (command validation)"
},
{
"source": "tangency-labs/solidcraft#5278",
"why": "needs the user design: a dovetail mount with chamfered holes and rounds; no small stand-in"
},
{
"source": "tangency-labs/solidcraft#5299",
"why": "needs the user design: a U-shaped part with a hole, a 10 mm chamfer reaching the faces' edges; screenshots only"
},
{
"source": "tangency-labs/solidcraft#5328",
"why": "no geometry: a fillet option not to follow tangent edges (feature request)"
},
{
"source": "tangency-labs/solidcraft#5401",
"why": "no geometry: the report arrived empty"
}
]
@@ -126,5 +126,21 @@
{
"source": "tangency-labs/solidcraft#5091",
"why": "no geometry: KiCad board import (feature request)"
},
{
"source": "tangency-labs/solidcraft#5202",
"why": "UI only: the history marker on a hidden sketch"
},
{
"source": "tangency-labs/solidcraft#5210",
"why": "render: web import paths that don't draw STEP bodies"
},
{
"source": "tangency-labs/solidcraft#5293",
"why": "no geometry: Convert Mesh takes constant-section prisms only, as designed (dup of #358)"
},
{
"source": "tangency-labs/solidcraft#5321",
"why": "no kernel geometry: two DXF writers (file export)"
}
]
@@ -0,0 +1,17 @@
{
"sources": [
"tangency-labs/solidcraft#5306"
],
"what": "a 90 deg flange on the edge inside an open rectangular notch of a sheet-metal plate (100x60, notch 20 wide, 15 deep from the far edge): the flange was built on the plate's outer edge instead",
"source": "analytic",
"method": "T 2, R 2, K 0.5, inside flange on the notch's bottom edge (y = 45, x 40..60): the plate (less the notch) is set back 4 under it; a quarter-annulus bend (r 2..4, axis at y 41, z 4: centroid 41 + (56/3)/(3 pi), 4 - (56/3)/(3 pi)) and a 16 mm leg (y 43..45, z 4..20). The centre of mass is graded (to 0.5 mm, room for the corner reliefs the rule may add): a flange on an outer edge moves it by many millimetres",
"body_count": 1,
"center_of_mass": [
50.0,
29.6542,
1.5993
],
"tolerance": {
"abs_mm": 0.5
}
}
@@ -0,0 +1,95 @@
{
"commands": [
{
"command": "sheet.manage_rules",
"params": {
"name": "Rule",
"thickness": "2 mm",
"active": true,
"bend_radius": "2 mm",
"k_factor": 0.5
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "Plate"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
0,
0
],
"p1": [
100,
60
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sheet.flange",
"params": {
"type": "base",
"sketch": "Plate"
}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "Notch",
"project_edges": false
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
40,
45
],
"p1": [
60,
65
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"sketch": "Notch",
"through_all": true,
"direction": "symmetric",
"operation": "cut"
}
},
{
"command": "sheet.flange",
"params": {
"type": "edge",
"edges": [
[
50,
45,
2
]
],
"height": 20,
"angle": 90,
"position": "inside"
}
}
]
}
@@ -34,5 +34,9 @@
{
"source": "tangency-labs/solidcraft#4968",
"why": "no geometry: included bend angles in sheet-metal exports (feature request)"
},
{
"source": "tangency-labs/solidcraft#5269",
"why": "no kernel geometry: flat-pattern DXF export clamps a degree-9 Bezier (file export)"
}
]
@@ -0,0 +1,11 @@
{
"sources": [
"tangency-labs/solidcraft#5326"
],
"what": "an open sheet of two planar walls at a right angle (30 and 20 mm, 20 deep) thickened 2 mm toward the inside of its corner: truck refused it ('thickening into an inside corner across a sharp edge'); the outside worked",
"source": "analytic",
"method": "-2 is the inside of the corner (the side truck refused; +2, the outside, worked). Each wall offset 2 mm toward the other; the two slabs overlap in a 2x2 square: V = (30*2 + 20*2 - 2*2)*20 = 1920; faces 8 (an L-shaped prism). The sheet itself is removed afterwards, so only the new solid is graded",
"body_count": 1,
"faces": 8,
"volume_mm3": 1920.0
}
@@ -0,0 +1,79 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "S"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
0,
0
],
[
30,
0
],
[
30,
20
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.extrude",
"params": {
"sketch": "S",
"curves": [
"l1",
"l2"
],
"distance": 20
}
},
{
"command": "surface.thicken",
"params": {
"bodies": [
"Body1"
],
"thickness": -2,
"operation": "new"
}
},
{
"command": "solid.remove",
"params": {
"bodies": [
"Body1"
]
}
}
]
}
@@ -0,0 +1,12 @@
{
"sources": [
"tangency-labs/solidcraft#5368",
"tangency-labs/solidcraft#5182"
],
"what": "the four rounds of a block's top edges (r2, sharp vertical edges) deleted, so the planar top and sides extend to close the gap: refused ('only planar neighbours can extend to close the gap yet')",
"source": "analytic",
"method": "every neighbour of the rounds is planar; deleting them restores the sharp block: V = 35*25*25 = 21875, 6 faces. The points are the rounds' mid-points at 45 deg",
"body_count": 1,
"faces": 6,
"volume_mm3": 21875.0
}
@@ -0,0 +1,73 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"corner": [
0,
0,
0
],
"length": 35,
"width": 25,
"height": 25,
"body_name": "Block"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
17.5,
0,
25
],
[
17.5,
25,
25
],
[
0,
12.5,
25
],
[
35,
12.5,
25
]
],
"radius": 2
}
},
{
"command": "face.delete",
"params": {
"faces": [
[
17.5,
0.5857864376269051,
24.414213562373096
],
[
17.5,
24.414213562373096,
24.414213562373096
],
[
0.5857864376269051,
12.5,
24.414213562373096
],
[
34.41421356237309,
12.5,
24.414213562373096
]
]
}
}
]
}
@@ -110,5 +110,33 @@
{
"source": "tangency-labs/solidcraft#5076",
"why": "no reproduction: shell of a user's loft (free-form, a stated limit); see the loft shell case from #4743"
},
{
"source": "tangency-labs/solidcraft#5245",
"why": "render: cursor offset on old Intel OpenGL (dup of #2063)"
},
{
"source": "tangency-labs/solidcraft#5247",
"why": "no reproduction: \"shell worked fine in previous versions\", no message or design"
},
{
"source": "tangency-labs/solidcraft#5249",
"why": "no reproduction: a shell refused on a box with a sketched circle, screenshots only (it worked in an earlier version)"
},
{
"source": "tangency-labs/solidcraft#5301",
"why": "no geometry: a sketch offset circle not fully constrained (sketch)"
},
{
"source": "tangency-labs/solidcraft#5330",
"why": "no geometry: sketch offset of an offset spline (sketch curve fitting)"
},
{
"source": "tangency-labs/solidcraft#5339",
"why": "no geometry: a spline's offset is fitted from many points (sketch curve fitting, dup of #5330)"
},
{
"source": "tangency-labs/solidcraft#5378",
"why": "no reproduction: Thicken fails, no message or design"
}
]
+115 -1
View File
@@ -2010,5 +2010,119 @@
"5192": "issue, open",
"5193": "issue, open",
"5195": "issue, open",
"5197": "issue, open"
"5197": "issue, open",
"5198": "issue, open",
"5199": "issue, open",
"5201": "issue, open",
"5202": "issue, closed",
"5209": "issue, open",
"5210": "issue, open",
"5211": "issue, open",
"5222": "issue, open",
"5225": "issue, open",
"5226": "issue, open",
"5227": "issue, closed",
"5229": "issue, closed",
"5231": "issue, open",
"5234": "issue, open",
"5236": "issue, open",
"5238": "issue, open",
"5239": "issue, open",
"5243": "issue, closed",
"5245": "issue, open",
"5247": "issue, open",
"5248": "issue, closed",
"5249": "issue, open",
"5251": "issue, open",
"5263": "issue, closed",
"5266": "issue, open",
"5269": "issue, closed",
"5274": "issue, open",
"5276": "issue, open",
"5277": "issue, open",
"5278": "issue, open",
"5280": "issue, closed",
"5282": "issue, open",
"5283": "issue, open",
"5284": "issue, open",
"5285": "issue, open",
"5288": "issue, closed",
"5289": "issue, open",
"5291": "issue, open",
"5293": "issue, open",
"5295": "issue, open",
"5297": "issue, open",
"5299": "issue, open",
"5300": "issue, open",
"5301": "issue, open",
"5302": "issue, closed",
"5304": "issue, closed",
"5305": "issue, open",
"5306": "issue, open",
"5313": "issue, open",
"5314": "issue, closed",
"5317": "issue, open",
"5321": "issue, open",
"5322": "issue, open",
"5323": "issue, open",
"5324": "issue, open",
"5325": "issue, open",
"5326": "issue, open",
"5327": "issue, open",
"5328": "issue, open",
"5330": "issue, open",
"5336": "issue, closed",
"5339": "issue, open",
"5344": "issue, open",
"5348": "issue, open",
"5351": "issue, open",
"5353": "issue, open",
"5358": "issue, open",
"5359": "issue, open",
"5360": "issue, open",
"5361": "issue, closed",
"5368": "issue, open",
"5369": "issue, closed",
"5372": "issue, closed",
"5374": "issue, closed",
"5378": "issue, open",
"5382": "issue, open",
"5383": "issue, closed",
"5384": "issue, open",
"5385": "issue, closed",
"5386": "issue, closed",
"5390": "issue, closed",
"5392": "issue, open",
"5394": "issue, open",
"5395": "issue, open",
"5396": "issue, closed",
"5399": "issue, open",
"5400": "issue, open",
"5401": "issue, open",
"5402": "issue, open",
"5403": "issue, open",
"5405": "issue, open",
"5407": "issue, closed",
"5408": "issue, open",
"5410": "issue, open",
"5411": "issue, open",
"5413": "issue, open",
"5414": "issue, open",
"5417": "issue, open",
"5418": "issue, open",
"5419": "issue, open",
"5421": "issue, open",
"5429": "issue, open",
"5431": "issue, open",
"5433": "issue, open",
"5434": "issue, open",
"5437": "issue, closed",
"5438": "issue, closed",
"5447": "issue, closed",
"5448": "issue, closed",
"5452": "issue, open",
"5457": "issue, closed",
"5458": "issue, open",
"5460": "issue, open",
"5462": "issue, open"
}
@@ -0,0 +1,10 @@
{
"sources": [
"tangency-labs/solidcraft#5323"
],
"what": "a circle r5 swept along a 3D polyline (30, 25, 20 mm) whose two corners turn in different planes: truck's solid was 0.64% short (5852.75 for 5890.49), with no warning",
"source": "analytic",
"method": "the section is symmetric about the path, so each mitred corner adds outside the wedge it removes inside: V = pi*5^2*(30+25+20) = 5890.486",
"body_count": 1,
"volume_mm3": 5890.4862
}
@@ -0,0 +1,123 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "P"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 5
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"plane": "XY",
"name": "Q"
}
},
{
"command": "sketch.options",
"params": {
"sketch": "Q",
"sketch_3d": true
}
},
{
"command": "sketch.line3d",
"params": {
"points": [
[
0,
0,
0
],
[
0,
0,
-30
]
]
}
},
{
"command": "sketch.line3d",
"params": {
"points": [
[
0,
0,
-30
],
[
25,
0,
-30
]
]
}
},
{
"command": "sketch.line3d",
"params": {
"points": [
[
25,
0,
-30
],
[
25,
20,
-30
]
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.sweep",
"params": {
"sketch": "P",
"path_sketch": "Q",
"path": [
"w1",
"w2",
"w3"
],
"operation": "new"
}
}
]
}
@@ -0,0 +1,22 @@
{
"sources": [
"tangency-labs/solidcraft#5324"
],
"what": "a 4x4 square, standing on the middle of the bottom edge of a closed 60x40 rectangle path, swept round the whole path (drawn from a corner): truck's solid was 59% too small and offset, with no error",
"source": "analytic",
"method": "the section is centred on the path, so each mitre adds and removes equal wedges: V = 4*4*200 = 3200. The ring's outer box is the path's grown by 2: x -32..32, y -22..22, z -2..2",
"body_count": 1,
"volume_mm3": 3200.0,
"bbox": {
"min": [
-32.0,
-22.0,
-2.0
],
"max": [
32.0,
22.0,
2.0
]
}
}
@@ -0,0 +1,109 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
-20,
0
],
"x_dir": [
0,
1,
0
],
"y_dir": [
0,
0,
1
]
},
"name": "P"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
-2,
-2
],
"p1": [
2,
2
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Q"
}
},
{
"command": "sketch.line",
"params": {
"points": [
[
-30,
-20
],
[
30,
-20
],
[
30,
20
],
[
-30,
20
]
],
"closed": true
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.sweep",
"params": {
"sketch": "P",
"path_sketch": "Q",
"path": [
"l1",
"l2",
"l3",
"l4"
],
"operation": "new"
}
}
]
}
@@ -0,0 +1,13 @@
{
"sources": [
"tangency-labs/solidcraft#5325"
],
"what": "a sweep cut of a circle r5 on a 50x50x45 block's bottom face along a quarter arc r20 that leaves the face square to it and bends into the block: truck closed the entry hole with a disc and left a void shell behind it",
"source": "analytic",
"method": "the tube's centre line has length 10 pi: V = 50*50*45 - 25 pi * 10 pi = 110032.599. Faces: the six block faces (the bottom with the entry hole), the tube wall and its end disc inside the block = 8; one shell. Area = 14000 - 25 pi + 2 pi 5 * 10 pi + 25 pi = 14986.960",
"body_count": 1,
"shells": 1,
"faces": 8,
"volume_mm3": 110032.5989,
"area_mm2": 14986.9604
}
@@ -0,0 +1,143 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "B"
}
},
{
"command": "sketch.rectangle.center",
"params": {
"center": [
0,
0
],
"corner": [
25,
25
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.extrude",
"params": {
"distance": 45,
"operation": "new"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "P"
}
},
{
"command": "sketch.circle.center",
"params": {
"center": [
0,
0
],
"radius": 5
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
0,
0,
1
],
"y_dir": [
0,
1,
0
]
},
"name": "Q"
}
},
{
"command": "sketch.arc.three_point",
"params": {
"start": [
0,
0
],
"end": [
20,
20
],
"through": [
14.142135623730951,
5.857864376269049
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "solid.sweep",
"params": {
"sketch": "P",
"path_sketch": "Q",
"path": [
"a1"
],
"operation": "cut"
}
}
]
}
@@ -162,5 +162,25 @@
{
"source": "tangency-labs/solidcraft#5192",
"why": "no geometry: \"unknown sketch line\" for the axis (command parameters), no design"
},
{
"source": "tangency-labs/solidcraft#5209",
"why": "no kernel geometry: surface extrude takes the curve of the same id from another sketch (selection, dup of #4057)"
},
{
"source": "tangency-labs/solidcraft#5283",
"why": "no single right answer: where a loft from a polygon to an ellipse splits its side faces is the method's choice"
},
{
"source": "tangency-labs/solidcraft#5317",
"why": "duplicate of #4689: a revolve profile with an edge on the axis splits its flat face into sectors"
},
{
"source": "tangency-labs/solidcraft#5410",
"why": "no geometry: a sketch can't attach to a face whose history is ambiguous (document, dup of #4325)"
},
{
"source": "tangency-labs/solidcraft#5419",
"why": "no reproduction: a loft from two circles to one user contour (a mismatched loop count), black viewport, no design"
}
]
@@ -74,5 +74,29 @@
{
"source": "tangency-labs/solidcraft#5055",
"why": "no geometry: no coarse thread past M56 (designation; M75x2 works)"
},
{
"source": "tangency-labs/solidcraft#5238",
"why": "duplicate of threads/3311-two-tapped-holes-both-modelled-threaded: a second modelled thread on the same body"
},
{
"source": "tangency-labs/solidcraft#5277",
"why": "no reproduction: a slow modelled M8x1 thread on an unknown large part, no design"
},
{
"source": "tangency-labs/solidcraft#5282",
"why": "no geometry: a 20 mm hole is refused for a modelled M20 by design (drill 17.5)"
},
{
"source": "tangency-labs/solidcraft#5382",
"why": "duplicate of threads/3311-two-tapped-holes-both-modelled-threaded: a second modelled M8 thread on the same body"
},
{
"source": "tangency-labs/solidcraft#5384",
"why": "duplicate of threads/3311-two-tapped-holes-both-modelled-threaded (and #5382)"
},
{
"source": "tangency-labs/solidcraft#5417",
"why": "no reproduction: \"tree too deep\" on an M12x1.5 modelled thread in an unknown hole (dup of #2892)"
}
]