← mecheval / run / a3-octagonal-flange-01 / openai-direct-gpt-5-mini / 20260428T232553Z-a6bb

run 20260428T232553Z-a6bb

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

Summary

statusfail
score0.83 (5/6)
submissionself-run
modelopenai-direct-gpt-5-mini (openai)
started2026-04-28T23:25:53.628Z
ended2026-04-28T23:27:30.363Z
tokens668 in · 6,430 out · 7,098 total
wallclock96.3s
tool calls1
task hash91605c57469285ce…
vcad hashbb0359638dbfd3a1…

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.289000244955,
    "deviation_pct": 0.08000804728546458,
    "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.6066017,
      10.6066017,
      5
    ],
    [
      0,
      15,
      5
    ],
    [
      -10.6066017,
      10.6066017,
      5
    ],
    [
      -15,
      0,
      5
    ],
    [
      -10.6066017,
      -10.6066017,
      5
    ],
    [
      0,
      -15,
      5
    ],
    [
      10.6066017,
      -10.6066017,
      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.004805921949010869,
      "matched_hole": [
        10.6066017,
        10.6066017
      ],
      "pass": true,
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        15
      ],
      "pass": true,
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "distance_mm": 0.004805921949010869,
      "matched_hole": [
        -10.6066017,
        10.6066017
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        -15,
        0
      ],
      "pass": true,
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "distance_mm": 0.004805921949010869,
      "matched_hole": [
        -10.6066017,
        -10.6066017
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        -15
      ],
      "pass": true,
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "distance_mm": 0.004805921949010869,
      "matched_hole": [
        10.6066017,
        -10.6066017
      ],
      "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": 7.777373434420802e-14,
        "original_mm3": 9355.289000244955,
        "pass": true,
        "roundtripped_mm3": 9355.289000244962
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
openai.chat.completions.create
ok
96298ms
args
{
  "model": "gpt-5-mini",
  "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 20260428T232553Z-a6bb.vcad

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": {
      "id": 1,
      "name": "base_cube_40x40x8",
      "op": {
        "type": "Cube",
        "size": { "x": 40, "y": 40, "z": 8 }
      }
    },
    "2": {
      "id": 2,
      "name": "center_base_xy",
      "op": {
        "type": "Translate",
        "child": 1,
        "offset": { "x": -20, "y": -20, "z": 0 }
      }
    },
    "3": {
      "id": 3,
      "name": "rot_0",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 0 }
      }
    },
    "4": {
      "id": 4,
      "name": "rot_45",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 45 }
      }
    },
    "5": {
      "id": 5,
      "name": "rot_90",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 90 }
      }
    },
    "6": {
      "id": 6,
      "name": "rot_135",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 135 }
      }
    },
    "7": {
      "id": 7,
      "name": "rot_180",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 180 }
      }
    },
    "8": {
      "id": 8,
      "name": "rot_225",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 225 }
      }
    },
    "9": {
      "id": 9,
      "name": "rot_270",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 270 }
      }
    },
    "10": {
      "id": 10,
      "name": "rot_315",
      "op": {
        "type": "Rotate",
        "child": 2,
        "angles": { "x": 0, "y": 0, "z": 315 }
      }
    },
    "11": {
      "id": 11,
      "name": "inter_0_45",
      "op": {
        "type": "Intersection",
        "left": 3,
        "right": 4
      }
    },
    "12": {
      "id": 12,
      "name": "inter_001",
      "op": {
        "type": "Intersection",
        "left": 11,
        "right": 5
      }
    },
    "13": {
      "id": 13,
      "name": "inter_002",
      "op": {
        "type": "Intersection",
        "left": 12,
        "right": 6
      }
    },
    "14": {
      "id": 14,
      "name": "inter_003",
      "op": {
        "type": "Intersection",
        "left": 13,
        "right": 7
      }
    },
    "15": {
      "id": 15,
      "name": "inter_004",
      "op": {
        "type": "Intersection",
        "left": 14,
        "right": 8
      }
    },
    "16": {
      "id": 16,
      "name": "inter_005",
      "op": {
        "type": "Intersection",
        "left": 15,
        "right": 9
      }
    },
    "17": {
      "id": 17,
      "name": "octagonal_prism",
      "op": {
        "type": "Intersection",
        "left": 16,
        "right": 10
      }
    },
    "18": {
      "id": 18,
      "name": "hole_cyl_0",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "19": {
      "id": 19,
      "name": "hole_cyl_1",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "20": {
      "id": 20,
      "name": "hole_cyl_2",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "21": {
      "id": 21,
      "name": "hole_cyl_3",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "22": {
      "id": 22,
      "name": "hole_cyl_4",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "23": {
      "id": 23,
      "name": "hole_cyl_5",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "24": {
      "id": 24,
      "name": "hole_cyl_6",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "25": {
      "id": 25,
      "name": "hole_cyl_7",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 32
      }
    },
    "26": {
      "id": 26,
      "name": "hole_pos_0",
      "op": {
        "type": "Translate",
        "child": 18,
        "offset": { "x": 15, "y": 0, "z": 0 }
      }
    },
    "27": {
      "id": 27,
      "name": "hole_pos_45",
      "op": {
        "type": "Translate",
        "child": 19,
        "offset": { "x": 10.6066017, "y": 10.6066017, "z": 0 }
      }
    },
    "28": {
      "id": 28,
      "name": "hole_pos_90",
      "op": {
        "type": "Translate",
        "child": 20,
        "offset": { "x": 0, "y": 15, "z": 0 }
      }
    },
    "29": {
      "id": 29,
      "name": "hole_pos_135",
      "op": {
        "type": "Translate",
        "child": 21,
        "offset": { "x": -10.6066017, "y": 10.6066017, "z": 0 }
      }
    },
    "30": {
      "id": 30,
      "name": "hole_pos_180",
      "op": {
        "type": "Translate",
        "child": 22,
        "offset": { "x": -15, "y": 0, "z": 0 }
      }
    },
    "31": {
      "id": 31,
      "name": "hole_pos_225",
      "op": {
        "type": "Translate",
        "child": 23,
        "offset": { "x": -10.6066017, "y": -10.6066017, "z": 0 }
      }
    },
    "32": {
      "id": 32,
      "name": "hole_pos_270",
      "op": {
        "type": "Translate",
        "child": 24,
        "offset": { "x": 0, "y": -15, "z": 0 }
      }
    },
    "33": {
      "id": 33,
      "name": "hole_pos_315",
      "op": {
        "type": "Translate",
        "child": 25,
        "offset": { "x": 10.6066017, "y": -10.6066017, "z": 0 }
      }
    },
    "34": {
      "id": 34,
      "name": "union_holes_01",
      "op": {
        "type": "Union",
        "left": 26,
        "right": 27
      }
    },
    "35": {
      "id": 35,
      "name": "union_holes_02",
      "op": {
        "type": "Union",
        "left": 34,
        "right": 28
      }
    },
    "36": {
      "id": 36,
      "name": "union_holes_03",
      "op": {
        "type": "Union",
        "left": 35,
        "right": 29
      }
    },
    "37": {
      "id": 37,
      "name": "union_holes_04",
      "op": {
        "type": "Union",
        "left": 36,
        "right": 30
      }
    },
    "38": {
      "id": 38,
      "name": "union_holes_05",
      "op": {
        "type": "Union",
        "left": 37,
        "right": 31
      }
    },
    "39": {
      "id": 39,
      "name": "union_holes_06",
      "op": {
        "type": "Union",
        "left": 38,
        "right": 32
      }
    },
    "40": {
      "id": 40,
      "name": "union_holes_final",
      "op": {
        "type": "Union",
        "left": 39,
        "right": 33
      }
    },
    "41": {
      "id": 41,
      "name": "octagonal_flange_with_holes",
      "op": {
        "type": "Difference",
        "left": 17,
        "right": 40
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    { "root": 41, "material": "default" }
  ]
}

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