1// Menger Sponge: https://en.wikipedia.org/wiki/Menger_sponge 2 3let 4 menger n = 5 let cutout = 6 union[ 7 for (i in 0..<n) 8 square(2/(3^(i+1))) 9 >> extrude inf 10 >> repeat_xy [2/(3^i), 2/(3^i)] 11 ]; 12 in cube 13 >> into difference [cutout] 14 >> into difference [reflect_yz cutout] 15 >> into difference [reflect_xz cutout]; 16 17in 18menger 4 19