← mecheval / run / a2-flanged-cap-01 / openai-direct-gpt-5 / 20260428T213024Z-27e5

run 20260428T213024Z-27e5

a2-flanged-cap-01 · openai-direct-gpt-5

Summary

statusfail
score0.86 (6/7)
submissionself-run
modelopenai-direct-gpt-5 (openai)
started2026-04-28T21:30:24.472Z
ended2026-04-28T21:31:01.074Z
tokens623 in · 2,380 out · 3,003 total
wallclock36.2s
tool calls1
task hasha438f2e4d00d25d7…
vcad hash19fc970d39f1340f…

Prompt

Make a circular flanged cap. Outer cylinder: outside diameter 60mm, height 8mm, axis along Z, base on the XY plane (z = 0 to z = 8). Concentric central through-hole of diameter 40mm, axis along Z. Six bolt holes of diameter 5mm on a 50mm bolt circle (radius 25mm from the axis), evenly spaced starting at 0 degrees, all parallel to Z and going fully through. Output a single solid.

Checks

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

details: {
  "root_count": 1,
  "solids_produced": 1
}
1
bbox
pass
params + details
params: {
  "type": "bbox",
  "min": [
    -30,
    -30,
    0
  ],
  "max": [
    30,
    30,
    8
  ],
  "tolerance_mm": 0.1
}

details: {
  "actual_max": [
    30,
    30,
    8
  ],
  "actual_min": [
    -30,
    -30,
    0
  ],
  "deviation_max": [
    0,
    0,
    0
  ],
  "deviation_min": [
    0,
    0,
    0
  ],
  "max_abs_deviation_mm": 0,
  "tolerance_mm": 0.1
}
2
mass_props
fail
volume off by 0.6%
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 11623.89,
  "center_of_mass": [
    0,
    0,
    4
  ],
  "tolerance_pct": 0.5
}

details: {
  "center_of_mass": {
    "actual": [
      -7.08737219075161e-16,
      2.444487167643495e-15,
      4.000000000000025
    ],
    "bbox_diagonal_mm": 85.22910301065006,
    "deviation": [
      -7.08737219075161e-16,
      2.444487167643495e-15,
      2.4868995751603507e-14
    ],
    "max_abs_deviation_mm": 2.4868995751603507e-14,
    "pass": true,
    "spec": [
      0,
      0,
      4
    ],
    "tolerance_mm": 0.4261455150532503
  },
  "volume": {
    "actual_mm3": 11549.34734010108,
    "deviation_pct": 0.6412884146264266,
    "pass": false,
    "spec_mm3": 11623.89,
    "tolerance_pct": 0.5
  }
}
3
hole_count
pass
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 40,
  "expected": 1,
  "diameter_tolerance_mm": 0.1
}

details: {
  "actual": 1,
  "diameter_mm": 40,
  "diameter_tolerance_mm": 0.1,
  "expected": 1,
  "found": [
    [
      0,
      0,
      40
    ]
  ]
}
4
hole_count
pass
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 5,
  "expected": 6,
  "diameter_tolerance_mm": 0.05
}

details: {
  "actual": 6,
  "diameter_mm": 5,
  "diameter_tolerance_mm": 0.05,
  "expected": 6,
  "found": [
    [
      25,
      0,
      5
    ],
    [
      12.5,
      21.650635,
      5
    ],
    [
      -12.5,
      21.650635,
      5
    ],
    [
      -25,
      0,
      5
    ],
    [
      -12.5,
      -21.650635,
      5
    ],
    [
      12.5,
      -21.650635,
      5
    ]
  ]
}
5
hole_positions
pass
params + details
params: {
  "type": "hole_positions",
  "diameter_mm": 5,
  "positions": [
    [
      25,
      0,
      0
    ],
    [
      12.5,
      21.65,
      0
    ],
    [
      -12.5,
      21.65,
      0
    ],
    [
      -25,
      0,
      0
    ],
    [
      -12.5,
      -21.65,
      0
    ],
    [
      12.5,
      -21.65,
      0
    ]
  ],
  "tolerance_mm": 0.15
}

