vibe-openscad

iter-png-3/gpt-5.4-mini / tier-2-offset-handle-mug

success tier 2

bare (gpt 5.4 mini)

render
bare render of tier-2-offset-handle-mug
loading STL…
success 3.8s · 1335/412t · $0.0018
SCAD (52 lines)
$fn = 128;

outer_d = 80;
inner_d = 70;
height = 90;
bottom_thickness = 6;

handle_clear_w = 25;
handle_clear_h = 30;
handle_wall = 5;
handle_depth = 22;          // radial extent from body toward outside
handle_embed = 3;           // overlap into body for robust union

module mug_body() {
    difference() {
        cylinder(h = height, d = outer_d);
        translate([0, 0, bottom_thickness])
            cylinder(h = height - bottom_thickness + 0.1, d = inner_d);
    }
}

module handle_solid() {
    // Create a D-shaped cross section in the YZ plane and extrude along +X.
    // Flat side is toward the mug body, curved side outward.
    translate([outer_d/2 - handle_embed, 0, height/2 - handle_clear_h/2])
        rotate([0, 90, 0])
        linear_extrude(height = handle_depth)
        difference() {
            union() {
                // Outer boundary: flat-backed rectangle + semicircle
                translate([0, -(handle_clear_h/2 + handle_wall)])
                    square([handle_wall, handle_clear_h + 2*handle_wall], center = false);
                translate([handle_wall, 0])
                    circle(r = handle_clear_h/2 + handle_wall);
            }

            // Inner void: 25mm wide x 30mm high
            union() {
                translate([0, -handle_clear_h/2])
                    square([handle_wall + 0.2, handle_clear_h], center = false);
                translate([handle_wall, 0])
                    circle(r = handle_clear_h/2);
            }
        }
}

union() {
    mug_body();

    // Handle only on the +X side, centered vertically, with guaranteed overlap
    handle_solid();
}
パラメータ (9)
スライダを動かすと openscad-wasm で再レンダリング

meta

runIditer-png-3_gpt-5.4-mini-426e03f82c2b-2026-04-28T18-59-09-397Z
matrixIditer-png-3/gpt-5.4-mini
signature426e03f82c2b6c43…
provideropenai
modelgpt-5.4-mini-2026-03-17
harnessbare
statussuccess
duration3.76s (wallclock: load + prompt eval + generation + network)
tokens1335 in / 412 out
wallclock tok/s109.7 tok/s (end-to-end)
cost$0.0018
createdAt2026-04-28T18:59:09.397Z
gitCommit781e6c683dda
openscadOpenSCAD version 2026.04.27

iteration chain

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

prompt

OpenSCAD で、向きが指定されたマグカップを作ってください。

本体:
- 外径 80mm、内径 70mm(肉厚 5mm)、高さ 90mm の円筒形マグ
- 底面の厚みは 6mm
- 内側は飲み物を入れられるよう中空

取手(handle):
- マグの **+X 軸方向の側面のみ** に付ける(他の方向には付けない)
- 取手は D 字形状(外側が半円、本体側が直線)で、本体外周にしっかり接続する
- 取手の内側の空間は高さ 30mm × 幅 25mm(指 3 本ぐらい入る)
- 取手はマグの高さ方向の中央付近に付ける
- 本体と取手は確実に union され、マニフォールド(隙間や宙吊りなし)を保つ

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