vibe-openscad

iter-png-1/gemini-3.1-flash-lite / tier-1-mug

success tier 1

bare (gemini 3.1 flash-lite)

render
bare render of tier-1-mug
loading STL…
success 3.2s · 1598/361t · $0.0003
SCAD (38 lines)
$fn = 100;

// カップ本体のパラメータ
outer_r = 40;     // 外径 80mm
height = 100;    // 高さ 100mm
wall_thick = 4;  // 肉厚 4mm
bottom_thick = 6;// 底の厚み 6mm

// 取手のパラメータ
handle_radius = 12;            // 取手の断面半径
handle_ring_radius = 20;       // 取手のリングの半径(指を通す穴の大きさを考慮)
handle_center_z = height / 2;  // 取手の高さ(中心)

module mug() {
    difference() {
        // カップの外形
        cylinder(r = outer_r, h = height);
        
        // 内側のくり抜き
        translate([0, 0, bottom_thick])
            cylinder(r = outer_r - wall_thick, h = height - bottom_thick + 0.1);
    }
}

module handle() {
    // カップの側面から外側にせり出すように配置
    // handle_ring_radius を調整して指が通るスペースを確保
    translate([outer_r - 2, 0, handle_center_z])
        rotate([0, 90, 0])
            rotate_extrude(angle = 360)
                translate([handle_ring_radius, 0, 0])
                    circle(r = handle_radius);
}

union() {
    mug();
    handle();
}
パラメータ (6)
スライダを動かすと openscad-wasm で再レンダリング

meta

runIditer-png-1_gemini-3.1-flash-lite-ce0aecee4821-2026-04-27T17-00-14-382Z
matrixIditer-png-1/gemini-3.1-flash-lite
signaturece0aecee48212f95…
providergoogle
modelgemini-3.1-flash-lite-preview
harnessbare
statussuccess
duration3.24s (wallclock: load + prompt eval + generation + network)
tokens1598 in / 361 out
wallclock tok/s111.5 tok/s (end-to-end)
cost$0.0003
createdAt2026-04-27T17:00:14.382Z
gitCommitaf54e116f6f8
openscadOpenSCAD version 2026.04.27

iteration chain

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

prompt

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

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