bare-xhigh/gpt-6-astra / tier-1-mug
success tier 1
bare (gpt 6 astra)
render
$fn = 160;
// 寸法(mm)
cup_outer_diameter = 80;
cup_height = 100;
wall_thickness = 4;
bottom_thickness = 6;
// 取手:外半径12mm、指穴直径20mm
handle_outer_radius = 12;
handle_inner_radius = 10;
handle_depth = 6;
handle_overlap = 1.5;
epsilon = 0.01;
cup_outer_radius = cup_outer_diameter / 2;
cup_inner_radius = cup_outer_radius - wall_thickness;
union() {
// カップ本体:底を6mm残し、上面までくり抜く
difference() {
cylinder(r = cup_outer_radius, h = cup_height);
translate([0, 0, bottom_thickness])
cylinder(
r = cup_inner_radius,
h = cup_height - bottom_thickness + epsilon
);
}
// XZ平面上のリング状取手
// 本体と重ねて接合し、指穴はカップ外周の外側に配置
translate([
cup_outer_radius + handle_outer_radius - handle_overlap,
0,
cup_height / 2
])
rotate([90, 0, 0])
difference() {
cylinder(
r = handle_outer_radius,
h = handle_depth,
center = true
);
cylinder(
r = handle_inner_radius,
h = handle_depth + 2 * epsilon,
center = true
);
}
} パラメータ (9) —
スライダを動かすと openscad-wasm で再レンダリング
prompt
OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。 底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。 さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。 取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。