vibe-openscad

bare/gpt-oss-120b / tier-1-mug

success tier 1

bare (openai/gpt-oss-120b)

render
bare render of tier-1-mug
loading STL…
success 24.3s · 229/2267t
SCAD (48 lines)
$fn = 128;

// パラメータ
outer_d   = 80;   // 外径 (mm)
wall      = 4;    // 壁厚 (mm)
bottom    = 6;    // 底厚 (mm)
height    = 100;  // 高さ (mm)
handle_r  = 12;   // 取手の断面半径 (mm)

// 計算
outer_r   = outer_d/2;          // 外半径
inner_r   = outer_r - wall;     // 内半径
inner_h   = height - bottom;    // 内部高さ

// カップ本体
module cup() {
    difference() {
        cylinder(h = height, r = outer_r);
        translate([0,0,bottom])
            cylinder(h = inner_h, r = inner_r);
    }
}

// トーラス (取手のベース)
module torus(R, r) {
    rotate_extrude()
        translate([R,0])
            circle(r = r);
}

// 取手(半トーラス)
module handle() {
    // 完全トーラスを作成し、外側半分だけを残す
    intersection() {
        // カップの中心高さに配置
        translate([0,0,height/2])
            torus(R = outer_r + handle_r, r = handle_r);
        // x ≥ outer_r の領域だけ残す
        translate([outer_r, -100, -100])
            cube([200, 200, 200]);
    }
}

// 組み立て
union() {
    cup();
    handle();
}
パラメータ (5) —
スライダを動かすと openscad-wasm で再レンダリング

meta

runIdbare_gpt-oss-120b-c3a1b73c895b-2026-09-23T02-18-54-368Z
matrixIdbare/gpt-oss-120b
signaturec3a1b73c895b8b9a…
provideropenai-self-hosted
modelopenai/gpt-oss-120b
harnessbare
statussuccess
duration24.32s (wallclock: load + prompt eval + generation + network)
tokens229 in / 2267 out
wallclock tok/s93.2 tok/s (end-to-end)
createdAt2026-09-23T02:18:54.369Z
gitCommitc38d83c17860
openscadOpenSCAD version 2026.09.23

prompt

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

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