← mecheval / run / a4-flanged-shaft-01 / claude-mcp-claude-opus-4-7 / 20260611T222219Z-35ac

run 20260611T222219Z-35ac

a4-flanged-shaft-01 · claude-mcp-claude-opus-4-7

Summary

statusfail
score0.38 (3/8)
submissionself-run
modelclaude-mcp-claude-opus-4-7 (anthropic)
started2026-06-11T22:22:19.465Z
ended2026-06-11T22:24:34.488Z
tokens618,495 in · 6,717 out · 625,212 total
wallclock135.0s
tool calls36
task hash70d8d5eb7fc1d941…
vcad hashea4e4465e7a2fd1d…

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_solid
pass
params + details
params: {
  "type": "valid_solid"
}

details: {
  "root_count": 3,
  "solids_produced": 3
}
1
bbox
pass
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_props
fail
volume off by 131.4%
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 73874.55,
  "tolerance_pct": 1.5
}

details: {
  "volume": {
    "actual_mm3": 170941.8933364009,
    "deviation_pct": 131.3948353477631,
    "pass": false,
    "spec_mm3": 73874.55,
    "tolerance_pct": 1.5
  }
}
3
hole_count
fail
found 0/1 holes of ⌀15mm
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 15,
  "expected": 1,
  "diameter_tolerance_mm": 0.1
}

details: {
  "actual": 0,
  "diameter_mm": 15,
  "diameter_tolerance_mm": 0.1,
  "expected": 1,
  "found": []
}
4
hole_positions
fail
1/1 mispositioned
params + details
params: {
  "type": "hole_positions",
  "diameter_mm": 15,
  "positions": [
    [
      0,
      0,
      0
    ]
  ],
  "tolerance_mm": 0.2
}

details: {
  "diameter_mm": 15,
  "per_expected": [
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        0
      ]
    }
  ],
  "tolerance_mm": 0.2,
  "unmatched_extras": []
}
5
hole_count
fail
found 0/4 holes of ⌀6mm
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 6,
  "expected": 4,
  "diameter_tolerance_mm": 0.05
}

