← mecheval / run / a3-octagonal-flange-01 / claude-mcp-claude-opus-4-7 / 20260611T181701Z-651f

run 20260611T181701Z-651f

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:17:01.700Z
ended2026-06-11T18:20:03.947Z
tokens434,094 in · 5,067 out · 439,161 total
wallclock182.1s
tool calls27
task hash91605c57469285ce…
vcad hashd4cfb316fc83b4f8…

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": 9349.258374913423,
    "deviation_pct": 0.015494269924434945,
    "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": 0.0430790061716371,
        "original_mm3": 9349.258374913423,
        "pass": true,
        "roundtripped_mm3": 9353.285942505754
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
open_document
ok
2ms
args
{}
1
create_cad_loon
ok
12ms
args
{
  "source": "[let octagon [extrude 0 0 8\n  [sketch 0 0 0  1 0 0  0 1 0 #[\n    [line 20.0000 8.2843   8.2843 20.0000]\n    [line 8.2843 20.0000  -8.2843 20.0000]\n    [line -8.2843 20.0000 -20.0000 8.2843]\n    [line -20.0000 8.2843 -20.0000 -8.2843]\n    [line -20.0000 -8.2843 -8.2843 -20.0000]\n    [line -8.2843 -20.0000  8.2843 -20.0000]\n    [line 8.2843 -20.0000  20.0000 -8.2843]\n    [line 20.0000 -8.2843  20.0000 8.2843]\n  ]]]\n  [root\n    [difference\n      [circular-pattern 0 0 0 0 0 1 8 360\n        [translate 15 0 0 [cylinder 2.5 8]]]\n      octagon]\n    \"steel\"]]",
  "format": "json"
}
2
create
ok
6ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "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.2843
        },
        "end": {
          "x": 8.2843,
          "y": 20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": 8.2843,
          "y": 20
        },
        "end": {
          "x": -8.2843,
          "y": 20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -8.2843,
          "y": 20
        },
        "end": {
          "x": -20,
          "y": 8.2843
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -20,
          "y": 8.2843
        },
        "end": {
          "x": -20,
          "y": -8.2843
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -20,
          "y": -8.2843
        },
        "end": {
          "x": -8.2843,
          "y": -20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": -8.2843,
          "y": -20
        },
        "end": {
          "x": 8.2843,
          "y": -20
        }
      },
      {
        "type": "Line",
        "start": {
          "x": 8.2843,
          "y": -20
        },
        "end": {
          "x": 20,
          "y": -8.2843
        }
      },
      {
        "type": "Line",
        "start": {
          "x": 20,
          "y": -8.2843
        },
        "end": {
          "x": 20,
          "y": 8.2843
        }
      }
    ]
  }
}
3
create
err
5ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "extrude",
  "name": "Octagon Body",
  "parent_part_id": "1",
  "params": {
    "sketch": "1",
    "direction": {
      "x": 0,
      "y": 0,
      "z": 8
    }
  }
}
4
create
ok
1ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "extrude",
  "name": "Octagon Body",
  "parent_part_id": "1",
  "params": {
    "sketch": 1,
    "direction": {
      "x": 0,
      "y": 0,
      "z": 8
    }
  }
}
5
create
err
1ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "cylinder",
  "name": "Hole",
  "params": {
    "radius": 2.5,
    "height": 8
  }
}
6
create
ok
4ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "cylinder",
  "name": "Hole",
  "params": {
    "radius": 2.5,
    "height": 8,
    "segments": 64
  }
}
7
create
err
3ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "translate",
  "name": "Move to Bolt Circle",
  "parent_part_id": "3",
  "params": {
    "offset": {
      "x": 15,
      "y": 0,
      "z": 0
    }
  }
}
8
read
ok
4ms
args
{
  "document_id": "doc_1781201821885_1"
}
9
create
err
2ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "translate",
  "name": "Move to Bolt Circle",
  "parent_part_id": "3",
  "params": {
    "x": 15,
    "y": 0,
    "z": 0
  }
}
10
create
err
5ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "translate",
  "name": "Move to Bolt Circle",
  "parent_part_id": "3",
  "params": {
    "child": 3,
    "x": 15,
    "y": 0,
    "z": 0
  }
}
11
create
ok
3ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "translate",
  "name": "Move to Bolt Circle",
  "parent_part_id": "3",
  "params": {
    "child": 3,
    "offset": {
      "x": 15,
      "y": 0,
      "z": 0
    }
  }
}
12
create
err
3ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "circular_pattern",
  "name": "Bolt Pattern",
  "parent_part_id": "4",
  "params": {
    "child": 4,
    "center": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "axis": {
      "x": 0,
      "y": 0,
      "z": 1
    },
    "count": 8,
    "angle_deg": 360
  }
}
13
create
err
2ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "circular_pattern",
  "name": "Bolt Pattern",
  "parent_part_id": "4",
  "params": {
    "child": 4,
    "axis_origin": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "axis_direction": {
      "x": 0,
      "y": 0,
      "z": 1
    },
    "count": 8,
    "total_angle_deg": 360
  }
}
14
create
ok
2ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "circular_pattern",
  "name": "Bolt Pattern",
  "parent_part_id": "4",
  "params": {
    "child": 4,
    "axis_origin": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "axis_dir": {
      "x": 0,
      "y": 0,
      "z": 1
    },
    "count": 8,
    "angle_deg": 360
  }
}
15
create
err
4ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "difference",
  "name": "Drilled Flange",
  "params": {
    "a": 2,
    "b": 5
  }
}
16
create
ok
3ms
args
{
  "document_id": "doc_1781201821885_1",
  "type": "difference",
  "name": "Drilled Flange",
  "params": {
    "left": 2,
    "right": 5
  }
}
17
read
ok
3ms
args
{
  "document_id": "doc_1781201821885_1"
}
18
get_document
ok
2ms
args
{
  "document_id": "doc_1781201821885_1"
}
19
delete
ok
2ms
args
{
  "document_id": "doc_1781201821885_1",
  "part_id": "1"
}
20
delete
ok
1ms
args
{
  "document_id": "doc_1781201821885_1",
  "part_id": "2"
}
21
delete
ok
1ms
args
{
  "document_id": "doc_1781201821885_1",
  "part_id": "3"
}
22
delete
ok
1ms
args
{
  "document_id": "doc_1781201821885_1",
  "part_id": "4"
}
23
delete
ok
1ms
args
{
  "document_id": "doc_1781201821885_1",
  "part_id": "5"
}
24
get_document
ok
2ms
args
{
  "document_id": "doc_1781201821885_1"
}
25
render_view
ok
181ms
args
{
  "document_id": "doc_1781201821885_1"
}
26
get_document
ok
2ms
args
{
  "document_id": "doc_1781201821885_1"
}

