geometry: tests open a closed hollow box, a post on its void floor and an open tray (#364)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-15 09:23:40 -04:00
1 parent 358ed2f54f
commit 8ba59701b4
8 files changed
+488

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
Designs saved by SolidCraft, opened by `tests/void_shells.rs` as a person's file would be. Each
`<name>.solidcraft` is `solidcraft-cli run <name>.json --out <name>.solidcraft`; the volumes the
tests expect are analytic.
@@ -0,0 +1,64 @@
[
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"corner": [
0,
0,
0
],
"body_name": "Case"
}
},
{
"command": "solid.shell",
"params": {
"faces": [
[
20,
15,
20
]
],
"thickness": 2,
"direction": "inside",
"body": "Case"
}
},
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 2,
"corner": [
0,
0,
20
],
"operation": "join",
"targets": [
"Case"
]
}
},
{
"command": "solid.cylinder",
"params": {
"diameter": 6,
"height": 5,
"base": [
8,
8,
2
],
"operation": "join",
"targets": [
"Case"
]
}
}
]
@@ -0,0 +1,102 @@
{
"format": "solidcraft/21",
"name": "Untitled",
"units": "mm",
"params": [],
"features": [
{
"id": 1,
"name": "Box1",
"suppressed": false,
"body_names": [
"Case"
],
"param_names": [
"d1",
"d2",
"d3"
],
"type": "box",
"corner": [
0.0,
0.0,
0.0
],
"length": "40",
"width": "30",
"height": "20",
"operation": "new_body"
},
{
"id": 2,
"name": "Shell1",
"suppressed": false,
"param_names": [
"d4"
],
"face_names": [
"F1:+z"
],
"type": "shell",
"faces": [
[
20.0,
15.0,
20.0
]
],
"thickness": "2",
"body": "Case"
},
{
"id": 3,
"name": "Box2",
"suppressed": false,
"param_names": [
"d5",
"d6",
"d7"
],
"participants": [
"Case"
],
"type": "box",
"corner": [
0.0,
0.0,
20.0
],
"length": "40",
"width": "30",
"height": "2",
"operation": "join"
},
{
"id": 4,
"name": "Cylinder1",
"suppressed": false,
"param_names": [
"d8",
"d9"
],
"participants": [
"Case"
],
"type": "cylinder",
"base": [
8.0,
8.0,
2.0
],
"axis": [
0.0,
0.0,
1.0
],
"radius": "(6 mm) / 2",
"height": "5",
"operation": "join"
}
],
"next_id": 5
}
@@ -0,0 +1,48 @@
[
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"corner": [
0,
0,
0
],
"body_name": "Case"
}
},
{
"command": "solid.shell",
"params": {
"faces": [
[
20,
15,
20
]
],
"thickness": 2,
"direction": "inside",
"body": "Case"
}
},
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 2,
"corner": [
0,
0,
20
],
"operation": "join",
"targets": [
"Case"
]
}
}
]
@@ -0,0 +1,76 @@
{
"format": "solidcraft/21",
"name": "Untitled",
"units": "mm",
"params": [],
"features": [
{
"id": 1,
"name": "Box1",
"suppressed": false,
"body_names": [
"Case"
],
"param_names": [
"d1",
"d2",
"d3"
],
"type": "box",
"corner": [
0.0,
0.0,
0.0
],
"length": "40",
"width": "30",
"height": "20",
"operation": "new_body"
},
{
"id": 2,
"name": "Shell1",
"suppressed": false,
"param_names": [
"d4"
],
"face_names": [
"F1:+z"
],
"type": "shell",
"faces": [
[
20.0,
15.0,
20.0
]
],
"thickness": "2",
"body": "Case"
},
{
"id": 3,
"name": "Box2",
"suppressed": false,
"param_names": [
"d5",
"d6",
"d7"
],
"participants": [
"Case"
],
"type": "box",
"corner": [
0.0,
0.0,
20.0
],
"length": "40",
"width": "30",
"height": "2",
"operation": "join"
}
],
"next_id": 4
}
@@ -0,0 +1,47 @@
[
{
"command": "solid.box",
"params": {
"length": 40,
"width": 30,
"height": 20,
"corner": [
0,
0,
0
],
"body_name": "Case"
}
},
{
"command": "solid.shell",
"params": {
"faces": [
[
20,
15,
20
]
],
"thickness": 2,
"direction": "inside",
"body": "Case"
}
},
{
"command": "solid.cylinder",
"params": {
"diameter": 6,
"height": 5,
"base": [
8,
8,
2
],
"operation": "join",
"targets": [
"Case"
]
}
}
]
@@ -0,0 +1,79 @@
{
"format": "solidcraft/21",
"name": "Untitled",
"units": "mm",
"params": [],
"features": [
{
"id": 1,
"name": "Box1",
"suppressed": false,
"body_names": [
"Case"
],
"param_names": [
"d1",
"d2",
"d3"
],
"type": "box",
"corner": [
0.0,
0.0,
0.0
],
"length": "40",
"width": "30",
"height": "20",
"operation": "new_body"
},
{
"id": 2,
"name": "Shell1",
"suppressed": false,
"param_names": [
"d4"
],
"face_names": [
"F1:+z"
],
"type": "shell",
"faces": [
[
20.0,
15.0,
20.0
]
],
"thickness": "2",
"body": "Case"
},
{
"id": 3,
"name": "Cylinder1",
"suppressed": false,
"param_names": [
"d5",
"d6"
],
"participants": [
"Case"
],
"type": "cylinder",
"base": [
8.0,
8.0,
2.0
],
"axis": [
0.0,
0.0,
1.0
],
"radius": "(6 mm) / 2",
"height": "5",
"operation": "join"
}
],
"next_id": 4
}