Kernel rig: a matched sheet meets its target's edge at the order asked, flat where both are flat, and a solid is refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-29 17:03:27 -04:00
committed by Irakli Kourtis
parent 425c8ed421
commit f861f44e1d
8 changed files with 530 additions and 0 deletions
@@ -0,0 +1,8 @@
{
"sources": [],
"what": "match on a closed solid: refused, a match rebuilds a surface",
"source": "invariants",
"method": "rebuilding one face of a solid would open it",
"outcome": "refused",
"refusal": "match rebuilds a surface body: this one is closed"
}
@@ -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": "Target sketch"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
0,
0
],
"p1": [
10,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Target sketch",
"body_name": "Target"
}
},
{
"command": "solid.box",
"params": {
"length": 8,
"width": 20,
"height": 5,
"corner": [
12,
0,
0
],
"body_name": "Block"
}
},
{
"command": "surface.match",
"params": {
"body": "Block",
"target": "Target",
"edges": [
[
10,
10,
0
]
]
}
}
]
}
@@ -0,0 +1,39 @@
{
"sources": [],
"what": "a sheet 2 mm short of a coplanar sheet's edge, matched G2 onto it and stitched: flat, x 10..20",
"source": "analytic",
"method": "target x 0..10, skirt x 12..20, both in z = 0; the skirt's near boundary (x = 12) moves to the picked edge x = 10 repeating the plane's tangent and zero curvature, the far one (x = 20) stays with its plane: every condition is in z = 0, so the rebuilt face is the flat 10 x 20 strip; stitched: area 200 + 200 = 400, 4 to 6 free edges round the 20 x 20 outline, the seam at least G2",
"valid": false,
"body_count": 1,
"faces": [
1,
2
],
"area_mm2": 400.0,
"boundary_edges": [
4,
6
],
"bbox": {
"min": [
0,
0,
0
],
"max": [
20,
20,
0
]
},
"continuity": {
"order": "g2",
"edges": [
[
10,
10,
0
]
]
}
}
@@ -0,0 +1,122 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Target sketch"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
0,
0
],
"p1": [
10,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Target sketch",
"body_name": "Target"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Skirt sketch"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
12,
0
],
"p1": [
20,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Skirt sketch",
"body_name": "Skirt"
}
},
{
"command": "surface.match",
"params": {
"body": "Skirt",
"target": "Target",
"edges": [
[
10,
10,
0
]
],
"order": "g2"
}
},
{
"command": "surface.stitch",
"params": {
"bodies": [
"Target",
"Skirt"
]
}
}
]
}
@@ -0,0 +1,19 @@
{
"sources": [],
"what": "a sheet 2 above and 2 short of a sheet's edge, matched G1 down onto it and stitched: the seam holds G1",
"source": "invariants",
"method": "target x 0..10 at z = 0, skirt x 12..20 at z = 2; the near boundary moves onto x = 10, z = 0 repeating the target's plane to G1, the far boundary stays at x = 20, z = 2. Graded: the seam's order as Continuity Analysis measures it, one body of 2 faces",
"valid": false,
"body_count": 1,
"faces": 2,
"continuity": {
"order": "g1",
"edges": [
[
10,
10,
0
]
]
}
}
@@ -0,0 +1,122 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Target sketch"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
0,
0
],
"p1": [
10,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Target sketch",
"body_name": "Target"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
2
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Raised"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
12,
0
],
"p1": [
20,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Raised",
"body_name": "Skirt"
}
},
{
"command": "surface.match",
"params": {
"body": "Skirt",
"target": "Target",
"edges": [
[
10,
10,
0
]
],
"order": "g1"
}
},
{
"command": "surface.stitch",
"params": {
"bodies": [
"Target",
"Skirt"
]
}
}
]
}
@@ -0,0 +1,19 @@
{
"sources": [],
"what": "a sheet 2 above and 2 short of a sheet's edge, matched G3 down onto it and stitched: the seam holds G3",
"source": "invariants",
"method": "target x 0..10 at z = 0, skirt x 12..20 at z = 2; the near boundary moves onto x = 10, z = 0 repeating the target's plane to G3, the far boundary stays at x = 20, z = 2. Graded: the seam's order as Continuity Analysis measures it, one body of 2 faces",
"valid": false,
"body_count": 1,
"faces": 2,
"continuity": {
"order": "g3",
"edges": [
[
10,
10,
0
]
]
}
}
@@ -0,0 +1,122 @@
{
"commands": [
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Target sketch"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
0,
0
],
"p1": [
10,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Target sketch",
"body_name": "Target"
}
},
{
"command": "sketch.create",
"params": {
"plane": {
"origin": [
0,
0,
2
],
"x_dir": [
1,
0,
0
],
"y_dir": [
0,
1,
0
]
},
"name": "Raised"
}
},
{
"command": "sketch.rectangle.two_point",
"params": {
"p0": [
12,
0
],
"p1": [
20,
20
]
}
},
{
"command": "sketch.finish",
"params": {}
},
{
"command": "surface.patch",
"params": {
"sketch": "Raised",
"body_name": "Skirt"
}
},
{
"command": "surface.match",
"params": {
"body": "Skirt",
"target": "Target",
"edges": [
[
10,
10,
0
]
],
"order": "g3"
}
},
{
"command": "surface.stitch",
"params": {
"bodies": [
"Target",
"Skirt"
]
}
}
]
}