← mecheval / run / a4-flanged-shaft-01 / claude-mcp-claude-opus-4-7 / 20260611T222031Z-9de9
run 20260611T222031Z-9de9
Summary
| status | fail |
| score | 0.88 (7/8) |
| submission | self-run |
| model | claude-mcp-claude-opus-4-7 (anthropic) |
| started | 2026-06-11T22:20:31.172Z |
| ended | 2026-06-11T22:22:20.437Z |
| tokens | 621,705 in · 6,999 out · 628,704 total |
| wallclock | 109.0s |
| tool calls | 42 |
| task hash | 70d8d5eb7fc1d941… |
| vcad hash | 86590c94b62648f5… |
Prompt
Make a flanged hollow shaft as a single solid. The base is a circular flange of outer diameter 80mm and thickness 10mm, with its bottom face on the XY plane (z = 0 to z = 10). Above the flange and concentric with it sits a cylindrical shaft of outer diameter 30mm extending 50mm upward (z = 10 to z = 60). A central through-bore of diameter 15mm runs along the Z axis through both the flange and the shaft (z = 0 to z = 60). The flange has four bolt holes of diameter 6mm, axes parallel to Z, on a bolt circle of diameter 60mm (radius 30mm) centered on the Z axis. The first bolt hole is on the +X axis; the others are spaced every 90 degrees. The bolt holes pass through the full flange thickness. Output a single solid.
Checks
0
valid_solidpass
params + details
params: {
"type": "valid_solid"
}
details: {
"root_count": 18,
"solids_produced": 18
}
1
bboxpass
params + details
params: {
"type": "bbox",
"min": [
-40,
-40,
0
],
"max": [
40,
40,
60
],
"tolerance_mm": 0.2
}
details: {
"actual_max": [
40,
40,
60
],
"actual_min": [
-40,
-40,
0
],
"deviation_max": [
0,
0,
0
],
"deviation_min": [
0,
0,
0
],
"max_abs_deviation_mm": 0,
"tolerance_mm": 0.2
}
2
mass_propsfail
volume off by 315.7%
params + details
params: {
"type": "mass_props",
"volume_mm3": 73874.55,
"tolerance_pct": 1.5
}
details: {
"volume": {
"actual_mm3": 307060.672560717,
"deviation_pct": 315.6514964364818,
"pass": false,
"spec_mm3": 73874.55,
"tolerance_pct": 1.5
}
}
3
hole_countpass
params + details
params: {
"type": "hole_count",
"diameter_mm": 15,
"expected": 1,
"diameter_tolerance_mm": 0.1
}
details: {
"actual": 1,
"diameter_mm": 15,
"diameter_tolerance_mm": 0.1,
"expected": 1,
"found": [
[
0,
0,
15
]
]
}
4
hole_positionspass
params + details
params: {
"type": "hole_positions",
"diameter_mm": 15,
"positions": [
[
0,
0,
0
]
],
"tolerance_mm": 0.2
}
details: {
"diameter_mm": 15,
"per_expected": [
{
"distance_mm": 0,
"matched_hole": [
0,
0
],
"pass": true,
"spec_xy": [
0,
0
]
}
],
"tolerance_mm": 0.2,
"unmatched_extras": []
}
5
hole_countpass
params + details
params: {
"type": "hole_count",
"diameter_mm": 6,
"expected": 4,
"diameter_tolerance_mm": 0.05
}
details: {
"actual": 4,
"diameter_mm": 6,
"diameter_tolerance_mm": 0.05,
"expected": 4,
"found": [
[
30,
0,
6
],
[
0,
30,
6
],
[
-30,
0,
6
],
[
0,
-30,
6
]
]
}
6
hole_positionspass
params + details
params: {
"type": "hole_positions",
"diameter_mm": 6,
"positions": [
[
30,
0,
0
],
[
0,
30,
0
],
[
-30,
0,
0
],
[
0,
-30,
0
]
],
"tolerance_mm": 0.2
}
details: {
"diameter_mm": 6,
"per_expected": [
{
"distance_mm": 0,
"matched_hole": [
30,
0
],
"pass": true,
"spec_xy": [
30,
0
]
},
{
"distance_mm": 0,
"matched_hole": [
0,
30
],
"pass": true,
"spec_xy": [
0,
30
]
},
{
"distance_mm": 0,
"matched_hole": [
-30,
0
],
"pass": true,
"spec_xy": [
-30,
0
]
},
{
"distance_mm": 0,
"matched_hole": [
0,
-30
],
"pass": true,
"spec_xy": [
0,
-30
]
}
],
"tolerance_mm": 0.2,
"unmatched_extras": []
}
7
step_roundtrippass
params + details
params: {
"type": "step_roundtrip",
"tolerance_pct": 1.5
}
details: {
"per_solid": [
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
40,
40,
10
],
"original_min": [
-40,
-40,
0
],
"pass": true,
"roundtripped_max": [
40,
40,
10
],
"roundtripped_min": [
-40,
-40,
0
],
"tolerance_mm": 1.703672503740082
},
"index": 0,
"pass": true,
"volume": {
"deviation_pct": 0.48152755025717725,
"original_mm3": 50184.77602334661,
"pass": true,
"roundtripped_mm3": 49943.12250075934
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
15,
15,
50
],
"original_min": [
-15,
-15,
0
],
"pass": true,
"roundtripped_max": [
15,
15,
50
],
"roundtripped_min": [
-15,
-15,
0
],
"tolerance_mm": 0.9836157786453
},
"index": 1,
"pass": true,
"volume": {
"deviation_pct": 0.48152593655443426,
"original_mm3": 35286.17064485397,
"pass": true,
"roundtripped_mm3": 35116.25858118214
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
15,
15,
60
],
"original_min": [
-15,
-15,
10
],
"pass": true,
"roundtripped_max": [
15,
15,
60
],
"roundtripped_min": [
-15,
-15,
10
],
"tolerance_mm": 0.9836157786453
},
"index": 2,
"pass": true,
"volume": {
"deviation_pct": 0.48152593655414655,
"original_mm3": 35286.1706448539,
"pass": true,
"roundtripped_mm3": 35116.25858118217
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
40,
40,
60
],
"original_min": [
-40,
-40,
0
],
"pass": true,
"roundtripped_max": [
40,
40,
60
],
"roundtripped_min": [
-40,
-40,
0
],
"tolerance_mm": 1.9209372712298545
},
"index": 3,
"pass": true,
"volume": {
"deviation_pct": 0.49477989147843504,
"original_mm3": 85470.94666820043,
"pass": true,
"roundtripped_mm3": 85048.05361102991
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
7.5,
7.5,
60
],
"original_min": [
-7.5,
-7.5,
0
],
"pass": true,
"roundtripped_max": [
7.5,
7.5,
60
],
"roundtripped_min": [
-7.5,
-7.5,
0
],
"tolerance_mm": 0.9545941546018392
},
"index": 4,
"pass": true,
"volume": {
"deviation_pct": 0.48152593655421533,
"original_mm3": 10585.851193456168,
"pass": true,
"roundtripped_mm3": 10534.877574354643
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
3,
3,
10
],
"original_min": [
-3,
-3,
0
],
"pass": true,
"roundtripped_max": [
3,
3,
10
],
"roundtripped_min": [
-3,
-3,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 5,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.9300646298918,
"pass": true,
"roundtripped_mm3": 280.9300646298918
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
3,
3,
10
],
"original_min": [
-3,
-3,
0
],
"pass": true,
"roundtripped_max": [
3,
3,
10
],
"roundtripped_min": [
-3,
-3,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 6,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.9300646298918,
"pass": true,
"roundtripped_mm3": 280.9300646298918
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
3,
3,
10
],
"original_min": [
-3,
-3,
0
],
"pass": true,
"roundtripped_max": [
3,
3,
10
],
"roundtripped_min": [
-3,
-3,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 7,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.9300646298918,
"pass": true,
"roundtripped_mm3": 280.9300646298918
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
3,
3,
10
],
"original_min": [
-3,
-3,
0
],
"pass": true,
"roundtripped_max": [
3,
3,
10
],
"roundtripped_min": [
-3,
-3,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 8,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.9300646298918,
"pass": true,
"roundtripped_mm3": 280.9300646298918
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
33,
3,
10
],
"original_min": [
27,
-3,
0
],
"pass": true,
"roundtripped_max": [
33,
3,
10
],
"roundtripped_min": [
27,
-3,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 9,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.93003532970556,
"pass": true,
"roundtripped_mm3": 280.93003532970556
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
3,
33,
10
],
"original_min": [
-3,
27,
0
],
"pass": true,
"roundtripped_max": [
3,
33,
10
],
"roundtripped_min": [
-3,
27,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 10,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.9300353297057,
"pass": true,
"roundtripped_mm3": 280.9300353297057
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
-27,
3,
10
],
"original_min": [
-33,
-3,
0
],
"pass": true,
"roundtripped_max": [
-27,
3,
10
],
"roundtripped_min": [
-33,
-3,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 11,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.93003532970556,
"pass": true,
"roundtripped_mm3": 280.93003532970556
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
3,
-27,
10
],
"original_min": [
-3,
-33,
0
],
"pass": true,
"roundtripped_max": [
3,
-27,
10
],
"roundtripped_min": [
-3,
-33,
0
],
"tolerance_mm": 0.19672315572906
},
"index": 12,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 280.93003532970556,
"pass": true,
"roundtripped_mm3": 280.93003532970556
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
33,
33,
10
],
"original_min": [
-3,
-3,
0
],
"pass": true,
"roundtripped_max": [
33,
33,
10
],
"roundtripped_min": [
-3,
-3,
0
],
"tolerance_mm": 0.7782673062643708
},
"index": 13,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 561.8600706594116,
"pass": true,
"roundtripped_mm3": 561.8600706594116
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
33,
33,
10
],
"original_min": [
-33,
-3,
0
],
"pass": true,
"roundtripped_max": [
33,
33,
10
],
"roundtripped_min": [
-33,
-3,
0
],
"tolerance_mm": 1.1376291135515124
},
"index": 14,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 842.7901059891178,
"pass": true,
"roundtripped_mm3": 842.7901059891178
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
33,
33,
10
],
"original_min": [
-33,
-33,
0
],
"pass": true,
"roundtripped_max": [
33,
33,
10
],
"roundtripped_min": [
-33,
-33,
0
],
"tolerance_mm": 1.4080838043241601
},
"index": 15,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 1123.720141318824,
"pass": true,
"roundtripped_mm3": 1123.720141318824
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
33,
33,
60
],
"original_min": [
-33,
-33,
0
],
"pass": true,
"roundtripped_max": [
33,
33,
60
],
"roundtripped_min": [
-33,
-33,
0
],
"tolerance_mm": 1.6643917808016238
},
"index": 16,
"pass": true,
"volume": {
"deviation_pct": 0.4815262933817316,
"original_mm3": 11715.008562172205,
"pass": true,
"roundtripped_mm3": 11658.597715673424
}
},
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
40,
40,
60
],
"original_min": [
-40,
-40,
0
],
"pass": true,
"roundtripped_max": [
40,
40,
60
],
"roundtripped_min": [
-40,
-40,
0
],
"tolerance_mm": 1.9209372712298545
},
"index": 17,
"pass": true,
"volume": {
"deviation_pct": 0.5223793989541949,
"original_mm3": 73755.93810602803,
"pass": true,
"roundtripped_mm3": 73370.65227985673
}
}
],
"tolerance_pct": 1.5
}
Tool calls
0
open_documentok
2ms
args
{}1
createerr
6ms
args
{
"document_id": "doc_1781216431342_1",
"type": "difference",
"name": "Flanged Shaft",
"params": {
"children": [
{
"type": "union",
"params": {
"children": [
{
"type": "translate",
"params": {
"x": 0,
"y": 0,
"z": 0,
"child": {
"type": "cylinder",
"params": {
"radius": 40,
"height": 10
}
}
}
},
{
"type": "translate",
"params": {
"x": 0,
"y": 0,
"z": 10,
"child": {
"type": "cylinder",
"params": {
"radius": 15,
"height": 50
}
}
}
}
]
}
},
{
"type": "cylinder",
"params": {
"radius": 7.5,
"height": 60
}
},
{
"type": "translate",
"params": {
"x": 30,
"y": 0,
"z": 0,
"child": {
"type": "cylinder",
"params": {
"radius": 3,
"height": 10
}
}
}
},
{
"type": "translate",
"params": {
"x": -30,
"y": 0,
"z": 0,
"child": {
"type": "cylinder",
"params": {
"radius": 3,
"height": 10
}
}
}
},
{
"type": "translate",
"params": {
"x": 0,
"y": 30,
"z": 0,
"child": {
"type": "cylinder",
"params": {
"radius": 3,
"height": 10
}
}
}
},
{
"type": "translate",
"params": {
"x": 0,
"y": -30,
"z": 0,
"child": {
"type": "cylinder",
"params": {
"radius": 3,
"height": 10
}
}
}
}
]
}
}2
create_cad_loonok
12ms
args
{
"source": "[let flange [cylinder 40 10]\n [let shaft [translate 0 0 10 [cylinder 15 50]]\n [let body [union flange shaft]\n [let bore [cylinder 7.5 60]\n [let h1 [translate 30 0 0 [cylinder 3 10]]\n [let h2 [translate -30 0 0 [cylinder 3 10]]\n [let h3 [translate 0 30 0 [cylinder 3 10]]\n [let h4 [translate 0 -30 0 [cylinder 3 10]]\n [difference h4 [difference h3 [difference h2 [difference h1 [difference bore body]]]]]]]]]]]]]",
"format": "json"
}3
createerr
4ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "flange",
"params": {
"radius": 40,
"height": 10
}
}4
create_cad_loonok
5ms
args
{
"source": "[let flange [cylinder 40 10]\n [let shaft [translate 0 0 10 [cylinder 15 50]]\n [let body [union flange shaft]\n [let bore [cylinder 7.5 60]\n [let with-bore [difference bore body]\n [let h1 [translate 30 0 0 [cylinder 3 10]]\n [let s1 [difference h1 with-bore]\n [let h2 [translate -30 0 0 [cylinder 3 10]]\n [let s2 [difference h2 s1]\n [let h3 [translate 0 30 0 [cylinder 3 10]]\n [let s3 [difference h3 s2]\n [let h4 [translate 0 -30 0 [cylinder 3 10]]\n [difference h4 s3]]]]]]]]]]]]]",
"format": "json"
}5
createok
2ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "flange",
"params": {
"radius": 40,
"height": 10,
"segments": 64
}
}6
createok
5ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "shaft_raw",
"params": {
"radius": 15,
"height": 50,
"segments": 64
}
}7
readok
3ms
args
{
"document_id": "doc_1781216431342_1"
}8
deleteok
3ms
args
{
"document_id": "doc_1781216431342_1",
"part_id": "1"
}9
deleteok
1ms
args
{
"document_id": "doc_1781216431342_1",
"part_id": "2"
}10
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "flange",
"params": {
"radius": 40,
"height": 10,
"segments": 64
}
}11
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "shaft_base",
"parent_part_id": "1",
"params": {
"radius": 15,
"height": 50,
"segments": 64
}
}12
readok
2ms
args
{
"document_id": "doc_1781216431342_1",
"part_id": "1"
}13
readok
2ms
args
{
"document_id": "doc_1781216431342_1"
}14
readok
2ms
args
{
"document_id": "doc_1781216450010_3"
}15
readok
2ms
args
{
"document_id": "doc_1781216450010_3",
"part_id": "0"
}16
create_cad_loonok
4ms
args
{
"source": "[difference \n [translate -30 0 0 [cylinder 3 10]]\n [difference \n [translate 30 0 0 [cylinder 3 10]]\n [difference \n [translate 0 -30 0 [cylinder 3 10]]\n [difference \n [translate 0 30 0 [cylinder 3 10]]\n [difference \n [cylinder 7.5 60]\n [union \n [translate 0 0 10 [cylinder 15 50]]\n [cylinder 40 10]]]]]]]",
"format": "json"
}17
readok
1ms
args
{
"document_id": "doc_1781216431342_1"
}18
deleteok
2ms
args
{
"document_id": "doc_1781216431342_1",
"part_id": "1"
}19
deleteok
1ms
args
{
"document_id": "doc_1781216431342_1",
"part_id": "2"
}20
createok
2ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "flange",
"params": {
"radius": 40,
"height": 10,
"segments": 64
}
}21
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "shaft_raw",
"params": {
"radius": 15,
"height": 50,
"segments": 64
}
}22
createerr
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "translate",
"name": "shaft",
"parent_part_id": "2",
"params": {
"x": 0,
"y": 0,
"z": 10
}
}23
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "translate",
"name": "shaft",
"params": {
"child": 2,
"offset": {
"x": 0,
"y": 0,
"z": 10
}
}
}24
readok
1ms
args
{
"document_id": "doc_1781216431342_1"
}25
createok
4ms
args
{
"document_id": "doc_1781216431342_1",
"type": "union",
"name": "body",
"params": {
"left": 1,
"right": 3
}
}26
createok
2ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "bore",
"params": {
"radius": 7.5,
"height": 60,
"segments": 64
}
}27
createok
2ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "bh1_raw",
"params": {
"radius": 3,
"height": 10,
"segments": 32
}
}28
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "bh2_raw",
"params": {
"radius": 3,
"height": 10,
"segments": 32
}
}29
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "bh3_raw",
"params": {
"radius": 3,
"height": 10,
"segments": 32
}
}30
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "cylinder",
"name": "bh4_raw",
"params": {
"radius": 3,
"height": 10,
"segments": 32
}
}31
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "translate",
"name": "bh1",
"params": {
"child": 6,
"offset": {
"x": 30,
"y": 0,
"z": 0
}
}
}32
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "translate",
"name": "bh2",
"params": {
"child": 7,
"offset": {
"x": 0,
"y": 30,
"z": 0
}
}
}33
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "translate",
"name": "bh3",
"params": {
"child": 8,
"offset": {
"x": -30,
"y": 0,
"z": 0
}
}
}34
createok
1ms
args
{
"document_id": "doc_1781216431342_1",
"type": "translate",
"name": "bh4",
"params": {
"child": 9,
"offset": {
"x": 0,
"y": -30,
"z": 0
}
}
}35
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "union",
"name": "holes12",
"params": {
"left": 10,
"right": 11
}
}36
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "union",
"name": "holes123",
"params": {
"left": 14,
"right": 12
}
}37
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "union",
"name": "holes1234",
"params": {
"left": 15,
"right": 13
}
}38
createok
3ms
args
{
"document_id": "doc_1781216431342_1",
"type": "union",
"name": "all_subtract",
"params": {
"left": 5,
"right": 16
}
}39
createok
2ms
args
{
"document_id": "doc_1781216431342_1",
"type": "difference",
"name": "Flanged Hollow Shaft",
"params": {
"left": 4,
"right": 17
}
}40
readok
3ms
args
{
"document_id": "doc_1781216431342_1"
}41
get_documentok
1ms
args
{
"document_id": "doc_1781216431342_1"
}What the model built
isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260611T222031Z-9de9.vcad
.vcad source
{
"version": "0.1",
"nodes": {
"1": {
"id": 1,
"name": "flange",
"op": {
"type": "Cylinder",
"radius": 40,
"height": 10,
"segments": 64
}
},
"2": {
"id": 2,
"name": "shaft_raw",
"op": {
"type": "Cylinder",
"radius": 15,
"height": 50,
"segments": 64
}
},
"3": {
"id": 3,
"name": "shaft",
"op": {
"type": "Translate",
"child": 2,
"offset": {
"x": 0,
"y": 0,
"z": 10
}
}
},
"4": {
"id": 4,
"name": "body",
"op": {
"type": "Union",
"left": 1,
"right": 3
}
},
"5": {
"id": 5,
"name": "bore",
"op": {
"type": "Cylinder",
"radius": 7.5,
"height": 60,
"segments": 64
}
},
"6": {
"id": 6,
"name": "bh1_raw",
"op": {
"type": "Cylinder",
"radius": 3,
"height": 10,
"segments": 32
}
},
"7": {
"id": 7,
"name": "bh2_raw",
"op": {
"type": "Cylinder",
"radius": 3,
"height": 10,
"segments": 32
}
},
"8": {
"id": 8,
"name": "bh3_raw",
"op": {
"type": "Cylinder",
"radius": 3,
"height": 10,
"segments": 32
}
},
"9": {
"id": 9,
"name": "bh4_raw",
"op": {
"type": "Cylinder",
"radius": 3,
"height": 10,
"segments": 32
}
},
"10": {
"id": 10,
"name": "bh1",
"op": {
"type": "Translate",
"child": 6,
"offset": {
"x": 30,
"y": 0,
"z": 0
}
}
},
"11": {
"id": 11,
"name": "bh2",
"op": {
"type": "Translate",
"child": 7,
"offset": {
"x": 0,
"y": 30,
"z": 0
}
}
},
"12": {
"id": 12,
"name": "bh3",
"op": {
"type": "Translate",
"child": 8,
"offset": {
"x": -30,
"y": 0,
"z": 0
}
}
},
"13": {
"id": 13,
"name": "bh4",
"op": {
"type": "Translate",
"child": 9,
"offset": {
"x": 0,
"y": -30,
"z": 0
}
}
},
"14": {
"id": 14,
"name": "holes12",
"op": {
"type": "Union",
"left": 10,
"right": 11
}
},
"15": {
"id": 15,
"name": "holes123",
"op": {
"type": "Union",
"left": 14,
"right": 12
}
},
"16": {
"id": 16,
"name": "holes1234",
"op": {
"type": "Union",
"left": 15,
"right": 13
}
},
"17": {
"id": 17,
"name": "all_subtract",
"op": {
"type": "Union",
"left": 5,
"right": 16
}
},
"18": {
"id": 18,
"name": "Flanged Hollow Shaft",
"op": {
"type": "Difference",
"left": 4,
"right": 17
}
}
},
"materials": {},
"part_materials": {},
"roots": [
{
"root": 1,
"material": "default"
},
{
"root": 2,
"material": "default"
},
{
"root": 3,
"material": "default"
},
{
"root": 4,
"material": "default"
},
{
"root": 5,
"material": "default"
},
{
"root": 6,
"material": "default"
},
{
"root": 7,
"material": "default"
},
{
"root": 8,
"material": "default"
},
{
"root": 9,
"material": "default"
},
{
"root": 10,
"material": "default"
},
{
"root": 11,
"material": "default"
},
{
"root": 12,
"material": "default"
},
{
"root": 13,
"material": "default"
},
{
"root": 14,
"material": "default"
},
{
"root": 15,
"material": "default"
},
{
"root": 16,
"material": "default"
},
{
"root": 17,
"material": "default"
},
{
"root": 18,
"material": "default"
}
]
}