vibe-openscad

bare/gpt-4.1 / tier-2-l-bracket

success tier 2

bare (gpt 4.1)

render
bare render of tier-2-l-bracket
loading STL…
success 8.1s · 295/571t · $0.0052
SCAD (73 lines)
// L-bracket parameters
bracket_w = 50;   // width (common to both flanges)
bracket_h = 40;   // height / depth of flanges
thickness = 3;

// Countersunk hole parameters
hole_d = 4.5;      // through hole diameter
cs_d = 8;          // countersink diameter
cs_depth = 2;      // countersink depth
edge_offset = 10;  // distance from edge to hole center (along the main axis)
center_line = bracket_w/2;

// Hole positions (symmetric along width)
hole_y_pos = [edge_offset, bracket_h-edge_offset];

// Utilities
module countersunk_hole(face="") {
    // face: "top" or "side"
    if (face == "top") {
        // Plate at Z = 0, +Y; hole along -Z
        translate([0,0,thickness])
        rotate([90,0,0])
        union() {
            // Through hole
            cylinder(d=hole_d, h=thickness+0.5, $fn=32);
            // Countersink
            translate([0,0,-cs_depth])
            cylinder(d=cs_d, h=cs_depth, $fn=32);
        }
    }
    if (face == "side") {
        // Plate at Y = 0, +Z; hole along -Y
        translate([0,thickness,0])
        rotate([0,90,0])
        union() {
            // Through hole
            cylinder(d=hole_d, h=thickness+0.5, $fn=32);
            // Countersink
            translate([0,0,-cs_depth])
            cylinder(d=cs_d, h=cs_depth, $fn=32);
        }
    }
}

// Horizontal flange
module flange_top() {
    difference() {
        // Main plate
        translate([0, 0, 0])
            cube([bracket_w, bracket_h, thickness]);
        // Holes
        for (ypos = hole_y_pos)
            translate([center_line, ypos, 0])
                countersunk_hole("top");
    }
}

// Vertical flange
module flange_side() {
    difference() {
        // Main plate
        translate([0, 0, 0])
            cube([bracket_w, thickness, bracket_h]);
        // Holes
        for (zpos = hole_y_pos)
            translate([center_line, 0, zpos])
                countersunk_hole("side");
    }
}

// Assemble L-bracket at origin (inner corner at [0,0,0])
flange_top();
flange_side();
パラメータ (7)
スライダを動かすと openscad-wasm で再レンダリング

meta

runIdbare_gpt-4.1-e13e1cc6afbe-2026-04-28T14-05-19-593Z
matrixIdbare/gpt-4.1
signaturee13e1cc6afbeb297…
provideropenai
modelgpt-4.1-2025-04-14
harnessbare
statussuccess
duration8.09s (wallclock: load + prompt eval + generation + network)
tokens295 in / 571 out
wallclock tok/s70.6 tok/s (end-to-end)
cost$0.0052
createdAt2026-04-28T14:05:19.593Z
gitCommit2d7e9895d68a
openscadOpenSCAD version 2026.04.27

iteration chain

各 iteration step は独立した benchmark run です。parentRunId で前段にリンクします。

prompt

OpenSCAD で、L 字に折れた金具(L-bracket)を作ってください。

形状:
- 水平面と垂直面の 2 つのフランジが直角に繋がっている
- 水平面は 50mm × 40mm(幅 × 奥行き)
- 垂直面は 50mm × 40mm(幅 × 高さ)
- 板厚はどちらも 3mm
- 内側コーナーが原点になるように配置(水平面は +Y 方向、垂直面は +Z 方向に伸びる)

皿穴(countersunk holes):
- 各面に 2 個ずつ、合計 4 個
- M4 ねじ用(貫通穴 Φ4.5mm + 皿座面 Φ8mm × 深さ 2mm)
- 各面の中心線上で、面の縁から 10mm 内側、左右対称に 2 個並べる
- 皿座面は外側(ボルト頭が当たる側)に向ける

完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。