vibe-openscad

tier-1-mug / gpt-5.1-codex-max

5 run / 累計 142.5s / 累計 $0.2101

openai gpt 5.1 codex max bare

bare (provider default effort)

run detail →
render
bare render of tier-1-mug
loading STL…
success 34.6s · 168/5058t · $0.0559
SCAD (32 lines)
$fn = 100;

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

handle_R = 12;
handle_r = 4;
handle_offset_x = outer_radius + handle_r;
handle_center_z = height / 2;

module mug() {
    difference() {
        cylinder(h = height, r = outer_radius);
        translate([0, 0, bottom_thickness])
            cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset_x, 0, handle_center_z])
        rotate([0, 90, 0])
            rotate_extrude(angle = 360)
                translate([handle_R, 0, 0])
                    circle(r = handle_r);
}

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

prompt

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

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

variant: effort

lownot run
medium (default) success
medium
34.6s · 168/5058t · $0.0559
SCAD (32 lines)
$fn = 100;

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

handle_R = 12;
handle_r = 4;
handle_offset_x = outer_radius + handle_r;
handle_center_z = height / 2;

module mug() {
    difference() {
        cylinder(h = height, r = outer_radius);
        translate([0, 0, bottom_thickness])
            cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
    }
}

module ring_handle() {
    translate([handle_offset_x, 0, handle_center_z])
        rotate([0, 90, 0])
            rotate_extrude(angle = 360)
                translate([handle_R, 0, 0])
                    circle(r = handle_r);
}

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

iteration: iter-png

i1 success
iter 1
28.3s · 1087/3352t · $0.0384
diff vs bare: +2/-3
  $fn = 100;
  
  outer_radius = 40;
  wall_thickness = 4;
  height = 100;
  bottom_thickness = 6;
  
  handle_R = 12;
  handle_r = 4;
- handle_offset_x = outer_radius + handle_r;
  handle_center_z = height / 2;
  
  module mug() {
      difference() {
          cylinder(h = height, r = outer_radius);
          translate([0, 0, bottom_thickness])
              cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
      }
  }
  
  module ring_handle() {
-     translate([handle_offset_x, 0, handle_center_z])
-         rotate([0, 90, 0])
+     translate([outer_radius + handle_R + handle_r, 0, handle_center_z])
+         rotate([90, 0, 0])
              rotate_extrude(angle = 360)
                  translate([handle_R, 0, 0])
                      circle(r = handle_r);
  }
  
  union() {
      mug();
      ring_handle();
  }
SCAD (31 lines)
$fn = 100;

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

handle_R = 12;
handle_r = 4;
handle_center_z = height / 2;

module mug() {
    difference() {
        cylinder(h = height, r = outer_radius);
        translate([0, 0, bottom_thickness])
            cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
    }
}

module ring_handle() {
    translate([outer_radius + handle_R + handle_r, 0, handle_center_z])
        rotate([90, 0, 0])
            rotate_extrude(angle = 360)
                translate([handle_R, 0, 0])
                    circle(r = handle_r);
}

union() {
    mug();
    ring_handle();
}
i2 success
iter 2
30.4s · 1082/3624t · $0.0414
diff vs i1: +1/-1
  $fn = 100;
  
  outer_radius = 40;
  wall_thickness = 4;
  height = 100;
  bottom_thickness = 6;
  
  handle_R = 12;
  handle_r = 4;
  handle_center_z = height / 2;
  
  module mug() {
      difference() {
          cylinder(h = height, r = outer_radius);
          translate([0, 0, bottom_thickness])
              cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
      }
  }
  
  module ring_handle() {
-     translate([outer_radius + handle_R + handle_r, 0, handle_center_z])
+     translate([outer_radius + handle_r/2, 0, handle_center_z])
          rotate([90, 0, 0])
              rotate_extrude(angle = 360)
                  translate([handle_R, 0, 0])
                      circle(r = handle_r);
  }
  
  union() {
      mug();
      ring_handle();
  }
SCAD (31 lines)
$fn = 100;

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

handle_R = 12;
handle_r = 4;
handle_center_z = height / 2;

module mug() {
    difference() {
        cylinder(h = height, r = outer_radius);
        translate([0, 0, bottom_thickness])
            cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
    }
}

module ring_handle() {
    translate([outer_radius + handle_r/2, 0, handle_center_z])
        rotate([90, 0, 0])
            rotate_extrude(angle = 360)
                translate([handle_R, 0, 0])
                    circle(r = handle_r);
}

union() {
    mug();
    ring_handle();
}
i3 success
iter 3
14.6s · 1081/1552t · $0.0186
diff vs i2: +1/-1
  $fn = 100;
  
  outer_radius = 40;
  wall_thickness = 4;
  height = 100;
  bottom_thickness = 6;
  
  handle_R = 12;
  handle_r = 4;
  handle_center_z = height / 2;
  
  module mug() {
      difference() {
          cylinder(h = height, r = outer_radius);
          translate([0, 0, bottom_thickness])
-             cylinder(h = height - bottom_thickness, r = outer_radius - wall_thickness);
+             cylinder(h = height - bottom_thickness + 1, r = outer_radius - wall_thickness);
      }
  }
  
  module ring_handle() {
      translate([outer_radius + handle_r/2, 0, handle_center_z])
          rotate([90, 0, 0])
              rotate_extrude(angle = 360)
                  translate([handle_R, 0, 0])
                      circle(r = handle_r);
  }
  
  union() {
      mug();
      ring_handle();
  }
SCAD (31 lines)
$fn = 100;

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

handle_R = 12;
handle_r = 4;
handle_center_z = height / 2;

module mug() {
    difference() {
        cylinder(h = height, r = outer_radius);
        translate([0, 0, bottom_thickness])
            cylinder(h = height - bottom_thickness + 1, r = outer_radius - wall_thickness);
    }
}

module ring_handle() {
    translate([outer_radius + handle_r/2, 0, handle_center_z])
        rotate([90, 0, 0])
            rotate_extrude(angle = 360)
                translate([handle_R, 0, 0])
                    circle(r = handle_r);
}

union() {
    mug();
    ring_handle();
}