vibe-openscad

bare/claude-sonnet-4-6 / tier-1-mug

success tier 1

bare (claude sonnet 4.6)

render
bare render of tier-1-mug
loading STL…
success 13.3s · 210/764t · $0.0121
SCAD (50 lines)
// マグカップ
// 外径: 80mm, 高さ: 100mm, 肉厚: 4mm, 底厚: 6mm

$fn = 128;

// パラメータ
outer_radius = 40;       // 外径80mm → 半径40mm
cup_height   = 100;      // 高さ
wall         = 4;        // 肉厚
bottom       = 6;        // 底面の厚み
inner_radius = outer_radius - wall;  // 内径半径 = 36mm

// 取手パラメータ
handle_tube_radius  = 6;    // 取手チューブの断面半径
handle_ring_radius  = 18;   // 取手リングの中心半径(リング中心までの距離)
handle_height       = cup_height / 2;  // カップ中心高さ
handle_offset       = outer_radius + handle_ring_radius; // リング中心のX座標

difference() {
    union() {
        // カップ本体(外側シリンダー)
        cylinder(h = cup_height, r = outer_radius);

        // 取手:トーラス状リング(側面に接続)
        translate([handle_offset, 0, handle_height])
            rotate([90, 0, 0])
                rotate_extrude(angle = 360, $fn = 128)
                    translate([handle_ring_radius, 0, 0])
                        circle(r = handle_tube_radius, $fn = 64);
    }

    // 内側をくり抜く(底面を残す)
    translate([0, 0, bottom])
        cylinder(h = cup_height - bottom + 1, r = inner_radius);

    // 取手の内部をくり抜く(中空チューブにする)
    translate([handle_offset, 0, handle_height])
        rotate([90, 0, 0])
            rotate_extrude(angle = 360, $fn = 128)
                translate([handle_ring_radius, 0, 0])
                    circle(r = handle_tube_radius - wall, $fn = 64);

    // 取手とカップ本体の接合部の穴を開けて指が通るようにする
    // (カップ内部のくり抜きがリング中心空洞と干渉しないよう、
    //   取手内部の穴がカップ外壁を貫通する部分のみ除去)
    // 取手内部空洞(カップ壁を通り抜ける穴)
    translate([outer_radius - wall - 0.5, 0, handle_height])
        rotate([0, 90, 0])
            cylinder(h = wall * 2 + 1, r = handle_tube_radius - wall, $fn = 64);
}
パラメータ (6)
スライダを動かすと openscad-wasm で再レンダリング

meta

runIdbare_claude-sonnet-4-6-2bea9e159e96-2026-04-26T18-09-45-167Z
matrixIdbare/claude-sonnet-4-6
signature2bea9e159e9672aa…
provideranthropic
modelclaude-sonnet-4-6
harnessbare
statussuccess
duration13.34s (wallclock: load + prompt eval + generation + network)
tokens210 in / 764 out
wallclock tok/s57.3 tok/s (end-to-end)
cost$0.0121 (recomputed)
createdAt2026-04-26T18:09:45.167Z
openscadOpenSCAD version 2026.04.27

iteration chain

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

prompt

OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。
底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。
さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。
取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。

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