mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-04 02:55:54 +00:00
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:
@@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+8
@@ -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"
|
||||
}
|
||||
+26
@@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user