← mecheval / run / a3-octagonal-flange-01 / claude-mcp-claude-opus-4-7 / 20260611T181521Z-d7a0

run 20260611T181521Z-d7a0

a3-octagonal-flange-01 · claude-mcp-claude-opus-4-7

Summary

statusfail
score0.83 (5/6)
submissionself-run
modelclaude-mcp-claude-opus-4-7 (anthropic)
started2026-06-11T18:15:21.027Z
ended2026-06-11T18:17:17.100Z
tokens317,801 in · 4,787 out · 322,588 total
wallclock116.0s
tool calls22
task hash91605c57469285ce…
vcad hash24e01fa15d0d34ac…

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.28900024495,
    "deviation_pct": 0.08000804728540621,
    "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.606601717798213,
      10.606601717798211,
      5
    ],
    [
      9.18485099360515e-16,
      15,
      5
    ],
    [
      -10.606601717798211,
      10.606601717798213,
      5
    ],
    [
      -15,
      1.83697019872103e-15,
      5
    ],
    [
      -10.606601717798215,
      -10.606601717798211,
      5
    ],
    [
      -2.7554552980815444e-15,
      -15,
      5
    ],
    [
      10.60660171779821,
      -10.606601717798215,
      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.004805896778538365,
      "matched_hole": [
        10.606601717798213,
        10.606601717798211
      ],
      "pass": true,
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "distance_mm": 9.18485099360515e-16,
      "matched_hole": [
        9.18485099360515e-16,
        15
      ],
      "pass": true,
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "distance_mm": 0.004805896778538365,
      "matched_hole": [
        -10.606601717798211,
        10.606601717798213
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "distance_mm": 1.83697019872103e-15,
      "matched_hole": [
        -15,
        1.83697019872103e-15
      ],
      "pass": true,
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "distance_mm": 0.004805896778537109,
      "matched_hole": [
        -10.606601717798215,
        -10.606601717798211
      ],
      "pass": true,
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "distance_mm": 2.7554552980815444e-15,
      "matched_hole": [
        -2.7554552980815444e-15,
        -15
      ],
      "pass": true,
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "distance_mm": 0.004805896778538365,
      "matched_hole": [
        10.60660171779821,
        -10.606601717798215
      ],
      "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": 1.9443433586052015e-14,
        "original_mm3": 9355.28900024495,
        "pass": true,
        "roundtripped_mm3": 9355.289000244951
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
open_document
ok
2ms
args
{}
1
create
err
4ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "params": {
    "origin": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "x_axis": {
      "x": 1,
      "y": 0,
      "z": 0
    },
    "y_axis": {
      "x": 0,
      "y": 1,
      "z": 0
    },
    "segments": [
      {
        "type": "line",
        "x1": 20,
        "y1": 8.284271247461902,
        "x2": 8.284271247461902,
        "y2": 20
      },
      {
        "type": "line",
        "x1": 8.284271247461902,
        "y1": 20,
        "x2": -8.284271247461902,
        "y2": 20
      },
      {
        "type": "line",
        "x1": -8.284271247461902,
        "y1": 20,
        "x2": -20,
        "y2": 8.284271247461902
      },
      {
        "type": "line",
        "x1": -20,
        "y1": 8.284271247461902,
        "x2": -20,
        "y2": -8.284271247461902
      },
      {
        "type": "line",
        "x1": -20,
        "y1": -8.284271247461902,
        "x2": -8.284271247461902,
        "y2": -20
      },
      {
        "type": "line",
        "x1": -8.284271247461902,
        "y1": -20,
        "x2": 8.284271247461902,
        "y2": -20
      },
      {
        "type": "line",
        "x1": 8.284271247461902,
        "y1": -20,
        "x2": 20,
        "y2": -8.284271247461902
      },
      {
        "type": "line",
        "x1": 20,
        "y1": -8.284271247461902,
        "x2": 20,
        "y2": 8.284271247461902
      }
    ]
  }
}
2
create_cad_loon
err
6ms
args
{
  "source": "\n[let\n  [octagon\n    [sketch 0 0 0  1 0 0  0 1 0\n      #[\n        [line 20 8.284271247461902  8.284271247461902 20]\n        [line 8.284271247461902 20  -8.284271247461902 20]\n        [line -8.284271247461902 20  -20 8.284271247461902]\n        [line -20 8.284271247461902  -20 -8.284271247461902]\n        [line -20 -8.284271247461902  -8.284271247461902 -20]\n        [line -8.284271247461902 -20  8.284271247461902 -20]\n        [line 8.284271247461902 -20  20 -8.284271247461902]\n        [line 20 -8.284271247461902  20 8.284271247461902]\n      ]]]\n  [let [body [extrude 0 0 8 octagon]]\n    [let [hole [translate 15 0 -1 [cylinder 2.5 10]]]\n      [let [holes [circular-pattern 0 0 0  0 0 1  8 360 hole]]\n        [root [difference holes body] \"steel\"]]]]]\n",
  "format": "json"
}
3
create_cad_loon
err
3ms
args
{
  "source": "\n[let [octagon\n    [sketch 0 0 0  1 0 0  0 1 0\n      #[\n        [line 20 8.284271247461902  8.284271247461902 20]\n        [line 8.284271247461902 20  -8.284271247461902 20]\n        [line -8.284271247461902 20  -20 8.284271247461902]\n        [line -20 8.284271247461902  -20 -8.284271247461902]\n        [line -20 -8.284271247461902  -8.284271247461902 -20]\n        [line -8.284271247461902 -20  8.284271247461902 -20]\n        [line 8.284271247461902 -20  20 -8.284271247461902]\n        [line 20 -8.284271247461902  20 8.284271247461902]\n      ]]]\n  [root\n    [difference\n      [circular-pattern 0 0 0  0 0 1  8 360\n        [translate 15 0 -1 [cylinder 2.5 10]]]\n      [extrude 0 0 8 octagon]]\n    \"steel\"]]\n",
  "format": "json"
}
4
create_cad_loon
ok
6ms
args
{
  "source": "\n[root\n  [difference\n    [circular-pattern 0 0 0  0 0 1  8 360\n      [translate 15 0 -1 [cylinder 2.5 10]]]\n    [extrude 0 0 8\n      [sketch 0 0 0  1 0 0  0 1 0\n        #[\n          [line 20 8.284271247461902  8.284271247461902 20]\n          [line 8.284271247461902 20  -8.284271247461902 20]\n          [line -8.284271247461902 20  -20 8.284271247461902]\n          [line -20 8.284271247461902  -20 -8.284271247461902]\n          [line -20 -8.284271247461902  -8.284271247461902 -20]\n          [line -8.284271247461902 -20  8.284271247461902 -20]\n          [line 8.284271247461902 -20  20 -8.284271247461902]\n          [line 20 -8.284271247461902  20 8.284271247461902]\n        ]]]]\n  \"steel\"]\n",
  "format": "json"
}
5
create
ok
2ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "sketch_2_d",
  "name": "Octagon",
  "params": {
    "origin": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "x_dir": {
      "x": 1,
      "y": 0,
      "z": 0
    },
    "y_dir": {
      "x": 0,
      "y": 1,
      "z": 0
    },
    "segments": [
      {
        "type": "Line",
        "start": {
          "x": 20,
          "y": 8.284271247461902
        },
        "end": {
          "x": 8.284271247461902,
          "y": 20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": 8.284271247461902,
          "y": 20
        },
        "end": {
          "x": -8.284271247461902,
          "y": 20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -8.284271247461902,
          "y": 20
        },
        "end": {
          "x": -20,
          "y": 8.284271247461902
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -20,
          "y": 8.284271247461902
        },
        "end": {
          "x": -20,
          "y": -8.284271247461902
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -20,
          "y": -8.284271247461902
        },
        "end": {
          "x": -8.284271247461902,
          "y": -20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -8.284271247461902,
          "y": -20
        },
        "end": {
          "x": 8.284271247461902,
          "y": -20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": 8.284271247461902,
          "y": -20
        },
        "end": {
          "x": 20,
          "y": -8.284271247461902
        }
      },
      {
        "type": "Line",
        "start": {
          "x": 20,
          "y": -8.284271247461902
        },
        "end": {
          "x": 20,
          "y": 8.284271247461902
        }
      }
    ]
  }
}
6
create
ok
5ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "extrude",
  "name": "Flange Body",
  "params": {
    "sketch": 1,
    "direction": {
      "x": 0,
      "y": 0,
      "z": 8
    }
  }
}
7
create
err
1ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "cylinder",
  "name": "Hole Cyl",
  "params": {
    "radius": 2.5,
    "height": 10
  }
}
8
create
ok
2ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "cylinder",
  "name": "Hole Cyl",
  "params": {
    "radius": 2.5,
    "height": 10,
    "segments": 0
  }
}
9
create
ok
1ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "translate",
  "name": "Hole at +X",
  "params": {
    "child": 3,
    "offset": {
      "x": 15,
      "y": 0,
      "z": -1
    }
  }
}
10
create
ok
2ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "circular_pattern",
  "name": "Bolt Circle",
  "params": {
    "child": 4,
    "axis_origin": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "axis_dir": {
      "x": 0,
      "y": 0,
      "z": 1
    },
    "count": 8,
    "angle_deg": 360
  }
}
11
create
ok
2ms
args
{
  "document_id": "doc_1781201721219_1",
  "type": "difference",
  "name": "Flange",
  "params": {
    "left": 2,
    "right": 5
  }
}
12
read
ok
1ms
args
{
  "document_id": "doc_1781201721219_1"
}
13
get_document
ok
1ms
args
{
  "document_id": "doc_1781201721219_1"
}
14
delete
ok
3ms
args
{
  "document_id": "doc_1781201721219_1",
  "part_id": "1"
}
15
delete
ok
1ms
args
{
  "document_id": "doc_1781201721219_1",
  "part_id": "2"
}
16
delete
ok
1ms
args
{
  "document_id": "doc_1781201721219_1",
  "part_id": "3"
}
17
delete
ok
0ms
args
{
  "document_id": "doc_1781201721219_1",
  "part_id": "4"
}
18
delete
ok
0ms
args
{
  "document_id": "doc_1781201721219_1",
  "part_id": "5"
}
19
get_document
ok
1ms
args
{
  "document_id": "doc_1781201721219_1"
}
20
render_view
ok
140ms
args
{
  "document_id": "doc_1781201721219_1"
}
21
get_document
ok
1ms
args
{
  "document_id": "doc_1781201721219_1"
}

