bare-high/gpt-5.4-nano / tier-1-mug
render_error tier 1
error
openscad stl render failed (exit 1): ERROR: Parser error: syntax error in file ../../../../../tmp/render-oOa0LT/input.scad, line 42 Can't parse file '/tmp/render-oOa0LT/input.scad'!
bare (gpt 5.4 nano)
render
no render
// Mug parameters
outer_d = 80; // 外径
height = 100; // 高さ
wall = 4; // 肉厚
bottom = 6; // 底面厚み
outer_r = outer_d / 2;
inner_r = outer_r - wall;
// Handle parameters
handle_major_r = 12; // 半径 12mm(リング状取手の大きさ)
handle_tube_r = wall; // 取手の断面半径(肉厚に合わせる)
handle_center_z = height / 2;
handle_depth = 20; // 取手の側面方向の厚み(見た目調整)
$fn = 100;
module torus(R=12, r=4) {
rotate_extrude(convexity=10, $fn=200)
translate([R, 0, 0])
circle(r=r, $fn=100);
}
module mug() {
difference() {
// 外形
cylinder(h=height, r=outer_r);
// 内側をくり抜き(底厚 bottom から上)
translate([0, 0, bottom])
cylinder(h=height - bottom, r=inner_r);
}
}
module handle() {
// 取手(Y軸方向にリング状)
axis_x = outer_r - (handle_major_r - handle_tube_r);
handle_torus =
translate([axis_x, 0, handle_center_z])
rotate([90, 0, 0])
torus(handle_major_r, handle_tube_r);
// 側面に付くようにクリップ(内側には入れすぎない/局所に留める)
x_clip_min = inner_r;
x_clip_max = outer_r + handle_major_r + handle_tube_r + 10;
clip_dx = x_clip_max - x_clip_min;
clip_cube = translate([x_clip_min, -handle_depth/2, 0])
cube([clip_dx, handle_depth, height], center=false);
intersection() {
handle_torus;
clip_cube;
}
}
// Final model
union() {
mug();
handle();
} prompt
OpenSCAD で、外径 80mm、高さ 100mm、肉厚 4mm のマグカップを作ってください。 底面の厚みは 6mm とし、内側はくり抜いて飲み物を入れられる形状にしてください。 さらに、側面には外径方向に飛び出す半径 12mm の取手(リング状の取手)を付けてください。 取手はカップの中心高さあたりに付け、外周から十分にはみ出して指を通せる形にしてください。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。