← mecheval / run / a3-octagonal-flange-01 / claude-direct-claude-sonnet-4-6 / 20260428T232601Z-f5d4

run 20260428T232601Z-f5d4

a3-octagonal-flange-01 · claude-direct-claude-sonnet-4-6

Summary

statusfail
score0.83 (5/6)
submissionself-run
modelclaude-direct-claude-sonnet-4-6 (anthropic)
started2026-04-28T23:26:01.311Z
ended2026-04-28T23:26:29.012Z
tokens740 in · 2,298 out · 3,038 total
wallclock27.3s
tool calls1
task hash91605c57469285ce…
vcad hashc4cf9b09a5016710…

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
pass
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 9347.81,
  "tolerance_pct": 1.5
}

details: {
  "volume": {
    "actual_mm3": 9355.289197544565,
    "deviation_pct": 0.0800101579360939,
    "pass": true,
    "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.607,
      10.607,
      5
    ],
    [
      0,
      15,
      5
    ],
    [
      -10.607,
      10.607,
      5
    ],
    [
      -15,
      0,
      5
    ],
    [
      -10.607,
      -10.607,
      5
    ],
    [
      0,
      -15,
      5
    ],
    [
      10.607,
      -10.607,
      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.004242640687119446,
      "matched_hole": [
        10.607,
        10.607
      ],
      "pass": true,
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        15
      ],
      "pass": true,
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "distance_mm": 0.004242640687119446,
      "matched_hole": [
        -10.607,
        10.607
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        -15,
        0
      ],
      "pass": true,
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "distance_mm": 0.004242640687119446,
      "matched_hole": [
        -10.607,
        -10.607
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        -15
      ],
      "pass": true,
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "distance_mm": 0.004242640687119446,
      "matched_hole": [
        10.607,
        -10.607
      ],
      "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": 9355.289197544565,
        "pass": true,
        "roundtripped_mm3": 9355.289197544565
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
anthropic.messages.create
ok
27292ms
args
{
  "model": "claude-sonnet-4-6",
  "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 20260428T232601Z-f5d4.vcad

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1":  {"id":1,  "name":"slab_h",      "op":{"type":"Cube","size":{"x":100,"y":40,"z":8}}},
    "2":  {"id":2,  "name":"slab_h_t",    "op":{"type":"Translate","child":1,"offset":{"x":-50,"y":-20,"z":0}}},
    "3":  {"id":3,  "name":"slab_v",      "op":{"type":"Cube","size":{"x":40,"y":100,"z":8}}},
    "4":  {"id":4,  "name":"slab_v_t",    "op":{"type":"Translate","child":3,"offset":{"x":-20,"y":-50,"z":0}}},
    "5":  {"id":5,  "name":"slab_d1",     "op":{"type":"Cube","size":{"x":100,"y":40,"z":8}}},
    "6":  {"id":6,  "name":"slab_d1_t",   "op":{"type":"Translate","child":5,"offset":{"x":-50,"y":-20,"z":0}}},
    "7":  {"id":7,  "name":"slab_d1_r",   "op":{"type":"Rotate","child":6,"angles":{"x":0,"y":0,"z":45}}},
    "8":  {"id":8,  "name":"slab_d2",     "op":{"type":"Cube","size":{"x":100,"y":40,"z":8}}},
    "9":  {"id":9,  "name":"slab_d2_t",   "op":{"type":"Translate","child":8,"offset":{"x":-50,"y":-20,"z":0}}},
    "10": {"id":10, "name":"slab_d2_r",   "op":{"type":"Rotate","child":9,"angles":{"x":0,"y":0,"z":-45}}},
    "11": {"id":11, "name":"oct_i1",      "op":{"type":"Intersection","left":2,"right":4}},
    "12": {"id":12, "name":"oct_i2",      "op":{"type":"Intersection","left":11,"right":7}},
    "13": {"id":13, "name":"oct_body",    "op":{"type":"Intersection","left":12,"right":10}},
    "20": {"id":20, "name":"cyl0",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "21": {"id":21, "name":"hole0",       "op":{"type":"Translate","child":20,"offset":{"x":15,"y":0,"z":0}}},
    "22": {"id":22, "name":"cyl1",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "23": {"id":23, "name":"hole1",       "op":{"type":"Translate","child":22,"offset":{"x":10.607,"y":10.607,"z":0}}},
    "24": {"id":24, "name":"cyl2",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "25": {"id":25, "name":"hole2",       "op":{"type":"Translate","child":24,"offset":{"x":0,"y":15,"z":0}}},
    "26": {"id":26, "name":"cyl3",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "27": {"id":27, "name":"hole3",       "op":{"type":"Translate","child":26,"offset":{"x":-10.607,"y":10.607,"z":0}}},
    "28": {"id":28, "name":"cyl4",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "29": {"id":29, "name":"hole4",       "op":{"type":"Translate","child":28,"offset":{"x":-15,"y":0,"z":0}}},
    "30": {"id":30, "name":"cyl5",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "31": {"id":31, "name":"hole5",       "op":{"type":"Translate","child":30,"offset":{"x":-10.607,"y":-10.607,"z":0}}},
    "32": {"id":32, "name":"cyl6",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "33": {"id":33, "name":"hole6",       "op":{"type":"Translate","child":32,"offset":{"x":0,"y":-15,"z":0}}},
    "34": {"id":34, "name":"cyl7",        "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "35": {"id":35, "name":"hole7",       "op":{"type":"Translate","child":34,"offset":{"x":10.607,"y":-10.607,"z":0}}},
    "40": {"id":40, "name":"holes_u1",    "op":{"type":"Union","left":21,"right":23}},
    "41": {"id":41, "name":"holes_u2",    "op":{"type":"Union","left":40,"right":25}},
    "42": {"id":42, "name":"holes_u3",    "op":{"type":"Union","left":41,"right":27}},
    "43": {"id":43, "name":"holes_u4",    "op":{"type":"Union","left":42,"right":29}},
    "44": {"id":44, "name":"holes_u5",    "op":{"type":"Union","left":43,"right":31}},
    "45": {"id":45, "name":"holes_u6",    "op":{"type":"Union","left":44,"right":33}},
    "46": {"id":46, "name":"holes_all",   "op":{"type":"Union","left":45,"right":35}},
    "50": {"id":50, "name":"flange",      "op":{"type":"Difference","left":13,"right":46}}
  },
  "materials": {},
  "part_materials": {},
  "roots": [{"root":50,"material":"default"}]
}

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