vibe-openscad

iter-png-3/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 · 1618/371t · $0.0003
SCAD (40 lines)
$fn = 100;

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

// 取手のパラメータ
handle_r = 8;             // 取手の断面半径 (指を通しやすくするため適宜調整)
handle_ring_r = 15;       // 取手のリングの半径
// 取手をカップに接合するためのオフセット調整
// リングの外縁がカップの外周にちょうど触れるように配置
handle_offset = outer_r - 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() {
    // カップの側面中心に配置
    // intersectionを使用してカップ本体と不自然に重ならないようにする
    translate([outer_r - 2, 0, height / 2])
        rotate([0, 90, 0])
            rotate_extrude(angle = 360)
                translate([handle_ring_r, 0, 0])
                    circle(r = handle_r);
}

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

meta

runIditer-png-3_gemini-3.1-flash-lite-6bb05cd5cb64-2026-04-27T17-00-31-933Z
matrixIditer-png-3/gemini-3.1-flash-lite
signature6bb05cd5cb642f8f…
providergoogle
modelgemini-3.1-flash-lite-preview
harnessbare
statussuccess
duration3.22s (wallclock: load + prompt eval + generation + network)
tokens1618 in / 371 out
wallclock tok/s115.2 tok/s (end-to-end)
cost$0.0003
createdAt2026-04-27T17:00:31.933Z
gitCommitaf54e116f6f8
openscadOpenSCAD version 2026.04.27

iteration chain

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

prompt

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

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