← mecheval / run / a3-octagonal-flange-01 / claude-mcp-claude-opus-4-7 / 20260611T181717Z-1694

run 20260611T181717Z-1694

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

Summary

statusfail
score0.33 (2/6)
submissionself-run
modelclaude-mcp-claude-opus-4-7 (anthropic)
started2026-06-11T18:17:17.130Z
ended2026-06-11T18:19:57.130Z
tokens628,952 in · 7,868 out · 636,820 total
wallclock160.0s
tool calls32
task hash91605c57469285ce…
vcad hash1a9834d2e18f9105…

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": 4,
  "solids_produced": 4
}
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
fail
volume off by 30.2%
params + details
params: {
  "type": "mass_props",
  "volume_mm3": 9347.81,
  "tolerance_pct": 1.5
}

details: {
  "volume": {
    "actual_mm3": 12172.141599673603,
    "deviation_pct": 30.21383189938182,
    "pass": false,
    "spec_mm3": 9347.81,
    "tolerance_pct": 1.5
  }
}
3
hole_count
fail
found 0/8 holes of ⌀5mm
params + details
params: {
  "type": "hole_count",
  "diameter_mm": 5,
  "expected": 8,
  "diameter_tolerance_mm": 0.05
}

details: {
  "actual": 0,
  "diameter_mm": 5,
  "diameter_tolerance_mm": 0.05,
  "expected": 8,
  "found": []
}
4
hole_positions
fail
8/8 mispositioned
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": [
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        15,
        0
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        10.61,
        10.61
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        15
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -10.61,
        10.61
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -15,
        0
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        -10.61,
        -10.61
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "spec_xy": [
        0,
        -15
      ]
    },
    {
      "pass": false,
      "reason": "no candidate cylindrical feature of this diameter remained unmatched",
      "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,
        "original_mm3": 10603.86719404161,
        "pass": true,
        "roundtripped_mm3": 10603.86719404161
      }
    },
    {
      "bbox": {
        "max_abs_deviation_mm": 0,
        "original_max": [
          2.5,
          2.5,
          8
        ],
        "original_min": [
          -2.5,
          -2.5,
          0
        ],
        "pass": true,
        "roundtripped_max": [
          2.5,
          2.5,
          8
        ],
        "roundtripped_min": [
          -2.5,
          -2.5,
          0
        ],
        "tolerance_mm": 0.16015617378046967
      },
      "index": 1,
      "pass": true,
      "volume": {
        "deviation_pct": 0.4815275502572024,
        "original_mm3": 156.82742507295822,
        "pass": true,
        "roundtripped_mm3": 156.07225781487296
      }
    },
    {
      "bbox": {
        "max_abs_deviation_mm": 0,
        "original_max": [
          17.5,
          2.5,
          8
        ],
        "original_min": [
          12.5,
          -2.5,
          0
        ],
        "pass": true,
        "roundtripped_max": [
          17.5,
          2.5,
          8
        ],
        "roundtripped_min": [
          12.5,
          -2.5,
          0
        ],
        "tolerance_mm": 0.16015617378046967
      },
      "index": 2,
      "pass": true,
      "volume": {
        "deviation_pct": 0.4815300340725917,
        "original_mm3": 156.82743537393435,
        "pass": true,
        "roundtripped_mm3": 156.07226417094307
      }
    },
    {
      "bbox": {
        "max_abs_deviation_mm": 0,
        "original_max": [
          17.5,
          17.5,
          8
        ],
        "original_min": [
          -17.5,
          -17.5,
          0
        ],
        "pass": true,
        "roundtripped_max": [
          17.5,
          17.5,
          8
        ],
        "roundtripped_min": [
          -17.5,
          -17.5,
          0
        ],
        "tolerance_mm": 0.7520970682033005
      },
      "index": 3,
      "pass": true,
      "volume": {
        "deviation_pct": 0.4815285567330785,
        "original_mm3": 1254.619545185102,
        "pass": true,
        "roundtripped_mm3": 1248.578193796681
      }
    }
  ],
  "tolerance_pct": 1.5
}

