import Blender from Blender import Mesh import bpy #makeCube code from: http://blenderartists.org/forum/showthread.php?131738-Python-Beginer-Create-A-Cube sce = bpy.data.scenes.active def makeCube(scn, orig, size, name): me = Mesh.Primitives.Cube(size) ob = scn.objects.new(me, name) ob.setLocation(*orig) def cubes(xyz, depth, state): if(depth==1): return else: size = pow(2.25,depth) offset = size/2 #makeCube(sce, [0, 0, 0], 2, "Cube") makeCube(sce, [xyz[0], xyz[1], xyz[2]], size, "cube") offset*=1 for teststate in range(0,pow(2,3)): if teststate == state: pass else: mask = 1 x = xyz[0]-offset y = xyz[1]-offset z = xyz[2]-offset if(teststate & mask != 0): x = xyz[0]+offset mask = mask<<1 if(teststate & mask != 0): y = xyz[1]+offset mask = mask<<1 if(teststate & mask != 0): z = xyz[2]+offset cubes((x,y,z), depth-1, (0b111)&(~teststate)) cubes((0,0,0), 4, .3) #makeCube(sce, [0, 0, 0], 2, "Cube") Blender.Redraw()