tier-2-offset-handle-mug / openai/gpt-oss-20b
1 run / 累計 10.3s / 累計 $0
openai (self-hosted) gpt-oss-20b bare
bare (provider default effort)
run detail → render
no render
// マグカップ本体(外径 80mm、内径 70mm、厚み 5mm、底面厚み 6mm)
module mug_body() {
// 外側の円筒 (高さ 90mm)
outer = cylinder(r=40, h=90, $fn=100);
// 内側の空洞 (高さ 96mm=90+6 で底を含む)
inner = translate([0,0,-6]) cylinder(r=35, h=96, $fn=100);
body = difference() {
outer;
inner;
};
// 底面厚み 6mm
bottom = cylinder(r=40, h=6, $fn=100);
union() { body; bottom; }
}
// D 字形取手(+X側にのみ付ける)
module handle() {
// D字型の断面を作成
d_shape = polygon(points=[
[0, 15], // 内側直線端(左上)
[25, 15], // 外側直線端(右上)
[25, -15], // 外側直線端(右下)
[0, -15] // 内側直線端(左下)
]);
// 半円を外側に付ける
semicircle = rotate_extrude(angle=180)
translate([12.5, 0, 0])
circle(r=12.5, $fn=100);
// D字型断面の押し出し(厚み 5mm)
handle_profile = linear_extrude(height=5, center=true) d_shape;
// 半円を付けて形状化
handle_body = union() {
handle_profile;
translate([0,0,2.5]) semicircle; // 半円は厚み方向に重ねる
};
// 取手の位置(+X側、中央付近)
translate([45, 0, 30]) rotate([90,0,0]) handle_body;
}
// 本体と取手を確実に union してマニフォールド化
module mug_with_handle() {
union() {
mug_body();
handle();
}
}
mug_with_handle(); prompt
OpenSCAD で、向きが指定されたマグカップを作ってください。 本体: - 外径 80mm、内径 70mm(肉厚 5mm)、高さ 90mm の円筒形マグ - 底面の厚みは 6mm - 内側は飲み物を入れられるよう中空 取手(handle): - マグの **+X 軸方向の側面のみ** に付ける(他の方向には付けない) - 取手は D 字形状(外側が半円、本体側が直線)で、本体外周にしっかり接続する - 取手の内側の空間は高さ 30mm × 幅 25mm(指 3 本ぐらい入る) - 取手はマグの高さ方向の中央付近に付ける - 本体と取手は確実に union され、マニフォールド(隙間や宙吊りなし)を保つ 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。