#declare stage0 = box { <-0.5,-0.5,-0.5>, <0.5,0.5,0.5> } #declare stage1 = union { #declare k=-2; #while (k<3) #declare j=-2; #while (j<3) #declare i=-2; #while (i<3) #switch (k) #case (-1) #case (1) #if (mod(abs(i),2) = 0) #if (mod(abs(j),2) = 0) object { stage0 translate } #end #end #break #case (-2) #case (0) #case (2) #if (abs(i) * abs(j) != 1) object { stage0 translate } #end #break #end #declare i=i+1; #end #declare j=j+1; #end #declare k=k+1; #end scale 1/5 }