SCAD (12 lines)
// 1段目
cube(size = [60, 60, 10]);
// 2段目
translate([-(40/2 - 60/2), -(40/2 - 60/2), 10]) {
cube(size = [40, 40, 10]);
}
// 3段目
translate([-(20/2 - 60/2), -(20/2 - 60/2), 20]) {
cube(size = [20, 20, 10]);
} gemini-2.5-flash 6 run / 累計 31.4s / 累計 $0.0034
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
} OpenSCAD で、底辺 60mm × 60mm × 高さ 10mm の正方形の板の中央に、それより一回り小さい 40mm × 40mm × 高さ 10mm の板を載せ、さらにその中央に 20mm × 20mm × 高さ 10mm の板を 載せた、3 段の階段状ピラミッドを作ってください。各段は中心を揃えて積み上げます。 完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。
thinking
// 1段目
cube(size = [60, 60, 10]);
// 2段目
translate([-(40/2 - 60/2), -(40/2 - 60/2), 10]) {
cube(size = [40, 40, 10]);
}
// 3段目
translate([-(20/2 - 60/2), -(20/2 - 60/2), 20]) {
cube(size = [20, 20, 10]);
}
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
} iter-png
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
}
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
}
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
}
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
}
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
}
// 最下段: 60mm x 60mm x 高さ 10mm
cube([60, 60, 10], center = true);
// 中段: 40mm x 40mm x 高さ 10mm
// 最下段の上に配置するため、Z軸方向に10mm移動
translate([0, 0, 10]) {
cube([40, 40, 10], center = true);
}
// 最上段: 20mm x 20mm x 高さ 10mm
// 最下段と中段の上に配置するため、Z軸方向に20mm移動
translate([0, 0, 20]) {
cube([20, 20, 10], center = true);
}