details: {
  "actual": 0,
  "diameter_mm": 6,
  "diameter_tolerance_mm": 0.05,
  "expected": 4,
  "found": []
}
6
hole_positions
fail
4/4 mispositioned
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": [
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        30,
        0
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        30
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -30,
        0
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        -30
      ]
    }
  ],
  "tolerance_mm": 0.2,
  "unmatched_extras": []
}
7
step_roundtrip
pass
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,
          60
        ],
        "original_min": [
          -15,
          -15,
          10
        ],
        "pass": true,
        "roundtripped_max": [
          15,
          15,
          60
        ],
        "roundtripped_min": [
          -15,
          -15,
          10
        ],
        "tolerance_mm": 0.9836157786453
      },
      "index": 1,
      "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": 2,
      "pass": true,
      "volume": {
        "deviation_pct": 0.4947798914784181,
        "original_mm3": 85470.94666820041,
        "pass": true,
        "roundtripped_mm3": 85048.05361102991
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
open_document
ok
1ms
args
{}
1
create
err
5ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "difference",
  "name": "Flanged Hollow Shaft",
  "params": {
    "children": [
      {
        "op": "union",
        "children": [
          {
            "op": "translate",
            "x": 0,
            "y": 0,
            "z": 0,
            "child": {
              "op": "cylinder",
              "radius": 40,
              "height": 10
            }
          },
          {
            "op": "translate",
            "x": 0,
            "y": 0,
            "z": 10,
            "child": {
              "op": "cylinder",
              "radius": 15,
              "height": 50
            }
          }
        ]
      },
      {
        "op": "translate",
        "x": 0,
        "y": 0,
        "z": 0,
        "child": {
          "op": "cylinder",
          "radius": 7.5,
          "height": 60
        }
      },
      {
        "op": "translate",
        "x": 30,
        "y": 0,
        "z": 0,
        "child": {
          "op": "cylinder",
          "radius": 3,
          "height": 10
        }
      },
      {
        "op": "translate",
        "x": -30,
        "y": 0,
        "z": 0,
        "child": {
          "op": "cylinder",
          "radius": 3,
          "height": 10
        }
      },
      {
        "op": "translate",
        "x": 0,
        "y": 30,
        "z": 0,
        "child": {
          "op": "cylinder",
          "radius": 3,
          "height": 10
        }
      },
      {
        "op": "translate",
        "x": 0,
        "y": -30,
        "z": 0,
        "child": {
          "op": "cylinder",
          "radius": 3,
          "height": 10
        }
      }
    ]
  }
}
2
create_cad_loon
ok
12ms
args
{
  "source": "[difference\n  [union\n    [translate 30 0 0 [cylinder 3 10]]\n    [union\n      [translate -30 0 0 [cylinder 3 10]]\n      [union\n        [translate 0 30 0 [cylinder 3 10]]\n        [union\n          [translate 0 -30 0 [cylinder 3 10]]\n          [cylinder 7.5 60]]]]]\n  [union\n    [cylinder 40 10]\n    [translate 0 0 10 [cylinder 15 50]]]]",
  "format": "json"
}
3
read
ok
3ms
args
{
  "document_id": "doc_1781216539631_1"
}
4
create
err
1ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "Flange",
  "params": {
    "radius": 40,
    "height": 10
  }
}
5
create
ok
5ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "Flange",
  "params": {
    "radius": 40,
    "height": 10,
    "segments": 64
  }
}
6
read
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "1"
}
7
create
err
5ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "union",
  "name": "Flange+Shaft",
  "parent_part_id": "1",
  "params": {
    "left": 1,
    "right": {
      "type": "translate",
      "offset": {
        "x": 0,
        "y": 0,
        "z": 10
      },
      "child": {
        "type": "cylinder",
        "radius": 15,
        "height": 50,
        "segments": 64
      }
    }
  }
}
8
create
ok
4ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "Shaft",
  "parent_part_id": "1",
  "params": {
    "radius": 15,
    "height": 50,
    "segments": 64
  }
}
9
read
ok
3ms
args
{
  "document_id": "doc_1781216539631_1"
}
10
delete
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "1"
}
11
delete
ok
1ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "2"
}
12
read
ok
2ms
args
{
  "document_id": "doc_1781216539631_1"
}
13
create
ok
4ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "Flange",
  "params": {
    "radius": 40,
    "height": 10,
    "segments": 64
  }
}
14
create
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "translate",
  "parent_part_id": "1",
  "params": {
    "offset": {
      "x": 0,
      "y": 0,
      "z": 10
    },
    "child": 1
  }
}
15
delete
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "2"
}
16
read
ok
3ms
args
{
  "document_id": "doc_1781216539631_1"
}
17
create
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "ShaftRaw",
  "params": {
    "radius": 15,
    "height": 50,
    "segments": 64
  }
}
18
create
err
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "translate",
  "parent_part_id": "2",
  "name": "ShaftLifted",
  "params": {
    "offset": {
      "x": 0,
      "y": 0,
      "z": 10
    }
  }
}
19
create
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "translate",
  "parent_part_id": "2",
  "name": "ShaftLifted",
  "params": {
    "offset": {
      "x": 0,
      "y": 0,
      "z": 10
    },
    "child": 2
  }
}
20
read
ok
2ms
args
{
  "document_id": "doc_1781216539631_1"
}
21
read
ok
2ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "3"
}
22
read
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "2"
}
23
delete
ok
2ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "1"
}
24
delete
ok
2ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "2"
}
25
delete
ok
1ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "3"
}
26
read
ok
2ms
args
{
  "document_id": "doc_1781216539631_1"
}
27
create
ok
1ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "Flange",
  "params": {
    "radius": 40,
    "height": 10,
    "segments": 64
  }
}
28
create
err
1ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "union",
  "parent_part_id": "1",
  "params": {
    "right": {
      "type": "Translate",
      "child": {
        "type": "Cylinder",
        "radius": 15,
        "height": 50,
        "segments": 64
      },
      "offset": {
        "x": 0,
        "y": 0,
        "z": 10
      }
    }
  }
}
29
create
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "cylinder",
  "name": "ShaftCyl",
  "params": {
    "radius": 15,
    "height": 50,
    "segments": 64
  }
}
30
create
ok
2ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "translate",
  "parent_part_id": "2",
  "params": {
    "child": 2,
    "offset": {
      "x": 0,
      "y": 0,
      "z": 10
    }
  }
}
31
read
ok
2ms
args
{
  "document_id": "doc_1781216539631_1"
}
32
delete
ok
2ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "2"
}
33
read
ok
3ms
args
{
  "document_id": "doc_1781216539631_1",
  "part_id": "3"
}
34
create
ok
4ms
args
{
  "document_id": "doc_1781216539631_1",
  "type": "union",
  "parent_part_id": "1",
  "name": "FlangeShaft",
  "params": {
    "left": 1,
    "right": 3
  }
}
35
get_document
ok
1ms
args
{
  "document_id": "doc_1781216539631_1"
}

What the model built

isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260611T222219Z-35ac.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": "ShaftCyl",
      "op": {
        "type": "Cylinder",
        "radius": 15,
        "height": 50,
        "segments": 64
      }
    },
    "3": {
      "id": 3,
      "name": null,
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": 0,
          "y": 0,
          "z": 10
        }
      }
    },
    "4": {
      "id": 4,
      "name": "FlangeShaft",
      "op": {
        "type": "Union",
        "left": 1,
        "right": 3
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    {
      "root": 1,
      "material": "default"
    },
    {
      "root": 3,
      "material": "default"
    },
    {
      "root": 4,
      "material": "default"
    }
  ]
}

generated 2026-06-19T01:47:56.086Z · static site, regenerate with npm run build -w @mecheval/leaderboard