import rhinoscriptsyntax as rs import random as ran allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) bsize = 10 # side lenght of the box dist = 1 # is the distance between boxes offs = bsize + dist # offset of boxes num = 10 # is number of boxes in a row # erschaffe eine Box corners = [(0,0,0), (bsize,0,0), (bsize,bsize,0), (0,bsize,0), (0,0,bsize), (bsize,0,bsize), (bsize,bsize,bsize), (0,bsize,bsize)] # Schalte das automatische Redraw ab, um Performance zu verbessern rs.EnableRedraw(False) """ gz = range(0,num**3,2) fibonacci=[0] a, b = 0, 2 while b < (num ** 3): fibonacci.append(b) a,b = b, a+b print fibonacci for i in range(num): for j in range(num): for k in range(num): # nur bei geraden Zahlen if not ((i+j+k) in fibonacci): box = rs.AddBox(corners) rs.MoveObject(box, (i*offs,j*offs,k*offs)) """ """ for i in range(num): for j in range(num): for k in range(num): # nur bei geraden Zahlen if ((i in fibonacci) or (j in fibonacci) or (k in fibonacci)): box = rs.AddBox(corners) rs.MoveObject(box, (i*offs,j*offs,k*offs)) """ # how to change the color for i in range(num): for j in range(num): for k in range(num): if (i+j+k) % 2: box = rs.AddBox(corners) rs.MoveObject(box, (i * offs, j * offs, k*offs)) rs.ObjectColor(box,(i*(255/num),j*(255/num),k*(255/num))) for i in range(num): for j in range(num): myran = ran.randint(0,9) if (myran > 2) : if ((i+j)%3) and ((i-j)%3): box = rs.AddBox(corners) # Verschiebt jede Box entsprechend ihrer Position in der Reihe rs.MoveObject(box, (i * offs, j * offs, 0)) """ rs.EnableRedraw(False) for i in range(num): for j in range(num): for k in range(num): myran = ran.randint(0,9) if (myran > 1) : if ((i+j+k)%3) and ((i-j-k)%3)and((i-j+k)%3)and((i-j-k)%3): box = rs.AddBox(corners) rs.MoveObject(box, (i * offs, j * offs, k*offs)) else: box = rs.AddBox(corners) rs.MoveObject(box, (i * offs, j * offs, k*offs)) rs.ObjectColor(box,(255,0,0)) """ # Erzeuge Boxen in einem Gitter # for i in range(num): # for j in range(num): # if ((i+j)%6) and ((i-j)%6): # box = rs.AddBox(corners) # # Verschiebt jede Box entsprechend ihrer Position in der Reihe # rs.MoveObject(box, (i * offs, j * offs, 0)) rs.EnableRedraw(True)