vibe-openscad

bare-high/gpt-5.4-nano / tier-1-mug

render_error tier 1
error
openscad stl render failed (exit 1): ERROR: Parser error: syntax error in file ../../../../../tmp/render-oOa0LT/input.scad, line 42
Can't parse file '/tmp/render-oOa0LT/input.scad'!

bare (gpt 5.4 nano)

render
no render
render_error 64.2s · 168/10689t · $0.0064
openscad stl render failed (exit 1): ERROR: Parser error: syntax error in file ../../../../../tmp/render-oOa0LT/input.scad, line 42
Can't parse file '/tmp/render-oOa0LT/input.scad'!

SCAD (63 lines)
// Mug parameters
outer_d = 80;     // 外径
height  = 100;   // 高さ
wall    = 4;     // 肉厚
bottom  = 6;     // 底面厚み

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

// Handle parameters
handle_major_r = 12; // 半径 12mm(リング状取手の大きさ)
handle_tube_r  = wall; // 取手の断面半径(肉厚に合わせる)
handle_center_z = height / 2;

handle_depth = 20; // 取手の側面方向の厚み(見た目調整)

$fn = 100;

module torus(R=12, r=4) {
    rotate_extrude(convexity=10, $fn=200)
        translate([R, 0, 0])
            circle(r=r, $fn=100);
}

module mug() {
    difference() {
        // 外形
        cylinder(h=height, r=outer_r);

        // 内側をくり抜き(底厚 bottom から上)
        translate([0, 0, bottom])
            cylinder(h=height - bottom, r=inner_r);
    }
}

module handle() {
    // 取手(Y軸方向にリング状)
    axis_x = outer_r - (handle_major_r - handle_tube_r);

    handle_torus =
        translate([axis_x, 0, handle_center_z])
        rotate([90, 0, 0])
            torus(handle_major_r, handle_tube_r);

    // 側面に付くようにクリップ(内側には入れすぎない/局所に留める)
    x_clip_min = inner_r;
    x_clip_max = outer_r + handle_major_r + handle_tube_r + 10;
    clip_dx = x_clip_max - x_clip_min;

    clip_cube = translate([x_clip_min, -handle_depth/2, 0])
        cube([clip_dx, handle_depth, height], center=false);

    intersection() {
        handle_torus;
        clip_cube;
    }
}

// Final model
union() {
    mug();
    handle();
}

meta

runIdbare-high_gpt-5.4-nano-1b755ad8b7f4-2026-04-27T21-55-58-505Z
matrixIdbare-high/gpt-5.4-nano
signature1b755ad8b7f42c64…
provideropenai
modelgpt-5.4-nano-2026-03-17
harnessbare
statusrender_error
duration64.23s (wallclock: load + prompt eval + generation + network)
tokens168 in / 10689 out
wallclock tok/s166.4 tok/s (end-to-end)
cost$0.0064
createdAt2026-04-27T21:55:58.505Z
gitCommit9719f13cf9c1
openscadOpenSCAD version 2026.04.27

prompt

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

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