bare/claude-sonnet-4-6 / tier-1-mug
success tier 1
bare (claude sonnet 4.6)
render
// マグカップ
// 外径: 80mm, 高さ: 100mm, 肉厚: 4mm, 底厚: 6mm
$fn = 128;
// パラメータ
outer_radius = 40; // 外径80mm → 半径40mm
cup_height = 100; // 高さ
wall = 4; // 肉厚
bottom = 6; // 底面の厚み
inner_radius = outer_radius - wall; // 内径半径 = 36mm
// 取手パラメータ
handle_tube_radius = 6; // 取手チューブの断面半径
handle_ring_radius = 18; // 取手リングの中心半径(リング中心までの距離)
handle_height = cup_height / 2; // カップ中心高さ
handle_offset = outer_radius + handle_ring_radius; // リング中心のX座標
difference() {
union() {
// カップ本体(外側シリンダー)
cylinder(h = cup_height, r = outer_radius);
// 取手:トーラス状リング(側面に接続)
translate([handle_offset, 0, handle_height])
rotate([90, 0, 0])
rotate_extrude(angle = 360, $fn = 128)
translate([handle_ring_radius, 0, 0])
circle(r = handle_tube_radius, $fn = 64);
}
// 内側をくり抜く(底面を残す)
translate([0, 0, bottom])
cylinder(h = cup_height - bottom + 1, r = inner_radius);
// 取手の内部をくり抜く(中空チューブにする)
translate([handle_offset, 0, handle_height])
rotate([90, 0, 0])
rotate_extrude(angle = 360, $fn = 128)
translate([handle_ring_radius, 0, 0])
circle(r = handle_tube_radius - wall, $fn = 64);
// 取手とカップ本体の接合部の穴を開けて指が通るようにする
// (カップ内部のくり抜きがリング中心空洞と干渉しないよう、
// 取手内部の穴がカップ外壁を貫通する部分のみ除去)
// 取手内部空洞(カップ壁を通り抜ける穴)
translate([outer_radius - wall - 0.5, 0, handle_height])
rotate([0, 90, 0])
cylinder(h = wall * 2 + 1, r = handle_tube_radius - wall, $fn = 64);
} パラメータ (6) —
スライダを動かすと openscad-wasm で再レンダリング
iteration chain
各 iteration step は独立した benchmark run です。parentRunId で前段にリンクします。
→ children (1)
prompt
OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。 底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。 さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。 取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。