What the model built

isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260611T181521Z-d7a0.vcad

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": {
      "id": 1,
      "name": "Octagon",
      "op": {
        "type": "Sketch2D",
        "origin": {
          "x": 0,
          "y": 0,
          "z": 0
        },
        "x_dir": {
          "x": 1,
          "y": 0,
          "z": 0
        },
        "y_dir": {
          "x": 0,
          "y": 1,
          "z": 0
        },
        "segments": [
          {
            "type": "Line",
            "start": {
              "x": 20,
              "y": 8.284271247461902
            },
            "end": {
              "x": 8.284271247461902,
              "y": 20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": 8.284271247461902,
              "y": 20
            },
            "end": {
              "x": -8.284271247461902,
              "y": 20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -8.284271247461902,
              "y": 20
            },
            "end": {
              "x": -20,
              "y": 8.284271247461902
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -20,
              "y": 8.284271247461902
            },
            "end": {
              "x": -20,
              "y": -8.284271247461902
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -20,
              "y": -8.284271247461902
            },
            "end": {
              "x": -8.284271247461902,
              "y": -20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -8.284271247461902,
              "y": -20
            },
            "end": {
              "x": 8.284271247461902,
              "y": -20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": 8.284271247461902,
              "y": -20
            },
            "end": {
              "x": 20,
              "y": -8.284271247461902
            }
          },
          {
            "type": "Line",
            "start": {
              "x": 20,
              "y": -8.284271247461902
            },
            "end": {
              "x": 20,
              "y": 8.284271247461902
            }
          }
        ]
      }
    },
    "2": {
      "id": 2,
      "name": "Flange Body",
      "op": {
        "type": "Extrude",
        "sketch": 1,
        "direction": {
          "x": 0,
          "y": 0,
          "z": 8
        }
      }
    },
    "3": {
      "id": 3,
      "name": "Hole Cyl",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 10,
        "segments": 0
      }
    },
    "4": {
      "id": 4,
      "name": "Hole at +X",
      "op": {
        "type": "Translate",
        "child": 3,
        "offset": {
          "x": 15,
          "y": 0,
          "z": -1
        }
      }
    },
    "5": {
      "id": 5,
      "name": "Bolt Circle",
      "op": {
        "type": "CircularPattern",
        "child": 4,
        "axis_origin": {
          "x": 0,
          "y": 0,
          "z": 0
        },
        "axis_dir": {
          "x": 0,
          "y": 0,
          "z": 1
        },
        "count": 8,
        "angle_deg": 360
      }
    },
    "6": {
      "id": 6,
      "name": "Flange",
      "op": {
        "type": "Difference",
        "left": 2,
        "right": 5
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    {
      "root": 6,
      "material": "default"
    }
  ]
}

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