← mecheval / run / a3-octagonal-flange-01 / claude-direct-claude-opus-4-7 / 20260428T231926Z-6a9d

run 20260428T231926Z-6a9d

a3-octagonal-flange-01 · claude-direct-claude-opus-4-7

Summary

statusfail
score0.67 (4/6)
submissionself-run
modelclaude-direct-claude-opus-4-7 (anthropic)
started2026-04-28T23:19:26.253Z
ended2026-04-28T23:19:50.681Z
tokens972 in · 3,203 out · 4,175 total
wallclock23.9s
tool calls1
task hash91605c57469285ce…
vcad hash0d9f89a50ba4af8e…

Prompt

Make an octagonal prism flange. The outer cross-section is a regular octagon with flat-to-flat distance 40mm (apothem 20mm), oriented so two flats are parallel to the X axis (the top and bottom of the octagon). Height 8mm along Z, base on the XY plane (z = 0 to z = 8). Drill eight through-holes of diameter 5mm, axes parallel to Z, on a bolt circle of radius 15mm centered on the Z axis. The first bolt hole is on the +X axis, and the rest are evenly spaced every 45 degrees. Output a single solid.

Checks

0
valid_solid
pass
params + details
params: {
  "type": "valid_solid"
}

details: {
  "root_count": 1,
  "solids_produced": 1
}
1
bbox
fail
X off by -1.65mm
params + details
params: {
  "type": "bbox",
  "min": [
    -21.65,
    -20,
    0
  ],
  "max": [
    21.65,
    20,
    8
  ],
  "tolerance_mm": 0.3
}

details: {
  "actual_max": [
    20,
    20,
    8
  ],
  "actual_min": [
    -20,
    -20,
    0
  ],
  "deviation_max": [
    -1.6499999999999986,
    0,
    0
  ],
  "deviation_min": [
    1.6499999999999986,
    0,
    0
  ],
  "max_abs_deviation_mm": 1.6499999999999986,
  "tolerance_mm": 0.3
}
2
mass_props
fail
volume off by 48.8%
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 9347.81,
  "tolerance_pct": 1.5
}

details: {
  "volume": {
    "actual_mm3": 4783.200591810526,
    "deviation_pct": 48.83078933129229,
    "pass": false,
    "spec_mm3": 9347.81,
    "tolerance_pct": 1.5
  }
}
3
hole_count
pass
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 5,
  "expected": 8,
  "diameter_tolerance_mm": 0.05
}

details: {
  "actual": 8,
  "diameter_mm": 5,
  "diameter_tolerance_mm": 0.05,
  "expected": 8,
  "found": [
    [
      15,
      0,
      5
    ],
    [
      10.6066017178,
      10.6066017178,
      5
    ],
    [
      0,
      15,
      5
    ],
    [
      -10.6066017178,
      10.6066017178,
      5
    ],
    [
      -15,
      0,
      5
    ],
    [
      -10.6066017178,
      -10.6066017178,
      5
    ],
    [
      0,
      -15,
      5
    ],
    [
      10.6066017178,
      -10.6066017178,
      5
    ]
  ]
}
4
hole_positions
pass
params + details
params: {
  "type": "hole_positions",
  "diameter_mm": 5,
  "positions": [
    [
      15,
      0,
      0
    ],
    [
      10.61,
      10.61,
      0
    ],
    [
      0,
      15,
      0
    ],
    [
      -10.61,
      10.61,
      0
    ],
    [
      -15,
      0,
      0
    ],
    [
      -10.61,
      -10.61,
      0
    ],
    [
      0,
      -15,
      0
    ],
    [
      10.61,
      -10.61,
      0
    ]
  ],
  "tolerance_mm": 0.2
}

details: {
  "diameter_mm": 5,
  "per_expected": [
    {
      "distance_mm": 0,
      "matched_hole": [
        15,
        0
      ],
      "pass": true,
      "spec_xy": [
        15,
        0
      ]
    },
    {
      "distance_mm": 0.004805896776009889,
      "matched_hole": [
        10.6066017178,
        10.6066017178
      ],
      "pass": true,
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        15
      ],
      "pass": true,
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "distance_mm": 0.004805896776009889,
      "matched_hole": [
        -10.6066017178,
        10.6066017178
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        -15,
        0
      ],
      "pass": true,
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "distance_mm": 0.004805896776009889,
      "matched_hole": [
        -10.6066017178,
        -10.6066017178
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        -15
      ],
      "pass": true,
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "distance_mm": 0.004805896776009889,
      "matched_hole": [
        10.6066017178,
        -10.6066017178
      ],
      "pass": true,
      "spec_xy": [
        10.61,
        -10.61
      ]
    }
  ],
  "tolerance_mm": 0.2,
  "unmatched_extras": []
}
5
step_roundtrip
pass
params + details
params: {
  "type": "step_roundtrip",
  "tolerance_pct": 1.5
}

