—
tier-1-mug / gpt-5.2-codex
5 run / 累計 238.6s / 累計 $0.2461
openai gpt 5.2 codex bare
bare (provider default effort)
run detail → render
loading STL…
$fn = 100;
module mug_body() {
difference() {
cylinder(h=100, r=40);
translate([0,0,6])
cylinder(h=94, r=36);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
translate([48, 0, 50])
rotate([90, 0, 0])
torus(12, 4);
}
union() {
mug_body();
handle();
} prompt
OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。 底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。 さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。 取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。
variant: effort
SCAD (26 lines)
$fn = 100;
module mug_body() {
difference() {
cylinder(h=100, r=40);
translate([0,0,6])
cylinder(h=94, r=36);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
translate([48, 0, 50])
rotate([90, 0, 0])
torus(12, 4);
}
union() {
mug_body();
handle();
} —
—
—
iteration: iter-png
diff vs bare: +1/-1
$fn = 100;
module mug_body() {
difference() {
cylinder(h=100, r=40);
translate([0,0,6])
cylinder(h=94, r=36);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
- translate([48, 0, 50])
+ translate([54, 0, 50])
rotate([90, 0, 0])
torus(12, 4);
}
union() {
mug_body();
handle();
}
SCAD (26 lines)
$fn = 100;
module mug_body() {
difference() {
cylinder(h=100, r=40);
translate([0,0,6])
cylinder(h=94, r=36);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
translate([54, 0, 50])
rotate([90, 0, 0])
torus(12, 4);
}
union() {
mug_body();
handle();
}
diff vs i1: +16/-5
$fn = 100;
+ outer_d = 80;
+ outer_r = outer_d / 2;
+ height = 100;
+ wall = 4;
+ bottom = 6;
+
+ handle_R = 12; // major radius
+ handle_r = 4; // tube radius
+ overlap = 2;
+ handle_offset = outer_r + handle_R + handle_r - overlap;
+
module mug_body() {
difference() {
- cylinder(h=100, r=40);
- translate([0,0,6])
- cylinder(h=94, r=36);
+ cylinder(h=height, r=outer_r);
+ translate([0,0,bottom])
+ cylinder(h=height-bottom+1, r=outer_r-wall);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
- translate([54, 0, 50])
+ translate([handle_offset, 0, height/2])
rotate([90, 0, 0])
- torus(12, 4);
+ torus(handle_R, handle_r);
}
union() {
mug_body();
handle();
}
SCAD (37 lines)
$fn = 100;
outer_d = 80;
outer_r = outer_d / 2;
height = 100;
wall = 4;
bottom = 6;
handle_R = 12; // major radius
handle_r = 4; // tube radius
overlap = 2;
handle_offset = outer_r + handle_R + handle_r - overlap;
module mug_body() {
difference() {
cylinder(h=height, r=outer_r);
translate([0,0,bottom])
cylinder(h=height-bottom+1, r=outer_r-wall);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
translate([handle_offset, 0, height/2])
rotate([90, 0, 0])
torus(handle_R, handle_r);
}
union() {
mug_body();
handle();
}
diff vs i2: +0/-0
$fn = 100;
outer_d = 80;
outer_r = outer_d / 2;
height = 100;
wall = 4;
bottom = 6;
handle_R = 12; // major radius
handle_r = 4; // tube radius
overlap = 2;
handle_offset = outer_r + handle_R + handle_r - overlap;
module mug_body() {
difference() {
cylinder(h=height, r=outer_r);
translate([0,0,bottom])
cylinder(h=height-bottom+1, r=outer_r-wall);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
translate([handle_offset, 0, height/2])
rotate([90, 0, 0])
torus(handle_R, handle_r);
}
union() {
mug_body();
handle();
}
SCAD (37 lines)
$fn = 100;
outer_d = 80;
outer_r = outer_d / 2;
height = 100;
wall = 4;
bottom = 6;
handle_R = 12; // major radius
handle_r = 4; // tube radius
overlap = 2;
handle_offset = outer_r + handle_R + handle_r - overlap;
module mug_body() {
difference() {
cylinder(h=height, r=outer_r);
translate([0,0,bottom])
cylinder(h=height-bottom+1, r=outer_r-wall);
}
}
module torus(R, r) {
rotate_extrude()
translate([R, 0, 0])
circle(r);
}
module handle() {
translate([handle_offset, 0, height/2])
rotate([90, 0, 0])
torus(handle_R, handle_r);
}
union() {
mug_body();
handle();
}