vibe-openscad

iter-png-1/gpt-5.4-nano / tier-1-mug

success tier 1

bare (gpt 5.4 nano)

render
bare render of tier-1-mug
loading STL…
success 17.3s · 1725/602t · $0.0005
SCAD (68 lines)
// Mug with hollow interior and radial ring handle
$fn = 128;

// Given dimensions
outer_d  = 80;      // outside diameter
body_h   = 100;     // height
wall_t   = 4;       // side wall thickness
bottom_t = 6;       // bottom thickness

outer_r = outer_d/2;
inner_r = outer_r - wall_t;

// Handle requirements
handle_radius_extrude = 12; // ring's radius that protrudes outward (radially)
handle_th = 10;              // ring thickness (height in Z)
handle_z  = body_h/2;       // center height of handle

// -------------------- Geometry --------------------
module mug() {
    // Outer shell
    difference() {
        cylinder(h=body_h, r=outer_r);

        // Hollow interior (keep bottom thickness)
        translate([0,0,bottom_t])
            cylinder(h=body_h - bottom_t, r=inner_r);
    }
}

module ring_handle(rad=12, zc=50, ring_th=10, hole=6) {
    /*
      Radial ring oriented so it protrudes in +X direction from the cup wall.
      Implemented as a torus whose major radius is 'rad' and whose minor
      radius is ring_th/2, then cut out an inner hole to make it a ring
      (so a finger can pass).
      
      Position: center of ring cross-section is located at the cup's outer
      surface plane (x=outer_r), and the ring extends further outward
      to x=outer_r + rad*2 (i.e., "外径方向に飛び出す").
    */
    minor_outer = ring_th/2;

    // Safety for subtraction
    minor_inner = max(0.1, minor_outer - hole);

    // Torus constructed from rotate_extrude of an annulus cross-section.
    // Major radius uses translate([rad,0,z]) before rotate_extrude.
    rotate([0,90,0])  // make torus axis align such that it protrudes radially in +X
    translate([outer_r, 0, zc])
    difference() {
        // Outer torus
        rotate_extrude(angle=360)
            translate([rad, 0, 0])
                circle(r=minor_outer);

        // Inner cutout (hole)
        rotate_extrude(angle=360)
            translate([rad, 0, 0])
                circle(r=minor_inner);
    }
}

union() {
    mug();
    // Place handle at cup center height, centered on the outer wall plane,
    // protruding outward with major radius=12.
    ring_handle(rad=handle_radius_extrude, zc=handle_z, ring_th=handle_th, hole=6);
}
パラメータ (6)
スライダを動かすと openscad-wasm で再レンダリング

meta

runIditer-png-1_gpt-5.4-nano-472b15825819-2026-04-27T17-08-34-282Z
matrixIditer-png-1/gpt-5.4-nano
signature472b15825819607a…
provideropenai
modelgpt-5.4-nano-2026-03-17
harnessbare
statussuccess
duration17.29s (wallclock: load + prompt eval + generation + network)
tokens1725 in / 602 out
wallclock tok/s34.8 tok/s (end-to-end)
cost$0.0005
createdAt2026-04-27T17:08:34.282Z
gitCommitaf54e116f6f8
openscadOpenSCAD version 2026.04.27

iteration chain

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

prompt

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

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