Kernel rig: inspect cases, a fillet's seams are G1 with a 1/r curvature jump, a box edge is sharp, too few stations refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-29 17:10:20 -04:00
committed by Irakli Kourtis
parent f43a0c7ac6
commit 311b57bb72
6 changed files with 178 additions and 0 deletions
@@ -0,0 +1,34 @@
{
"sources": [],
"what": "the order at a box's square edge",
"source": "analytic",
"method": "box 40 x 30 x 20 with a corner at the origin: the faces y = 0 and z = 0 meet at 90 deg along their edge: g0, sharp, normal angle 90",
"results": [
{
"command": 1,
"pointer": "/summary/edges",
"value": 1
},
{
"command": 1,
"pointer": "/bodies/0/edges/0/order",
"value": "g0"
},
{
"command": 1,
"pointer": "/bodies/0/edges/0/verdict",
"value": "sharp"
},
{
"command": 1,
"pointer": "/bodies/0/edges/0/normal_angle_deg/value",
"value": 90.0
},
{
"command": 1,
"pointer": "/bodies/0/edges/0/gap_mm/value",
"value": 0.0,
"rel": 1e-06
}
]
}
@@ -0,0 +1,27 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "Box",
"operation": "new"
}
},
{
"command": "inspect.continuity",
"params": {
"body": "Box",
"edges": [
[
20,
0,
0
]
]
}
}
]
}
@@ -0,0 +1,43 @@
{
"sources": [],
"what": "the order where a round meets the faces either side",
"source": "analytic",
"method": "box 40 x 30 x 20 with a corner at the origin, its top-front edge (y 0, z 20) rounded r 3: the round meets the top (at y 3) and the front (at z 17) tangent, curvature jumping 0 to 1/3: g1, jump 1/3 per mm",
"results": [
{
"command": 2,
"pointer": "/summary/edges",
"value": 2
},
{
"command": 2,
"pointer": "/bodies/0/edges/0/order",
"value": "g1"
},
{
"command": 2,
"pointer": "/bodies/0/edges/1/order",
"value": "g1"
},
{
"command": 2,
"pointer": "/bodies/0/edges/0/curvature_jump_per_mm/value",
"value": 0.3333333333333333
},
{
"command": 2,
"pointer": "/bodies/0/edges/1/curvature_jump_per_mm/value",
"value": 0.3333333333333333
},
{
"command": 2,
"pointer": "/bodies/0/edges/0/verdict",
"value": "curvature_jump"
},
{
"command": 2,
"pointer": "/bodies/0/edges/1/verdict",
"value": "curvature_jump"
}
]
}
@@ -0,0 +1,45 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "Box",
"operation": "new"
}
},
{
"command": "solid.fillet",
"params": {
"edges": [
[
20,
0,
20
]
],
"radius": 3
}
},
{
"command": "inspect.continuity",
"params": {
"body": "Box",
"edges": [
[
20,
3,
20
],
[
20,
0,
17
]
]
}
}
]
}
@@ -0,0 +1,8 @@
{
"sources": [],
"what": "continuity with 2 stations a seam",
"source": "analytic",
"method": "box 40 x 30 x 20 with a corner at the origin: a seam needs its two ends and one station between: 2 is refused",
"outcome": "refused",
"refusal": "`samples` must be 3\u2026257 stations along each edge"
}
@@ -0,0 +1,21 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "Box",
"operation": "new"
}
},
{
"command": "inspect.continuity",
"params": {
"body": "Box",
"samples": 2
}
}
]
}