← mecheval / run / a2-bolt-circle-block-01 / openai-direct-gpt-5-mini / 20260428T214848Z-5917

run 20260428T214848Z-5917

a2-bolt-circle-block-01 · openai-direct-gpt-5-mini

Summary

statusPASS
score1.00 (6/6)
submissionself-run
modelopenai-direct-gpt-5-mini (openai)
started2026-04-28T21:48:48.426Z
ended2026-04-28T21:49:16.566Z
tokens633 in · 3,214 out · 3,847 total
wallclock27.7s
tool calls1
task hash5478fe0e89d6ecbb…
vcad hashf73b7e466167eb98…

Prompt

Make a square block 60mm × 60mm × 10mm. Center it in X and Y, with the bottom face on the XY plane (z = 0 to z = 10). Drill eight through-holes of diameter 5mm, axes parallel to Z, on a bolt circle of radius 20mm centered on the Z axis. Holes are evenly spaced every 45 degrees, with the first hole on the +X axis. 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,
    10
  ],
  "tolerance_mm": 0.1
}

details: {
  "actual_max": [
    30,
    30,
    10
  ],
  "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
pass
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 34429.2,
  "tolerance_pct": 0.5
}

details: {
  "volume": {
    "actual_mm3": 34439.27747000077,
    "deviation_pct": 0.029270125360958334,
    "pass": true,
    "spec_mm3": 34429.2,
    "tolerance_pct": 0.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": [
    [
      20,
      0,
      5
    ],
    [
      14.142136,
      14.142136,
      5
    ],
    [
      0,
      20,
      5
    ],
    [
      -14.142136,
      14.142136,
      5
    ],
    [
      -20,
      0,
      5
    ],
    [
      -14.142136,
      -14.142136,
      5
    ],
    [
      0,
      -20,
      5
    ],
    [
      14.142136,
      -14.142136,
      5
    ]
  ]
}
4
hole_positions
pass
params + details
params: {
  "type": "hole_positions",
  "diameter_mm": 5,
  "positions": [
    [
      20,
      0,
      0
    ],
    [
      14.14,
      14.14,
      0
    ],
    [
      0,
      20,
      0
    ],
    [
      -14.14,
      14.14,
      0
    ],
    [
      -20,
      0,
      0
    ],
    [
      -14.14,
      -14.14,
      0
    ],
    [
      0,
      -20,
      0
    ],
    [
      14.14,
      -14.14,
      0
    ]
  ],
  "tolerance_mm": 0.2
}

details: {
  "diameter_mm": 5,
  "per_expected": [
    {
      "distance_mm": 0,
      "matched_hole": [
        20,
        0
      ],
      "pass": true,
      "spec_xy": [
        20,
        0
      ]
    },
    {
      "distance_mm": 0.003020760169229126,
      "matched_hole": [
        14.142136,
        14.142136
      ],
      "pass": true,
      "spec_xy": [
        14.14,
        14.14
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        20
      ],
      "pass": true,
      "spec_xy": [
        0,
        20
      ]
    },
    {
      "distance_mm": 0.003020760169229126,
      "matched_hole": [
        -14.142136,
        14.142136
      ],
      "pass": true,
      "spec_xy": [
        -14.14,
        14.14
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        -20,
        0
      ],
      "pass": true,
      "spec_xy": [
        -20,
        0
      ]
    },
    {
      "distance_mm": 0.003020760169229126,
      "matched_hole": [
        -14.142136,
        -14.142136
      ],
      "pass": true,
      "spec_xy": [
        -14.14,
        -14.14
      ]
    },
    {
      "distance_mm": 0,
      "matched_hole": [
        0,
        -20
      ],
      "pass": true,
      "spec_xy": [
        0,
        -20
      ]
    },
    {
      "distance_mm": 0.003020760169229126,
      "matched_hole": [
        14.142136,
        -14.142136
      ],
      "pass": true,
      "spec_xy": [
        14.14,
        -14.14
      ]
    }
  ],
  "tolerance_mm": 0.2,
  "unmatched_extras": []
}
5
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,
          10
        ],
        "original_min": [
          -30,
          -30,
          0
        ],
        "pass": true,
        "roundtripped_max": [
          30,
          30,
          10
        ],
        "roundtripped_min": [
          -30,
          -30,
          0
        ],
        "tolerance_mm": 0.8544003745317531
      },
      "index": 0,
      "pass": true,
      "volume": {
        "deviation_pct": 2.1126917138494958e-14,
        "original_mm3": 34439.27747000077,
        "pass": true,
        "roundtripped_mm3": 34439.277470000765
      }
    }
  ],
  "tolerance_pct": 1
}

