iter-png-3/claude-opus-4-8 / tier-1-mug
success tier 1
bare (claude opus 4.8)
render
// マグカップのパラメータ
outer_diameter = 80; // 外径
outer_radius = outer_diameter / 2;
height = 100; // 高さ
wall_thickness = 4; // 肉厚
bottom_thickness = 6; // 底面の厚み
inner_radius = outer_radius - wall_thickness;
inner_height = height - bottom_thickness;
// 取手のパラメータ
handle_tube_radius = 6; // 取手の太さ(チューブの半径)
handle_ring_radius = 22; // 取手リングの半径(指が通る大きさ)
handle_z = height / 2; // 取手の取付け高さ(中心高さ)
$fn = 100;
// カップ本体
module cup_body() {
difference() {
// 外形
cylinder(h = height, r = outer_radius);
// 内側くり抜き
translate([0, 0, bottom_thickness])
cylinder(h = inner_height + 1, r = inner_radius);
}
}
// 取手(リング状)
// リングの穴が外周方向(指を横から通せる向き)に開くように配置
module handle() {
// リングの中心をカップ外周に重なる位置に置き、
// リング面を垂直(XZ平面)に立てて指穴を作る
translate([outer_radius, 0, handle_z])
rotate([0, 0, 0])
rotate_extrude(angle = 360)
translate([handle_ring_radius, 0, 0])
circle(r = handle_tube_radius);
}
// 全体の組み立て
union() {
cup_body();
// 取手はカップ外周から外側にはみ出すように配置し、
// 本体と確実に結合させる
intersection_for_union();
}
// 取手をカップにめり込ませず、外側に開いたリングとして付ける
module intersection_for_union() {
// 何もしない(下で直接 union 内に記述する代わりのダミー)
} パラメータ (6) —
スライダを動かすと openscad-wasm で再レンダリング
iteration chain
各 iteration step は独立した benchmark run です。parentRunId で前段にリンクします。
← parent
iter-png-2/claude-opus-4-8 success prompt
OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。 底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。 さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。 取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。