vibe-openscad

tier-2-offset-handle-mug / openai/gpt-oss-20b

1 run / 累計 10.3s / 累計 $0

openai (self-hosted) gpt-oss-20b bare

bare (provider default effort)

run detail →
render
no render
render_error 10.3s · 334/1549t
openscad stl render failed (exit 1): ERROR: Parser error: syntax error in file ../../../../../tmp/render-KGf0XB/input.scad, line 6
Can't parse file '/tmp/render-KGf0XB/input.scad'!

SCAD (48 lines)
// マグカップ本体(外径 80mm、内径 70mm、厚み 5mm、底面厚み 6mm)
module mug_body() {
    // 外側の円筒 (高さ 90mm)
    outer = cylinder(r=40, h=90, $fn=100);
    // 内側の空洞 (高さ 96mm=90+6 で底を含む)
    inner = translate([0,0,-6]) cylinder(r=35, h=96, $fn=100);
    body = difference() {
        outer;
        inner;
    };
    // 底面厚み 6mm
    bottom = cylinder(r=40, h=6, $fn=100);
    union() { body; bottom; }
}

// D 字形取手(+X側にのみ付ける)
module handle() {
    // D字型の断面を作成
    d_shape = polygon(points=[
        [0, 15],           // 内側直線端(左上)
        [25, 15],          // 外側直線端(右上)
        [25, -15],         // 外側直線端(右下)
        [0, -15]           // 内側直線端(左下)
    ]);
    // 半円を外側に付ける
    semicircle = rotate_extrude(angle=180)
                 translate([12.5, 0, 0])
                 circle(r=12.5, $fn=100);
    // D字型断面の押し出し(厚み 5mm)
    handle_profile = linear_extrude(height=5, center=true) d_shape;
    // 半円を付けて形状化
    handle_body = union() {
        handle_profile;
        translate([0,0,2.5]) semicircle;   // 半円は厚み方向に重ねる
    };
    // 取手の位置(+X側、中央付近)
    translate([45, 0, 30]) rotate([90,0,0]) handle_body;
}

// 本体と取手を確実に union してマニフォールド化
module mug_with_handle() {
    union() {
        mug_body();
        handle();
    }
}

mug_with_handle();

prompt

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

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

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

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