SCAD (12 lines)
// Parameters
h = 10;
// Single centered layer helper
module layer(size, z) {
translate([-size/2, -size/2, z]) cube([size, size, h]);
}
// Layers
layer(60, 0);
layer(40, h);
layer(20, 2*h); gpt-5-2025-08-07 7 run / 累計 63.4s / 累計 $0.0590
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
} OpenSCAD で、底辺 60mm × 60mm × 高さ 10mm の正方形の板の中央に、それより一回り小さい 40mm × 40mm × 高さ 10mm の板を載せ、さらにその中央に 20mm × 20mm × 高さ 10mm の板を 載せた、3 段の階段状ピラミッドを作ってください。各段は中心を揃えて積み上げます。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。
effort
// Parameters
h = 10;
// Single centered layer helper
module layer(size, z) {
translate([-size/2, -size/2, z]) cube([size, size, h]);
}
// Layers
layer(60, 0);
layer(40, h);
layer(20, 2*h);
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}
translate([0,0,5]) cube([60,60,10], center=true);
translate([0,0,15]) cube([40,40,10], center=true);
translate([0,0,25]) cube([20,20,10], center=true); iter-png
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}
union() {
translate([0, 0, 5]) cube([60, 60, 10], center=true);
translate([0, 0, 15]) cube([40, 40, 10], center=true);
translate([0, 0, 25]) cube([20, 20, 10], center=true);
}