import rhinoscriptsyntax as rs import random as ran # delete everything and start from scratch allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) bsize = 10 # side lenght of box dist = 1 # distance between boxes offs = bsize + dist # offset of boxes num = 12 # number of boxes in one row # create a 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)] rs.EnableRedraw(False) for i in range(num): for j in range(num): for p in range(num): #rahmen unten if not((0 < i <= (num-2)) and (0 < j <= (num-2))): box = rs.AddBox(corners) rs.MoveObjects(box, (i*offs,j*offs,0)) #4 stuetzen if not((0 < i <= (num-2)) and (0 < p <= (num-2))): box = rs.AddBox(corners) rs.MoveObjects(box, (0,0,p*offs)) if not((0 < i <= (num-2)) and (0 < p <= (num-2))): box = rs.AddBox(corners) rs.MoveObjects(box, ((num-1)*offs,0,p*offs)) if not((0 < i <= (num-2)) and (0 < p <= (num-2))): box = rs.AddBox(corners) rs.MoveObjects(box, ((num-1)*offs,(num-1)*offs,p*offs)) if not((0 < i <= (num-2)) and (0 < p <= (num-2))): box = rs.AddBox(corners) rs.MoveObjects(box, (0,(num-1)*offs,p*offs)) #rahmen oben if not((0 < i <= (num-2)) and (0 < j <= (num-2))): box = rs.AddBox(corners) rs.MoveObjects(box, (i*offs,j*offs,(num-1)*offs)) rs.EnableRedraw(True)