## # Menger Sponge # p01 2010 # Maya python script ## from maya.cmds import * from math import * def mengerSponge(x, y, z, sz, it, lvl=0): if lvl==it: polyCube(w=sz, h=sz, d=sz) move(x, y, z) else: s = sz / 3.0; for i in range(-1, 2): for j in range(-1, 2): for k in range(-1 ,2): sum = abs(i) + abs(j) + abs(k) if(sum and sum!=1): mengerSponge(x+i*s,y+j*s,z+k*s,s,it,lvl+1) def run(it=0, sz=50.0): if objExists('pCube1'): select(all=True) delete() mengerSponge(0, 0, 0, sz, it) select(cl=True) viewFit() def win(): window(t='Menger Sponge') columnLayout(rs=20) intSliderGrp(l='Iteration', field=1, min=0, max=3, v=0, cc=lambda x:run(int(x))) run() win()