Tool calls

0
open_document
ok
2ms
args
{}
1
create
err
7ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "params": {
    "origin": [
      0,
      0,
      0
    ],
    "x_axis": [
      1,
      0,
      0
    ],
    "y_axis": [
      0,
      1,
      0
    ],
    "segments": [
      {
        "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
      },
      {
        "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
      }
    ]
  }
}
2
read
ok
2ms
args
{
  "document_id": "doc_1781201837313_1"
}
3
create
err
5ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "params": {
    "origin": [
      0,
      0,
      0
    ],
    "x_axis": [
      1,
      0,
      0
    ],
    "y_axis": [
      0,
      1,
      0
    ],
    "segments": [
      {
        "Line": {
          "x1": 20,
          "y1": -8.284271247461902,
          "x2": 20,
          "y2": 8.284271247461902
        }
      },
      {
        "Line": {
          "x1": 20,
          "y1": 8.284271247461902,
          "x2": 8.284271247461902,
          "y2": 20
        }
      },
      {
        "Line": {
          "x1": 8.284271247461902,
          "y1": 20,
          "x2": -8.284271247461902,
          "y2": 20
        }
      },
      {
        "Line": {
          "x1": -8.284271247461902,
          "y1": 20,
          "x2": -20,
          "y2": 8.284271247461902
        }
      },
      {
        "Line": {
          "x1": -20,
          "y1": 8.284271247461902,
          "x2": -20,
          "y2": -8.284271247461902
        }
      },
      {
        "Line": {
          "x1": -20,
          "y1": -8.284271247461902,
          "x2": -8.284271247461902,
          "y2": -20
        }
      },
      {
        "Line": {
          "x1": -8.284271247461902,
          "y1": -20,
          "x2": 8.284271247461902,
          "y2": -20
        }
      },
      {
        "Line": {
          "x1": 8.284271247461902,
          "y1": -20,
          "x2": 20,
          "y2": -8.284271247461902
        }
      }
    ]
  }
}
4
create
err
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "params": {
    "origin": [
      0,
      0,
      0
    ],
    "x_axis": [
      1,
      0,
      0
    ],
    "y_axis": [
      0,
      1,
      0
    ],
    "segments": [
      {
        "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
      },
      {
        "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
      }
    ]
  }
}
5
create
err
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "params": {
    "origin": [
      0,
      0,
      0
    ],
    "x_axis": [
      1,
      0,
      0
    ],
    "y_axis": [
      0,
      1,
      0
    ],
    "segments": [
      {
        "type": "Line",
        "start": [
          20,
          -8.284271247461902
        ],
        "end": [
          20,
          8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          20,
          8.284271247461902
        ],
        "end": [
          8.284271247461902,
          20
        ]
      },
      {
        "type": "Line",
        "start": [
          8.284271247461902,
          20
        ],
        "end": [
          -8.284271247461902,
          20
        ]
      },
      {
        "type": "Line",
        "start": [
          -8.284271247461902,
          20
        ],
        "end": [
          -20,
          8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          -20,
          8.284271247461902
        ],
        "end": [
          -20,
          -8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          -20,
          -8.284271247461902
        ],
        "end": [
          -8.284271247461902,
          -20
        ]
      },
      {
        "type": "Line",
        "start": [
          -8.284271247461902,
          -20
        ],
        "end": [
          8.284271247461902,
          -20
        ]
      },
      {
        "type": "Line",
        "start": [
          8.284271247461902,
          -20
        ],
        "end": [
          20,
          -8.284271247461902
        ]
      }
    ]
  }
}
6
create
ok
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "sketch_2_d",
  "name": "Octagon Sketch",
  "params": {
    "origin": [
      0,
      0,
      0
    ],
    "x_dir": [
      1,
      0,
      0
    ],
    "y_dir": [
      0,
      1,
      0
    ],
    "segments": [
      {
        "type": "Line",
        "start": [
          20,
          -8.284271247461902
        ],
        "end": [
          20,
          8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          20,
          8.284271247461902
        ],
        "end": [
          8.284271247461902,
          20
        ]
      },
      {
        "type": "Line",
        "start": [
          8.284271247461902,
          20
        ],
        "end": [
          -8.284271247461902,
          20
        ]
      },
      {
        "type": "Line",
        "start": [
          -8.284271247461902,
          20
        ],
        "end": [
          -20,
          8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          -20,
          8.284271247461902
        ],
        "end": [
          -20,
          -8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          -20,
          -8.284271247461902
        ],
        "end": [
          -8.284271247461902,
          -20
        ]
      },
      {
        "type": "Line",
        "start": [
          -8.284271247461902,
          -20
        ],
        "end": [
          8.284271247461902,
          -20
        ]
      },
      {
        "type": "Line",
        "start": [
          8.284271247461902,
          -20
        ],
        "end": [
          20,
          -8.284271247461902
        ]
      }
    ]
  }
}
7
delete
ok
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "part_id": "1"
}
8
create_cad_loon
err
6ms
args
{
  "source": "[let\n  [octagon-sketch\n    [sketch 0 0 0  1 0 0  0 1 0\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        [line -20 -8.284271247461902 -8.284271247461902 -20]\n        [line -8.284271247461902 -20 8.284271247461902 -20]\n        [line 8.284271247461902 -20 20 -8.284271247461902]]]]\n  [let [body [extrude 0 0 8 octagon-sketch]]\n    [let [hole [translate 15 0 0 [cylinder 2.5 8]]]\n      [let [holes [circular-pattern 0 0 0 0 0 1 8 360 hole]]\n        [root [difference holes body] \"steel\"]]]]]"
}
9
create_cad_loon
ok
7ms
args
{
  "source": "[root\n  [difference\n    [circular-pattern 0 0 0 0 0 1 8 360 [translate 15 0 0 [cylinder 2.5 8]]]\n    [extrude 0 0 8\n      [sketch 0 0 0  1 0 0  0 1 0\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          [line -20 -8.284271247461902 -8.284271247461902 -20]\n          [line -8.284271247461902 -20 8.284271247461902 -20]\n          [line 8.284271247461902 -20 20 -8.284271247461902]]]]]\n  \"steel\"]"
}
10
create
ok
2ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "sketch_2_d",
  "name": "Octagon",
  "params": {
    "origin": [
      0,
      0,
      0
    ],
    "x_dir": [
      1,
      0,
      0
    ],
    "y_dir": [
      0,
      1,
      0
    ],
    "segments": [
      {
        "type": "Line",
        "start": [
          20,
          -8.284271247461902
        ],
        "end": [
          20,
          8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          20,
          8.284271247461902
        ],
        "end": [
          8.284271247461902,
          20
        ]
      },
      {
        "type": "Line",
        "start": [
          8.284271247461902,
          20
        ],
        "end": [
          -8.284271247461902,
          20
        ]
      },
      {
        "type": "Line",
        "start": [
          -8.284271247461902,
          20
        ],
        "end": [
          -20,
          8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          -20,
          8.284271247461902
        ],
        "end": [
          -20,
          -8.284271247461902
        ]
      },
      {
        "type": "Line",
        "start": [
          -20,
          -8.284271247461902
        ],
        "end": [
          -8.284271247461902,
          -20
        ]
      },
      {
        "type": "Line",
        "start": [
          -8.284271247461902,
          -20
        ],
        "end": [
          8.284271247461902,
          -20
        ]
      },
      {
        "type": "Line",
        "start": [
          8.284271247461902,
          -20
        ],
        "end": [
          20,
          -8.284271247461902
        ]
      }
    ]
  }
}
11
create
err
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "extrude",
  "name": "Body",
  "parent_part_id": "1",
  "params": {
    "direction": [
      0,
      0,
      8
    ]
  }
}
12
create
err
2ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "extrude",
  "name": "Body",
  "params": {
    "sketch": "1",
    "direction": [
      0,
      0,
      8
    ]
  }
}
13
create
ok
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "extrude",
  "name": "Body",
  "params": {
    "sketch": 1,
    "direction": [
      0,
      0,
      8
    ]
  }
}
14
read
ok
1ms
args
{
  "document_id": "doc_1781201837313_1"
}
15
delete
ok
1ms
args
{
  "document_id": "doc_1781201837313_1",
  "part_id": "1"
}
16
read
ok
2ms
args
{
  "document_id": "doc_1781201837313_1"
}
17
read
ok
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "part_id": "2"
}
18
create
err
2ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "cylinder",
  "name": "HoleCyl",
  "parent_part_id": "2",
  "params": {
    "radius": 2.5,
    "height": 8
  }
}
19
create
ok
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "cylinder",
  "name": "HoleCyl",
  "parent_part_id": "2",
  "params": {
    "radius": 2.5,
    "height": 8,
    "segments": 64
  }
}
20
read
ok
2ms
args
{
  "document_id": "doc_1781201837313_1"
}
21
delete
ok
1ms
args
{
  "document_id": "doc_1781201837313_1",
  "part_id": "3"
}
22
create
ok
1ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "cylinder",
  "name": "HoleCyl",
  "params": {
    "radius": 2.5,
    "height": 8,
    "segments": 64
  }
}
23
create
err
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "translate",
  "name": "HoleTranslate",
  "parent_part_id": "3",
  "params": {
    "offset": [
      15,
      0,
      0
    ]
  }
}
24
create
ok
2ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "translate",
  "name": "HoleTranslate",
  "parent_part_id": "3",
  "params": {
    "offset": [
      15,
      0,
      0
    ],
    "child": 3
  }
}
25
read
ok
2ms
args
{
  "document_id": "doc_1781201837313_1"
}
26
read
ok
1ms
args
{
  "document_id": "doc_1781201837313_1",
  "part_id": "4"
}
27
create
err
3ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "circular_pattern",
  "name": "HolePattern",
  "parent_part_id": "4",
  "params": {
    "child": 4,
    "origin": [
      0,
      0,
      0
    ],
    "axis": [
      0,
      0,
      1
    ],
    "count": 8,
    "total_angle": 360
  }
}
28
create
err
2ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "circular_pattern",
  "name": "HolePattern",
  "parent_part_id": "4",
  "params": {
    "child": 4,
    "axis_origin": [
      0,
      0,
      0
    ],
    "axis_dir": [
      0,
      0,
      1
    ],
    "count": 8,
    "total_angle": 360
  }
}
29
create
ok
4ms
args
{
  "document_id": "doc_1781201837313_1",
  "type": "circular_pattern",
  "name": "HolePattern",
  "parent_part_id": "4",
  "params": {
    "child": 4,
    "axis_origin": [
      0,
      0,
      0
    ],
    "axis_dir": [
      0,
      0,
      1
    ],
    "count": 8,
    "angle_deg": 360
  }
}
30
read
ok
1ms
args
{
  "document_id": "doc_1781201837313_1"
}
31
get_document
ok
0ms
args
{
  "document_id": "doc_1781201837313_1"
}

What the model built

isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260611T181717Z-1694.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": 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
            }
          },
          {
            "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
            }
          }
        ]
      }
    },
    "2": {
      "id": 2,
      "name": "Body",
      "op": {
        "type": "Extrude",
        "sketch": 1,
        "direction": {
          "x": 0,
          "y": 0,
          "z": 8
        }
      }
    },
    "3": {
      "id": 3,
      "name": "HoleCyl",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 8,
        "segments": 64
      }
    },
    "4": {
      "id": 4,
      "name": "HoleTranslate",
      "op": {
        "type": "Translate",
        "child": 3,
        "offset": {
          "x": 15,
          "y": 0,
          "z": 0
        }
      }
    },
    "5": {
      "id": 5,
      "name": "HolePattern",
      "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
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    {
      "root": 2,
      "material": "default"
    },
    {
      "root": 3,
      "material": "default"
    },
    {
      "root": 4,
      "material": "default"
    },
    {
      "root": 5,
      "material": "default"
    }
  ]
}

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