Kernel rig: construction cases, the axis of a cylinder, a torus and a circular edge, and a flat face refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-29 17:10:12 -04:00
committed by Irakli Kourtis
parent 776d979ce1
commit 84a326f166
8 changed files with 193 additions and 0 deletions
@@ -0,0 +1,22 @@
{
"sources": [],
"what": "the axis through a circular edge",
"source": "analytic",
"method": "cylinder r 5, h 10 on (60,0,0) along +Z: its top edge is the circle r 5 about (60,0,10) in z = 10: the line through its centre along its normal Z",
"construction": {
"A": {
"axis": {
"through": [
60,
0,
10
],
"dir": [
0,
0,
1
]
}
}
}
}
@@ -0,0 +1,31 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"base": [
60,
0,
0
],
"radius": 5,
"height": 10,
"body_name": "Cyl",
"operation": "new"
}
},
{
"command": "construct.axis.through_cylinder",
"params": {
"face": {
"edge": [
65,
0,
10
]
},
"name": "A"
}
}
]
}
@@ -0,0 +1,22 @@
{
"sources": [],
"what": "the axis of a cylinder's side",
"source": "analytic",
"method": "cylinder r 5, h 10 on (60,0,0) along +Z: the line through (60,0,0) along Z",
"construction": {
"A": {
"axis": {
"through": [
60,
0,
0
],
"dir": [
0,
0,
1
]
}
}
}
}
@@ -0,0 +1,31 @@
{
"commands": [
{
"command": "solid.cylinder",
"params": {
"base": [
60,
0,
0
],
"radius": 5,
"height": 10,
"body_name": "Cyl",
"operation": "new"
}
},
{
"command": "construct.axis.through_cylinder",
"params": {
"face": {
"face": [
65,
0,
5
]
},
"name": "A"
}
}
]
}
@@ -0,0 +1,22 @@
{
"sources": [],
"what": "the axis of a torus",
"source": "analytic",
"method": "torus major 10, minor 2 centred on (0,60,0) about Z: the line through (0,60,0) along Z",
"construction": {
"A": {
"axis": {
"through": [
0,
60,
0
],
"dir": [
0,
0,
1
]
}
}
}
}
@@ -0,0 +1,31 @@
{
"commands": [
{
"command": "solid.torus",
"params": {
"center": [
0,
60,
0
],
"major": 10,
"minor": 2,
"body_name": "Ring",
"operation": "new"
}
},
{
"command": "construct.axis.through_cylinder",
"params": {
"face": {
"face": [
12,
60,
0
]
},
"name": "A"
}
}
]
}
@@ -0,0 +1,8 @@
{
"sources": [],
"what": "an axis through a flat face",
"source": "analytic",
"method": "box 40 x 30 x 20 with a corner at the origin (x 0..40, y 0..30, z 0..20): the top is a plane, with no axis: refused",
"outcome": "refused",
"refusal": "the face is not a cylinder, cone or torus"
}
@@ -0,0 +1,26 @@
{
"commands": [
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"body_name": "Box"
}
},
{
"command": "construct.axis.through_cylinder",
"params": {
"face": {
"face": [
20,
15,
20
]
},
"name": "A"
}
}
]
}