← mecheval / run / a3-octagonal-flange-01 / claude-direct-claude-sonnet-4-6 / 20260428T232629Z-c8fe

run 20260428T232629Z-c8fe

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:29.048Z
ended2026-04-28T23:26:55.436Z
tokens740 in · 2,040 out · 2,780 total
wallclock25.9s
tool calls1
task hash91605c57469285ce…
vcad hash78d42f3891c7f1dc…

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.289084146842,
    "deviation_pct": 0.08000894484207606,
    "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.6066,
      10.6066,
      5
    ],
    [
      0,
      15,
      5
    ],
    [
      -10.6066,
      10.6066,
      5
    ],
    [
      -15,
      0,
      5
    ],
    [
      -10.6066,
      -10.6066,
      5
    ],
    [
      0,
      -15,
      5
    ],
    [
      10.6066,
      -10.6066,
      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.004808326112067366,
      "matched_hole": [
        10.6066,
        10.6066
      ],
      "pass": true,
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        15
      ],
      "pass": true,
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "distance_mm": 0.004808326112067366,
      "matched_hole": [
        -10.6066,
        10.6066
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        -15,
        0
      ],
      "pass": true,
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "distance_mm": 0.004808326112067366,
      "matched_hole": [
        -10.6066,
        -10.6066
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        -15
      ],
      "pass": true,
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "distance_mm": 0.004808326112067366,
      "matched_hole": [
        10.6066,
        -10.6066
      ],
      "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.289084146842,
        "pass": true,
        "roundtripped_mm3": 9355.289084146842
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
anthropic.messages.create
ok
25895ms
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 20260428T232629Z-c8fe.vcad

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1":  {"id":1,  "name":"box1",        "op":{"type":"Cube","size":{"x":40,"y":40,"z":8}}},
    "2":  {"id":2,  "name":"box1_center", "op":{"type":"Translate","child":1,"offset":{"x":-20,"y":-20,"z":0}}},
    "3":  {"id":3,  "name":"box2",        "op":{"type":"Cube","size":{"x":40,"y":40,"z":8}}},
    "4":  {"id":4,  "name":"box2_center", "op":{"type":"Translate","child":3,"offset":{"x":-20,"y":-20,"z":0}}},
    "5":  {"id":5,  "name":"box2_rot",    "op":{"type":"Rotate","child":4,"angles":{"x":0,"y":0,"z":45}}},
    "6":  {"id":6,  "name":"octagon",     "op":{"type":"Intersection","left":2,"right":5}},
    "7":  {"id":7,  "name":"h0_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "8":  {"id":8,  "name":"h0",          "op":{"type":"Translate","child":7,"offset":{"x":15,"y":0,"z":0}}},
    "9":  {"id":9,  "name":"h1_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "10": {"id":10, "name":"h1",          "op":{"type":"Translate","child":9,"offset":{"x":10.6066,"y":10.6066,"z":0}}},
    "11": {"id":11, "name":"h2_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "12": {"id":12, "name":"h2",          "op":{"type":"Translate","child":11,"offset":{"x":0,"y":15,"z":0}}},
    "13": {"id":13, "name":"h3_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "14": {"id":14, "name":"h3",          "op":{"type":"Translate","child":13,"offset":{"x":-10.6066,"y":10.6066,"z":0}}},
    "15": {"id":15, "name":"h4_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "16": {"id":16, "name":"h4",          "op":{"type":"Translate","child":15,"offset":{"x":-15,"y":0,"z":0}}},
    "17": {"id":17, "name":"h5_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "18": {"id":18, "name":"h5",          "op":{"type":"Translate","child":17,"offset":{"x":-10.6066,"y":-10.6066,"z":0}}},
    "19": {"id":19, "name":"h6_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "20": {"id":20, "name":"h6",          "op":{"type":"Translate","child":19,"offset":{"x":0,"y":-15,"z":0}}},
    "21": {"id":21, "name":"h7_cyl",      "op":{"type":"Cylinder","radius":2.5,"height":8,"segments":32}},
    "22": {"id":22, "name":"h7",          "op":{"type":"Translate","child":21,"offset":{"x":10.6066,"y":-10.6066,"z":0}}},
    "23": {"id":23, "name":"d1",          "op":{"type":"Difference","left":6,"right":8}},
    "24": {"id":24, "name":"d2",          "op":{"type":"Difference","left":23,"right":10}},
    "25": {"id":25, "name":"d3",          "op":{"type":"Difference","left":24,"right":12}},
    "26": {"id":26, "name":"d4",          "op":{"type":"Difference","left":25,"right":14}},
    "27": {"id":27, "name":"d5",          "op":{"type":"Difference","left":26,"right":16}},
    "28": {"id":28, "name":"d6",          "op":{"type":"Difference","left":27,"right":18}},
    "29": {"id":29, "name":"d7",          "op":{"type":"Difference","left":28,"right":20}},
    "30": {"id":30, "name":"flange",      "op":{"type":"Difference","left":29,"right":22}}
  },
  "materials": {},
  "part_materials": {},
  "roots": [{"root":30,"material":"default"}]
}

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