← mecheval / run / a3-octagonal-flange-01 / openai-direct-gpt-5-mini / 20260428T233052Z-2da0

run 20260428T233052Z-2da0

a3-octagonal-flange-01 · openai-direct-gpt-5-mini

Summary

statusfail
score0.00 (0/6)
submissionself-run
modelopenai-direct-gpt-5-mini (openai)
started2026-04-28T23:30:52.615Z
ended2026-04-28T23:32:13.342Z
tokens668 in · 7,493 out · 8,161 total
wallclock80.7s
tool calls1
task hash91605c57469285ce…
vcad hash6de052374fb87706…

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
fail
no valid solid produced
params + details
params: {
  "type": "valid_solid"
}

details: {
  "reason": "one or more roots failed to evaluate",
  "root_failures": [
    "root[0]: kernel panic: Normals/vertices mismatch: 792 normals vs 1584 vertices"
  ],
  "solids_produced": 0
}
1
bbox
fail
? off by 0.00mm
params + details
params: {
  "type": "bbox",
  "min": [
    -21.65,
    -20,
    0
  ],
  "max": [
    21.65,
    20,
    8
  ],
  "tolerance_mm": 0.3
}

details: {
  "reason": "no valid solid to measure"
}
2
mass_props
fail
mass props off
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 9347.81,
  "tolerance_pct": 1.5
}

details: {
  "reason": "no valid solid to measure"
}
3
hole_count
fail
found 0/8 holes of ⌀5mm
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 5,
  "expected": 8,
  "diameter_tolerance_mm": 0.05
}

details: {
  "actual": 0,
  "diameter_mm": 5,
  "diameter_tolerance_mm": 0.05,
  "expected": 8,
  "found": []
}
4
hole_positions
fail
8/8 mispositioned
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": [
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        15,
        0
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        10.61,
        -10.61
      ]
    }
  ],
  "tolerance_mm": 0.2,
  "unmatched_extras": []
}
5
step_roundtrip
fail
STEP roundtrip failed
params + details
params: {
  "type": "step_roundtrip",
  "tolerance_pct": 1.5
}

details: {
  "reason": "no valid solid to round-trip"
}

Tool calls

0
openai.chat.completions.create
ok
80689ms
args
{
  "model": "gpt-5-mini",
  "max_tokens": 8000,
  "system_chars": 1674,
  "user_chars": 564
}

What the model built

