vibe-openscad

tier-1-mug / gpt-5.6-sol

6 run / 累計 133.5s / 累計 $0.2975

openai gpt 5.6 sol bare

bare (provider default effort)

run detail →
render
bare render of tier-1-mug
loading STL…
success 19.2s · 168/1241t · $0.0381
SCAD (32 lines)
$fn = 128;

outer_diameter = 80;
cup_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

outer_radius = outer_diameter / 2;
inner_radius = outer_radius - wall_thickness;

handle_radius = 12;
handle_thickness = 4;
handle_center_x = outer_radius + handle_radius - handle_thickness;
handle_center_z = cup_height / 2;

union() {
    difference() {
        cylinder(h = cup_height, r = outer_radius);

        translate([0, 0, bottom_thickness])
            cylinder(
                h = cup_height - bottom_thickness + 1,
                r = inner_radius
            );
    }

    translate([handle_center_x, 0, handle_center_z])
        rotate([90, 0, 0])
            rotate_extrude()
                translate([handle_radius, 0])
                    circle(r = handle_thickness);
}
パラメータ (6) —
スライダを動かすと openscad-wasm で再レンダリング

prompt

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

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

variant: effort

low success →
low
13.1s · 168/925t · $0.0286
SCAD (31 lines)
$fn = 128;

outer_radius = 40;
cup_height   = 100;
wall_thickness = 4;
bottom_thickness = 6;

inner_radius = outer_radius - wall_thickness;

handle_radius = 12;
handle_thickness = 4;
handle_center_x = outer_radius + handle_radius;
handle_center_z = cup_height / 2;

union() {
    difference() {
        cylinder(h = cup_height, r = outer_radius);

        translate([0, 0, bottom_thickness])
            cylinder(
                h = cup_height - bottom_thickness + 1,
                r = inner_radius
            );
    }

    translate([handle_center_x, 0, handle_center_z])
        rotate([90, 0, 0])
            rotate_extrude()
                translate([handle_radius, 0])
                    circle(r = handle_thickness);
}
medium (default) success →
medium
19.2s · 168/1241t · $0.0381
SCAD (32 lines)
$fn = 128;

outer_diameter = 80;
cup_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

outer_radius = outer_diameter / 2;
inner_radius = outer_radius - wall_thickness;

handle_radius = 12;
handle_thickness = 4;
handle_center_x = outer_radius + handle_radius - handle_thickness;
handle_center_z = cup_height / 2;

union() {
    difference() {
        cylinder(h = cup_height, r = outer_radius);

        translate([0, 0, bottom_thickness])
            cylinder(
                h = cup_height - bottom_thickness + 1,
                r = inner_radius
            );
    }

    translate([handle_center_x, 0, handle_center_z])
        rotate([90, 0, 0])
            rotate_extrude()
                translate([handle_radius, 0])
                    circle(r = handle_thickness);
}
high success →
high
20.8s · 168/1580t · $0.0482
SCAD (36 lines)
$fn = 128;

cup_outer_radius = 40;
cup_height       = 100;
wall_thickness   = 4;
bottom_thickness = 6;

handle_radius    = 12;
handle_thickness = 4;
handle_center_x  = cup_outer_radius + handle_radius - handle_thickness;
handle_center_z  = cup_height / 2;

module torus(major_radius, tube_radius) {
    rotate([90, 0, 0])
        rotate_extrude(convexity = 10)
            translate([major_radius, 0, 0])
                circle(r = tube_radius, $fn = 64);
}

difference() {
    union() {
        cylinder(
            h = cup_height,
            r = cup_outer_radius
        );

        translate([handle_center_x, 0, handle_center_z])
            torus(handle_radius, handle_thickness);
    }

    translate([0, 0, bottom_thickness])
        cylinder(
            h = cup_height,
            r = cup_outer_radius - wall_thickness
        );
}
max success →
max
46.9s · 168/3669t · $0.1109
SCAD (35 lines)
$fn = 128;

outer_diameter = 80;
cup_height     = 100;
wall_thickness = 4;
bottom_thickness = 6;

handle_outer_radius = 12;
handle_inner_radius = 8;
handle_depth = 8;
handle_overlap = 2;

difference() {
    union() {
        cylinder(d = outer_diameter, h = cup_height);

        translate([
            outer_diameter / 2 + handle_outer_radius - handle_overlap,
            0,
            cup_height / 2
        ])
        rotate([90, 0, 0])
        linear_extrude(height = handle_depth, center = true)
        difference() {
            circle(r = handle_outer_radius);
            circle(r = handle_inner_radius);
        }
    }

    translate([0, 0, bottom_thickness])
    cylinder(
        d = outer_diameter - 2 * wall_thickness,
        h = cup_height - bottom_thickness + 1
    );
}
xhigh success →
xhigh
14.2s · 168/1092t · $0.0336
SCAD (41 lines)
$fn = 128;

outer_radius = 40;
wall_thickness = 4;
inner_radius = outer_radius - wall_thickness;
cup_height = 100;
bottom_thickness = 6;

handle_outer_radius = 12;
handle_inner_radius = 8;
handle_thickness = 8;
handle_center_x = outer_radius + handle_outer_radius - 2;
handle_center_z = cup_height / 2;

union() {
    difference() {
        cylinder(r = outer_radius, h = cup_height);

        translate([0, 0, bottom_thickness])
            cylinder(
                r = inner_radius,
                h = cup_height - bottom_thickness + 1
            );
    }

    translate([handle_center_x, 0, handle_center_z])
        rotate([90, 0, 0])
            difference() {
                cylinder(
                    r = handle_outer_radius,
                    h = handle_thickness,
                    center = true
                );

                cylinder(
                    r = handle_inner_radius,
                    h = handle_thickness + 2,
                    center = true
                );
            }
}