vibe-openscad

tier-1-mug / gpt-5.1-codex

5 run / 累計 217.9s / 累計 $0.3224

openai gpt 5.1 codex bare

bare (provider default effort)

run detail →
render
bare render of tier-1-mug
loading STL…
success 62.8s · 168/9239t · $0.1019
SCAD (35 lines)
$fn = 128;

mug_outer_d = 80;
mug_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

handle_ring_outer = 12;
handle_ring_inner = 6;
handle_depth = 18;
handle_overlap = 2;
handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;

module mug_body() {
    difference() {
        cylinder(h = mug_height, r = mug_outer_d/2);
        translate([0, 0, bottom_thickness])
            cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset, 0, mug_height/2])
        rotate([-90, 0, 0])
            linear_extrude(height = handle_depth, center = true, convexity = 10)
                difference() {
                    circle(r = handle_ring_outer);
                    circle(r = handle_ring_inner);
                }
}

union() {
    mug_body();
    ring_handle();
}
パラメータ (8)
スライダを動かすと openscad-wasm で再レンダリング

prompt

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

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

variant: effort

lownot run
medium (default) success
medium
62.8s · 168/9239t · $0.1019
SCAD (35 lines)
$fn = 128;

mug_outer_d = 80;
mug_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

handle_ring_outer = 12;
handle_ring_inner = 6;
handle_depth = 18;
handle_overlap = 2;
handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;

module mug_body() {
    difference() {
        cylinder(h = mug_height, r = mug_outer_d/2);
        translate([0, 0, bottom_thickness])
            cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset, 0, mug_height/2])
        rotate([-90, 0, 0])
            linear_extrude(height = handle_depth, center = true, convexity = 10)
                difference() {
                    circle(r = handle_ring_outer);
                    circle(r = handle_ring_inner);
                }
}

union() {
    mug_body();
    ring_handle();
}
highnot run
maxnot run
xhighnot run

iteration: iter-png

i1 success
iter 1
5.5s · 1130/517t · $0.0073
diff vs bare: +0/-0
  $fn = 128;
  
  mug_outer_d = 80;
  mug_height = 100;
  wall_thickness = 4;
  bottom_thickness = 6;
  
  handle_ring_outer = 12;
  handle_ring_inner = 6;
  handle_depth = 18;
  handle_overlap = 2;
  handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;
  
  module mug_body() {
      difference() {
          cylinder(h = mug_height, r = mug_outer_d/2);
          translate([0, 0, bottom_thickness])
              cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
      }
  }
  
  module ring_handle() {
      translate([handle_offset, 0, mug_height/2])
          rotate([-90, 0, 0])
              linear_extrude(height = handle_depth, center = true, convexity = 10)
                  difference() {
                      circle(r = handle_ring_outer);
                      circle(r = handle_ring_inner);
                  }
  }
  
  union() {
      mug_body();
      ring_handle();
  }
SCAD (35 lines)
$fn = 128;

mug_outer_d = 80;
mug_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

handle_ring_outer = 12;
handle_ring_inner = 6;
handle_depth = 18;
handle_overlap = 2;
handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;

module mug_body() {
    difference() {
        cylinder(h = mug_height, r = mug_outer_d/2);
        translate([0, 0, bottom_thickness])
            cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset, 0, mug_height/2])
        rotate([-90, 0, 0])
            linear_extrude(height = handle_depth, center = true, convexity = 10)
                difference() {
                    circle(r = handle_ring_outer);
                    circle(r = handle_ring_inner);
                }
}

union() {
    mug_body();
    ring_handle();
}
i2 success
iter 2
10.9s · 1130/1034t · $0.0130
diff vs i1: +0/-0
  $fn = 128;
  
  mug_outer_d = 80;
  mug_height = 100;
  wall_thickness = 4;
  bottom_thickness = 6;
  
  handle_ring_outer = 12;
  handle_ring_inner = 6;
  handle_depth = 18;
  handle_overlap = 2;
  handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;
  
  module mug_body() {
      difference() {
          cylinder(h = mug_height, r = mug_outer_d/2);
          translate([0, 0, bottom_thickness])
              cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
      }
  }
  
  module ring_handle() {
      translate([handle_offset, 0, mug_height/2])
          rotate([-90, 0, 0])
              linear_extrude(height = handle_depth, center = true, convexity = 10)
                  difference() {
                      circle(r = handle_ring_outer);
                      circle(r = handle_ring_inner);
                  }
  }
  
  union() {
      mug_body();
      ring_handle();
  }
SCAD (35 lines)
$fn = 128;

mug_outer_d = 80;
mug_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

handle_ring_outer = 12;
handle_ring_inner = 6;
handle_depth = 18;
handle_overlap = 2;
handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;

module mug_body() {
    difference() {
        cylinder(h = mug_height, r = mug_outer_d/2);
        translate([0, 0, bottom_thickness])
            cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset, 0, mug_height/2])
        rotate([-90, 0, 0])
            linear_extrude(height = handle_depth, center = true, convexity = 10)
                difference() {
                    circle(r = handle_ring_outer);
                    circle(r = handle_ring_inner);
                }
}

union() {
    mug_body();
    ring_handle();
}
i3 success
iter 3
75.9s · 1130/8804t · $0.0984
diff vs i2: +0/-0
  $fn = 128;
  
  mug_outer_d = 80;
  mug_height = 100;
  wall_thickness = 4;
  bottom_thickness = 6;
  
  handle_ring_outer = 12;
  handle_ring_inner = 6;
  handle_depth = 18;
  handle_overlap = 2;
  handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;
  
  module mug_body() {
      difference() {
          cylinder(h = mug_height, r = mug_outer_d/2);
          translate([0, 0, bottom_thickness])
              cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
      }
  }
  
  module ring_handle() {
      translate([handle_offset, 0, mug_height/2])
          rotate([-90, 0, 0])
              linear_extrude(height = handle_depth, center = true, convexity = 10)
                  difference() {
                      circle(r = handle_ring_outer);
                      circle(r = handle_ring_inner);
                  }
  }
  
  union() {
      mug_body();
      ring_handle();
  }
SCAD (35 lines)
$fn = 128;

mug_outer_d = 80;
mug_height = 100;
wall_thickness = 4;
bottom_thickness = 6;

handle_ring_outer = 12;
handle_ring_inner = 6;
handle_depth = 18;
handle_overlap = 2;
handle_offset = mug_outer_d/2 + handle_ring_outer - handle_overlap;

module mug_body() {
    difference() {
        cylinder(h = mug_height, r = mug_outer_d/2);
        translate([0, 0, bottom_thickness])
            cylinder(h = mug_height - bottom_thickness + 0.1, r = mug_outer_d/2 - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset, 0, mug_height/2])
        rotate([-90, 0, 0])
            linear_extrude(height = handle_depth, center = true, convexity = 10)
                difference() {
                    circle(r = handle_ring_outer);
                    circle(r = handle_ring_inner);
                }
}

union() {
    mug_body();
    ring_handle();
}