no render available — vcad-render did not produce geometry for this attempt

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": { "id": 1, "name": "slab_cube_0", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "2": { "id": 2, "name": "slab_cube_45", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "3": { "id": 3, "name": "slab_cube_90", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "4": { "id": 4, "name": "slab_cube_135", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "5": { "id": 5, "name": "slab_cube_180", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "6": { "id": 6, "name": "slab_cube_225", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "7": { "id": 7, "name": "slab_cube_270", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },
    "8": { "id": 8, "name": "slab_cube_315", "op": { "type": "Cube", "size": { "x": 140, "y": 400, "z": 8 } } },

    "9": { "id": 9, "name": "rotate_0", "op": { "type": "Rotate", "child": 1, "angles": { "x": 0, "y": 0, "z": 0 } } },
    "10": { "id": 10, "name": "rotate_45", "op": { "type": "Rotate", "child": 2, "angles": { "x": 0, "y": 0, "z": 45 } } },
    "11": { "id": 11, "name": "rotate_90", "op": { "type": "Rotate", "child": 3, "angles": { "x": 0, "y": 0, "z": 90 } } },
    "12": { "id": 12, "name": "rotate_135", "op": { "type": "Rotate", "child": 4, "angles": { "x": 0, "y": 0, "z": 135 } } },
    "13": { "id": 13, "name": "rotate_180", "op": { "type": "Rotate", "child": 5, "angles": { "x": 0, "y": 0, "z": 180 } } },
    "14": { "id": 14, "name": "rotate_225", "op": { "type": "Rotate", "child": 6, "angles": { "x": 0, "y": 0, "z": 225 } } },
    "15": { "id": 15, "name": "rotate_270", "op": { "type": "Rotate", "child": 7, "angles": { "x": 0, "y": 0, "z": 270 } } },
    "16": { "id": 16, "name": "rotate_315", "op": { "type": "Rotate", "child": 8, "angles": { "x": 0, "y": 0, "z": 315 } } },

    "17": { "id": 17, "name": "translate_slab_0", "op": { "type": "Translate", "child": 9, "offset": { "x": -120, "y": 0, "z": 0 } } },
    "18": { "id": 18, "name": "translate_slab_45", "op": { "type": "Translate", "child": 10, "offset": { "x": -84.8528137423857, "y": -84.8528137423857, "z": 0 } } },
    "19": { "id": 19, "name": "translate_slab_90", "op": { "type": "Translate", "child": 11, "offset": { "x": 0, "y": -120, "z": 0 } } },
    "20": { "id": 20, "name": "translate_slab_135", "op": { "type": "Translate", "child": 12, "offset": { "x": 84.8528137423857, "y": -84.8528137423857, "z": 0 } } },
    "21": { "id": 21, "name": "translate_slab_180", "op": { "type": "Translate", "child": 13, "offset": { "x": 120, "y": 0, "z": 0 } } },
    "22": { "id": 22, "name": "translate_slab_225", "op": { "type": "Translate", "child": 14, "offset": { "x": 84.8528137423857, "y": 84.8528137423857, "z": 0 } } },
    "23": { "id": 23, "name": "translate_slab_270", "op": { "type": "Translate", "child": 15, "offset": { "x": 0, "y": 120, "z": 0 } } },
    "24": { "id": 24, "name": "translate_slab_315", "op": { "type": "Translate", "child": 16, "offset": { "x": -84.8528137423857, "y": 84.8528137423857, "z": 0 } } },

    "25": { "id": 25, "name": "intersect_1_2", "op": { "type": "Intersection", "left": 17, "right": 18 } },
    "26": { "id": 26, "name": "intersect_12_3", "op": { "type": "Intersection", "left": 25, "right": 19 } },
    "27": { "id": 27, "name": "intersect_123_4", "op": { "type": "Intersection", "left": 26, "right": 20 } },
    "28": { "id": 28, "name": "intersect_1234_5", "op": { "type": "Intersection", "left": 27, "right": 21 } },
    "29": { "id": 29, "name": "intersect_12345_6", "op": { "type": "Intersection", "left": 28, "right": 22 } },
    "30": { "id": 30, "name": "intersect_123456_7", "op": { "type": "Intersection", "left": 29, "right": 23 } },
    "31": { "id": 31, "name": "octagonal_prism_base", "op": { "type": "Intersection", "left": 30, "right": 24 } },

    "32": { "id": 32, "name": "cyl_hole_0", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "33": { "id": 33, "name": "cyl_hole_45", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "34": { "id": 34, "name": "cyl_hole_90", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "35": { "id": 35, "name": "cyl_hole_135", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "36": { "id": 36, "name": "cyl_hole_180", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "37": { "id": 37, "name": "cyl_hole_225", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "38": { "id": 38, "name": "cyl_hole_270", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },
    "39": { "id": 39, "name": "cyl_hole_315", "op": { "type": "Cylinder", "radius": 2.5, "height": 10, "segments": 32 } },

    "40": { "id": 40, "name": "place_hole_0", "op": { "type": "Translate", "child": 32, "offset": { "x": 15, "y": 0, "z": -1 } } },
    "41": { "id": 41, "name": "place_hole_45", "op": { "type": "Translate", "child": 33, "offset": { "x": 10.606601717798213, "y": 10.606601717798213, "z": -1 } } },
    "42": { "id": 42, "name": "place_hole_90", "op": { "type": "Translate", "child": 34, "offset": { "x": 0, "y": 15, "z": -1 } } },
    "43": { "id": 43, "name": "place_hole_135", "op": { "type": "Translate", "child": 35, "offset": { "x": -10.606601717798213, "y": 10.606601717798213, "z": -1 } } },
    "44": { "id": 44, "name": "place_hole_180", "op": { "type": "Translate", "child": 36, "offset": { "x": -15, "y": 0, "z": -1 } } },
    "45": { "id": 45, "name": "place_hole_225", "op": { "type": "Translate", "child": 37, "offset": { "x": -10.606601717798213, "y": -10.606601717798213, "z": -1 } } },
    "46": { "id": 46, "name": "place_hole_270", "op": { "type": "Translate", "child": 38, "offset": { "x": 0, "y": -15, "z": -1 } } },
    "47": { "id": 47, "name": "place_hole_315", "op": { "type": "Translate", "child": 39, "offset": { "x": 10.606601717798213, "y": -10.606601717798213, "z": -1 } } },

    "48": { "id": 48, "name": "union_holes_1", "op": { "type": "Union", "left": 40, "right": 41 } },
    "49": { "id": 49, "name": "union_holes_2", "op": { "type": "Union", "left": 48, "right": 42 } },
    "50": { "id": 50, "name": "union_holes_3", "op": { "type": "Union", "left": 49, "right": 43 } },
    "51": { "id": 51, "name": "union_holes_4", "op": { "type": "Union", "left": 50, "right": 44 } },
    "52": { "id": 52, "name": "union_holes_5", "op": { "type": "Union", "left": 51, "right": 45 } },
    "53": { "id": 53, "name": "union_holes_6", "op": { "type": "Union", "left": 52, "right": 46 } },
    "54": { "id": 54, "name": "union_holes_all", "op": { "type": "Union", "left": 53, "right": 47 } },

    "55": { "id": 55, "name": "octagonal_flange_with_holes", "op": { "type": "Difference", "left": 31, "right": 54 } }
  },
  "materials": {},
  "part_materials": {},
  "roots": [ { "root": 55, "material": "default" } ]
}

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