Tool calls

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

What the model built

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

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": {
      "id": 1,
      "name": "CubeBlock",
      "op": {
        "type": "Cube",
        "size": {
          "x": 60,
          "y": 60,
          "z": 10
        }
      }
    },
    "2": {
      "id": 2,
      "name": "BlockCenteredXY",
      "op": {
        "type": "Translate",
        "child": 1,
        "offset": {
          "x": -30,
          "y": -30,
          "z": 0
        }
      }
    },
    "3": {
      "id": 3,
      "name": "Cyl_0deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "4": {
      "id": 4,
      "name": "CylTrans_0deg",
      "op": {
        "type": "Translate",
        "child": 3,
        "offset": {
          "x": 20,
          "y": 0,
          "z": 0
        }
      }
    },
    "5": {
      "id": 5,
      "name": "Cyl_45deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "6": {
      "id": 6,
      "name": "CylTrans_45deg",
      "op": {
        "type": "Translate",
        "child": 5,
        "offset": {
          "x": 14.142136,
          "y": 14.142136,
          "z": 0
        }
      }
    },
    "7": {
      "id": 7,
      "name": "Cyl_90deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "8": {
      "id": 8,
      "name": "CylTrans_90deg",
      "op": {
        "type": "Translate",
        "child": 7,
        "offset": {
          "x": 0,
          "y": 20,
          "z": 0
        }
      }
    },
    "9": {
      "id": 9,
      "name": "Cyl_135deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "10": {
      "id": 10,
      "name": "CylTrans_135deg",
      "op": {
        "type": "Translate",
        "child": 9,
        "offset": {
          "x": -14.142136,
          "y": 14.142136,
          "z": 0
        }
      }
    },
    "11": {
      "id": 11,
      "name": "Cyl_180deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "12": {
      "id": 12,
      "name": "CylTrans_180deg",
      "op": {
        "type": "Translate",
        "child": 11,
        "offset": {
          "x": -20,
          "y": 0,
          "z": 0
        }
      }
    },
    "13": {
      "id": 13,
      "name": "Cyl_225deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "14": {
      "id": 14,
      "name": "CylTrans_225deg",
      "op": {
        "type": "Translate",
        "child": 13,
        "offset": {
          "x": -14.142136,
          "y": -14.142136,
          "z": 0
        }
      }
    },
    "15": {
      "id": 15,
      "name": "Cyl_270deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "16": {
      "id": 16,
      "name": "CylTrans_270deg",
      "op": {
        "type": "Translate",
        "child": 15,
        "offset": {
          "x": 0,
          "y": -20,
          "z": 0
        }
      }
    },
    "17": {
      "id": 17,
      "name": "Cyl_315deg",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 32
      }
    },
    "18": {
      "id": 18,
      "name": "CylTrans_315deg",
      "op": {
        "type": "Translate",
        "child": 17,
        "offset": {
          "x": 14.142136,
          "y": -14.142136,
          "z": 0
        }
      }
    },
    "19": {
      "id": 19,
      "name": "Union_0_45",
      "op": {
        "type": "Union",
        "left": 4,
        "right": 6
      }
    },
    "20": {
      "id": 20,
      "name": "Union_prev_90",
      "op": {
        "type": "Union",
        "left": 19,
        "right": 8
      }
    },
    "21": {
      "id": 21,
      "name": "Union_prev_135",
      "op": {
        "type": "Union",
        "left": 20,
        "right": 10
      }
    },
    "22": {
      "id": 22,
      "name": "Union_prev_180",
      "op": {
        "type": "Union",
        "left": 21,
        "right": 12
      }
    },
    "23": {
      "id": 23,
      "name": "Union_prev_225",
      "op": {
        "type": "Union",
        "left": 22,
        "right": 14
      }
    },
    "24": {
      "id": 24,
      "name": "Union_prev_270",
      "op": {
        "type": "Union",
        "left": 23,
        "right": 16
      }
    },
    "25": {
      "id": 25,
      "name": "Union_all_cyls",
      "op": {
        "type": "Union",
        "left": 24,
        "right": 18
      }
    },
    "26": {
      "id": 26,
      "name": "Block_with_holes",
      "op": {
        "type": "Difference",
        "left": 2,
        "right": 25
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    {
      "root": 26,
      "material": "default"
    }
  ]
}

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