details: {
  "per_solid": [
    {
      "bbox": {
        "max_abs_deviation_mm": 0,
        "original_max": [
          20,
          20,
          8
        ],
        "original_min": [
          -20,
          -20,
          0
        ],
        "pass": true,
        "roundtripped_max": [
          20,
          20,
          8
        ],
        "roundtripped_min": [
          -20,
          -20,
          0
        ],
        "tolerance_mm": 0.856971411425142
      },
      "index": 0,
      "pass": true,
      "volume": {
        "deviation_pct": 0,
        "original_mm3": 4783.200591810526,
        "pass": true,
        "roundtripped_mm3": 4783.200591810526
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
anthropic.messages.create
ok
23897ms
args
{
  "model": "claude-opus-4-7",
  "max_tokens": 8000,
  "system_chars": 1674,
  "user_chars": 564
}

What the model built

isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260428T231926Z-6a9d.vcad

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": {"id": 1, "name": "slab", "op": {"type": "Cube", "size": {"x": 60, "y": 60, "z": 8}}},
    "2": {"id": 2, "name": "slab_centered", "op": {"type": "Translate", "child": 1, "offset": {"x": -30, "y": -30, "z": 0}}},

    "10": {"id": 10, "name": "cut1_box", "op": {"type": "Cube", "size": {"x": 100, "y": 100, "z": 20}}},
    "11": {"id": 11, "name": "cut1_t", "op": {"type": "Translate", "child": 10, "offset": {"x": -50, "y": 20, "z": -1}}},

    "12": {"id": 12, "name": "cut2_box", "op": {"type": "Cube", "size": {"x": 100, "y": 100, "z": 20}}},
    "13": {"id": 13, "name": "cut2_t", "op": {"type": "Translate", "child": 12, "offset": {"x": -50, "y": -120, "z": -1}}},

    "14": {"id": 14, "name": "cut3_box", "op": {"type": "Cube", "size": {"x": 100, "y": 100, "z": 20}}},
    "15": {"id": 15, "name": "cut3_t", "op": {"type": "Translate", "child": 14, "offset": {"x": 20, "y": -50, "z": -1}}},

    "16": {"id": 16, "name": "cut4_box", "op": {"type": "Cube", "size": {"x": 100, "y": 100, "z": 20}}},
    "17": {"id": 17, "name": "cut4_t", "op": {"type": "Translate", "child": 16, "offset": {"x": -120, "y": -50, "z": -1}}},

    "20": {"id": 20, "name": "cut5_box", "op": {"type": "Cube", "size": {"x": 200, "y": 100, "z": 20}}},
    "21": {"id": 21, "name": "cut5_t", "op": {"type": "Translate", "child": 20, "offset": {"x": -100, "y": 20, "z": -1}}},
    "22": {"id": 22, "name": "cut5_r", "op": {"type": "Rotate", "child": 21, "angles": {"x": 0, "y": 0, "z": 45}}},

    "23": {"id": 23, "name": "cut6_box", "op": {"type": "Cube", "size": {"x": 200, "y": 100, "z": 20}}},
    "24": {"id": 24, "name": "cut6_t", "op": {"type": "Translate", "child": 23, "offset": {"x": -100, "y": 20, "z": -1}}},
    "25": {"id": 25, "name": "cut6_r", "op": {"type": "Rotate", "child": 24, "angles": {"x": 0, "y": 0, "z": 135}}},

    "26": {"id": 26, "name": "cut7_box", "op": {"type": "Cube", "size": {"x": 200, "y": 100, "z": 20}}},
    "27": {"id": 27, "name": "cut7_t", "op": {"type": "Translate", "child": 26, "offset": {"x": -100, "y": 20, "z": -1}}},
    "28": {"id": 28, "name": "cut7_r", "op": {"type": "Rotate", "child": 27, "angles": {"x": 0, "y": 0, "z": -45}}},

    "29": {"id": 29, "name": "cut8_box", "op": {"type": "Cube", "size": {"x": 200, "y": 100, "z": 20}}},
    "30": {"id": 30, "name": "cut8_t", "op": {"type": "Translate", "child": 29, "offset": {"x": -100, "y": 20, "z": -1}}},
    "31": {"id": 31, "name": "cut8_r", "op": {"type": "Rotate", "child": 30, "angles": {"x": 0, "y": 0, "z": -135}}},

    "40": {"id": 40, "name": "d1", "op": {"type": "Difference", "left": 2, "right": 11}},
    "41": {"id": 41, "name": "d2", "op": {"type": "Difference", "left": 40, "right": 13}},
    "42": {"id": 42, "name": "d3", "op": {"type": "Difference", "left": 41, "right": 15}},
    "43": {"id": 43, "name": "d4", "op": {"type": "Difference", "left": 42, "right": 17}},
    "44": {"id": 44, "name": "d5", "op": {"type": "Difference", "left": 43, "right": 22}},
    "45": {"id": 45, "name": "d6", "op": {"type": "Difference", "left": 44, "right": 25}},
    "46": {"id": 46, "name": "d7", "op": {"type": "Difference", "left": 45, "right": 28}},
    "47": {"id": 47, "name": "octagon", "op": {"type": "Difference", "left": 46, "right": 31}},

    "100": {"id": 100, "name": "hole_cyl_1", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "101": {"id": 101, "name": "hole1", "op": {"type": "Translate", "child": 100, "offset": {"x": 15.0, "y": 0.0, "z": -1}}},

    "102": {"id": 102, "name": "hole_cyl_2", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "103": {"id": 103, "name": "hole2", "op": {"type": "Translate", "child": 102, "offset": {"x": 10.6066017178, "y": 10.6066017178, "z": -1}}},

    "104": {"id": 104, "name": "hole_cyl_3", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "105": {"id": 105, "name": "hole3", "op": {"type": "Translate", "child": 104, "offset": {"x": 0.0, "y": 15.0, "z": -1}}},

    "106": {"id": 106, "name": "hole_cyl_4", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "107": {"id": 107, "name": "hole4", "op": {"type": "Translate", "child": 106, "offset": {"x": -10.6066017178, "y": 10.6066017178, "z": -1}}},

    "108": {"id": 108, "name": "hole_cyl_5", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "109": {"id": 109, "name": "hole5", "op": {"type": "Translate", "child": 108, "offset": {"x": -15.0, "y": 0.0, "z": -1}}},

    "110": {"id": 110, "name": "hole_cyl_6", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "111": {"id": 111, "name": "hole6", "op": {"type": "Translate", "child": 110, "offset": {"x": -10.6066017178, "y": -10.6066017178, "z": -1}}},

    "112": {"id": 112, "name": "hole_cyl_7", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "113": {"id": 113, "name": "hole7", "op": {"type": "Translate", "child": 112, "offset": {"x": 0.0, "y": -15.0, "z": -1}}},

    "114": {"id": 114, "name": "hole_cyl_8", "op": {"type": "Cylinder", "radius": 2.5, "height": 20, "segments": 32}},
    "115": {"id": 115, "name": "hole8", "op": {"type": "Translate", "child": 114, "offset": {"x": 10.6066017178, "y": -10.6066017178, "z": -1}}},

    "200": {"id": 200, "name": "h1", "op": {"type": "Difference", "left": 47, "right": 101}},
    "201": {"id": 201, "name": "h2", "op": {"type": "Difference", "left": 200, "right": 103}},
    "202": {"id": 202, "name": "h3", "op": {"type": "Difference", "left": 201, "right": 105}},
    "203": {"id": 203, "name": "h4", "op": {"type": "Difference", "left": 202, "right": 107}},
    "204": {"id": 204, "name": "h5", "op": {"type": "Difference", "left": 203, "right": 109}},
    "205": {"id": 205, "name": "h6", "op": {"type": "Difference", "left": 204, "right": 111}},
    "206": {"id": 206, "name": "h7", "op": {"type": "Difference", "left": 205, "right": 113}},
    "207": {"id": 207, "name": "flange", "op": {"type": "Difference", "left": 206, "right": 115}}
  },
  "materials": {},
  "part_materials": {},
  "roots": [{"root": 207, "material": "default"}]
}

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