SCAD (22 lines)
// 3段のステップピラミッド
// 各段は中心を揃えて積み上げる
step_sizes = [60, 40, 20]; // 各段の一辺の長さ (mm)
step_height = 10; // 各段の高さ (mm)
module step_pyramid(sizes, h) {
for (i = [0 : len(sizes) - 1]) {
translate([0, 0, i * h])
cube([sizes[i], sizes[i], h], center = false);
}
}
// 中心を揃えるために各段を移動させる版
module step_pyramid_centered(sizes, h) {
for (i = [0 : len(sizes) - 1]) {
translate([0, 0, i * h + h / 2])
cube([sizes[i], sizes[i], h], center = true);
}
}
step_pyramid_centered(step_sizes, step_height);