What the model built

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

.vcad source

{
  "version": "0.1",
  "nodes": {
    "1": {
      "id": 1,
      "name": "Octagon Sketch",
      "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.2843
            },
            "end": {
              "x": 8.2843,
              "y": 20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": 8.2843,
              "y": 20
            },
            "end": {
              "x": -8.2843,
              "y": 20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -8.2843,
              "y": 20
            },
            "end": {
              "x": -20,
              "y": 8.2843
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -20,
              "y": 8.2843
            },
            "end": {
              "x": -20,
              "y": -8.2843
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -20,
              "y": -8.2843
            },
            "end": {
              "x": -8.2843,
              "y": -20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": -8.2843,
              "y": -20
            },
            "end": {
              "x": 8.2843,
              "y": -20
            }
          },
          {
            "type": "Line",
            "start": {
              "x": 8.2843,
              "y": -20
            },
            "end": {
              "x": 20,
              "y": -8.2843
            }
          },
          {
            "type": "Line",
            "start": {
              "x": 20,
              "y": -8.2843
            },
            "end": {
              "x": 20,
              "y": 8.2843
            }
          }
        ]
      }
    },
    "2": {
      "id": 2,
      "name": "Octagon Body",
      "op": {
        "type": "Extrude",
        "sketch": 1,
        "direction": {
          "x": 0,
          "y": 0,
          "z": 8
        }
      }
    },
    "3": {
      "id": 3,
      "name": "Hole",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 64
      }
    },
    "4": {
      "id": 4,
      "name": "Move to Bolt Circle",
      "op": {
        "type": "Translate",
        "child": 3,
        "offset": {
          "x": 15,
          "y": 0,
          "z": 0
        }
      }
    },
    "5": {
      "id": 5,
      "name": "Bolt Pattern",
      "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": "Drilled Flange",
      "op": {
        "type": "Difference",
        "left": 2,
        "right": 5
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    {
      "root": 6,
      "material": "default"
    }
  ]
}

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