import rhinoscriptsyntax as rs import random as ran #deleting and starting from scratch allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) bsize = 10 #side length of box dist = 1 #distance between boxes offs = bsize+dist #offset of boxes num = 10 #parameters of the 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)] #gotta be fast rs.EnableRedraw(False) #my_c = rs.AddLine((0,0,0), (200,30,0)) if 0: my_c = rs.AddCurve([(0,0,0), (20,30,0), (40,-30,0), (60,30,0), (80, -50,0), (100,50,0)], 3) my_spi = rs.AddSpiral((0,0,0), (0,0,100), 10, 10, 100, 50) pts = rs.DivideCurve(my_spi, 500, True, True) for i in pts: mbox = rs.AddBox(corners) rs.MoveObject(mbox, i) rs.ScaleObject(mbox, i, [1,1,i[2]]) for i in range(500): xran = ran.randint(0,200) yran = ran.randint(-300,200) zran = 0 ranhgt = ran.uniform(1,20) mbox =rs.AddBox(corners) rs.MoveObject(mbox, [xran, yran, zran]) rs.ScaleObject(mbox, [xran, yran, zran], [1,1,ranhgt])