—
tier-1-mug / gpt-5-codex
5 run / 累計 452.1s / 累計 $0.4907
openai gpt 5 codex bare
bare (provider default effort)
run detail → render
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
handle_center_offset = outer_r + handle_major;
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_center_offset, 0, handle_center_height])
rotate([0, 90, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug(); パラメータ (6) —
スライダを動かすと openscad-wasm で再レンダリング
prompt
OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。 底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。 さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。 取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。
variant: effort
SCAD (36 lines)
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
handle_center_offset = outer_r + handle_major;
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_center_offset, 0, handle_center_height])
rotate([0, 90, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug(); —
—
—
iteration: iter-png
diff vs bare: +2/-1
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
- handle_center_offset = outer_r + handle_major;
+ handle_overlap = 0.5;
+ handle_center_offset = outer_r + handle_minor - handle_overlap;
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_center_offset, 0, handle_center_height])
rotate([0, 90, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug();
SCAD (37 lines)
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
handle_overlap = 0.5;
handle_center_offset = outer_r + handle_minor - handle_overlap;
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_center_offset, 0, handle_center_height])
rotate([0, 90, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug();
diff vs i1: +1/-1
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
handle_overlap = 0.5;
- handle_center_offset = outer_r + handle_minor - handle_overlap;
+ handle_center_offset = outer_r + handle_major + handle_minor - handle_overlap;
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_center_offset, 0, handle_center_height])
rotate([0, 90, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug();
SCAD (37 lines)
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
handle_overlap = 0.5;
handle_center_offset = outer_r + handle_major + handle_minor - handle_overlap;
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_center_offset, 0, handle_center_height])
rotate([0, 90, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug();
diff vs i2: +5/-4
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
- handle_overlap = 0.5;
- handle_center_offset = outer_r + handle_major + handle_minor - handle_overlap;
+ handle_overlap = 1;
+
+ handle_offset_x = outer_r - handle_overlap - (handle_major - handle_minor);
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
- translate([handle_center_offset, 0, handle_center_height])
- rotate([0, 90, 0])
+ translate([handle_offset_x, 0, handle_center_height])
+ rotate([90, 0, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug();
SCAD (38 lines)
outer_d = 80;
height = 100;
wall_thickness = 4;
bottom_thickness = 6;
outer_r = outer_d / 2;
inner_r = outer_r - wall_thickness;
inner_h = height - bottom_thickness;
handle_major = 12;
handle_minor = 4;
handle_overlap = 1;
handle_offset_x = outer_r - handle_overlap - (handle_major - handle_minor);
handle_center_height = height / 2;
$fn = 96;
module torus(R, r) {
rotate_extrude(convexity = 10, $fn = 128)
translate([R, 0, 0])
circle(r = r, $fn = 64);
}
module mug() {
difference() {
union() {
cylinder(r = outer_r, h = height);
translate([handle_offset_x, 0, handle_center_height])
rotate([90, 0, 0])
torus(handle_major, handle_minor);
}
translate([0, 0, bottom_thickness])
cylinder(r = inner_r, h = inner_h + 0.2);
}
}
mug();