details: {
  "diameter_mm": 5,
  "per_expected": [
    {
      "distance_mm": 0,
      "matched_hole": [
        25,
        0
      ],
      "pass": true,
      "spec_xy": [
        25,
        0
      ]
    },
    {
      "distance_mm": 0.0006350000000026057,
      "matched_hole": [
        12.5,
        21.650635
      ],
      "pass": true,
      "spec_xy": [
        12.5,
        21.65
      ]
    },
    {
      "distance_mm": 0.0006350000000026057,
      "matched_hole": [
        -12.5,
        21.650635
      ],
      "pass": true,
      "spec_xy": [
        -12.5,
        21.65
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        -25,
        0
      ],
      "pass": true,
      "spec_xy": [
        -25,
        0
      ]
    },
    {
      "distance_mm": 0.0006350000000026057,
      "matched_hole": [
        -12.5,
        -21.650635
      ],
      "pass": true,
      "spec_xy": [
        -12.5,
        -21.65
      ]
    },
    {
      "distance_mm": 0.0006350000000026057,
      "matched_hole": [
        12.5,
        -21.650635
      ],
      "pass": true,
      "spec_xy": [
        12.5,
        -21.65
      ]
    }
  ],
  "tolerance_mm": 0.15,
  "unmatched_extras": []
}
6
step_roundtrip
pass
params + details
params: {
  "type": "step_roundtrip",
  "tolerance_pct": 1
}

details: {
  "per_solid": [
    {
      "bbox": {
        "max_abs_deviation_mm": 0,
        "original_max": [
          30,
          30,
          8
        ],
        "original_min": [
          -30,
          -30,
          0
        ],
        "pass": true,
        "roundtripped_max": [
          30,
          30,
          8
        ],
        "roundtripped_min": [
          -30,
          -30,
          0
        ],
        "tolerance_mm": 0.8522910301065006
      },
      "index": 0,
      "pass": true,
      "volume": {
        "deviation_pct": 0,
        "original_mm3": 11549.347340101076,
        "pass": true,
        "roundtripped_mm3": 11549.347340101076
      }
    }
  ],
  "tolerance_pct": 1
}

Tool calls

0
openai.chat.completions.create
ok
36226ms
args
{
  "model": "gpt-5",
  "max_tokens": 8000,
  "system_chars": 1632,
  "user_chars": 441
}

What the model built

isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260428T213024Z-27e5.vcad

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": { "id": 1, "name": "body_cylinder", "op": { "type": "Cylinder", "radius": 30, "height": 8, "segments": 32 } },
    "2": { "id": 2, "name": "center_hole", "op": { "type": "Cylinder", "radius": 20, "height": 8, "segments": 32 } },
    "20": { "id": 20, "name": "bolt_hole_cyl", "op": { "type": "Cylinder", "radius": 2.5, "height": 8, "segments": 32 } },
    "21": { "id": 21, "name": "bolt_hole_0deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 25, "y": 0, "z": 0 } } },
    "22": { "id": 22, "name": "bolt_hole_60deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 12.5, "y": 21.650635, "z": 0 } } },
    "23": { "id": 23, "name": "bolt_hole_120deg", "op": { "type": "Translate", "child": 20, "offset": { "x": -12.5, "y": 21.650635, "z": 0 } } },
    "24": { "id": 24, "name": "bolt_hole_180deg", "op": { "type": "Translate", "child": 20, "offset": { "x": -25, "y": 0, "z": 0 } } },
    "25": { "id": 25, "name": "bolt_hole_240deg", "op": { "type": "Translate", "child": 20, "offset": { "x": -12.5, "y": -21.650635, "z": 0 } } },
    "26": { "id": 26, "name": "bolt_hole_300deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 12.5, "y": -21.650635, "z": 0 } } },
    "30": { "id": 30, "name": "union_center_and_hole0", "op": { "type": "Union", "left": 2, "right": 21 } },
    "31": { "id": 31, "name": "union_add_hole60", "op": { "type": "Union", "left": 30, "right": 22 } },
    "32": { "id": 32, "name": "union_add_hole120", "op": { "type": "Union", "left": 31, "right": 23 } },
    "33": { "id": 33, "name": "union_add_hole180", "op": { "type": "Union", "left": 32, "right": 24 } },
    "34": { "id": 34, "name": "union_add_hole240", "op": { "type": "Union", "left": 33, "right": 25 } },
    "35": { "id": 35, "name": "union_add_hole300", "op": { "type": "Union", "left": 34, "right": 26 } },
    "40": { "id": 40, "name": "flanged_cap", "op": { "type": "Difference", "left": 1, "right": 35 } }
  },
  "materials": {},
  "part_materials": {},
  "roots": [{ "root": 40, "material": "default" }]
}

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