import rhinoscriptsyntax as rs import random as ran # delete everything and start from scratch allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) #function box def make_box(insertion=[0,0,0], xsize=50, ysize=50, zsize=50): #create a box corners= [[0,0,0], [xsize,0,0], [xsize,ysize,0], [0,ysize,0], [0,0,zsize],[xsize,0,zsize], [xsize,ysize,zsize], [0,ysize,zsize]] box= rs.AddBox(corners) return(box) xsize= 50 ysize= 50 zsize= 0.5 #Parameter x1=15 y1=x1*1.4 h1=x1/4 h2=h1*1.6 h3=h1*1.5 #PARAMETER verkleinerungx= 0.8 verkleinerungy= 0.3 #werte xx = x1*verkleinerungx xrest = (x1-xx)/2 yy = y1*verkleinerungy yrest = (y1-yy)/2 #boden grundplatte= make_box([xsize,ysize,0], xsize,ysize,zsize) rs.MoveObject(grundplatte, (0,0,h2)) #OG1 OG1= make_box([xsize,ysize,zsize], x1,y1,h2) rs.MoveObject(OG1, (xsize/2-x1/2,ysize/2-y1/2,zsize)) #OG2 OG2= make_box([xsize,ysize,zsize], x1,y1,h2) rs.MoveObject(OG2, (xsize/2-x1/2,ysize/2-y1/2,zsize+h2)) #OG3 OG3 = make_box([xsize,ysize,zsize],x1,y1-y1*0.2,h1) rs.MoveObject(OG3, (xsize/2-x1/2,ysize/2-y1/2,zsize+h2*2)) #OG4 OG4 = make_box([xsize,ysize,zsize],x1-x1*0.2,y1-y1*0.2-xrest*2,h1) rs.MoveObject(OG4, (xsize/2-x1/2+xrest*2,ysize/2-y1/2+xrest*2,zsize+h1+h2*2)) #OG5 OG5 = make_box([xsize,ysize,zsize], x1-x1*0.2,y1-y1*0.2-xrest*4,h3/2) rs.MoveObject(OG5, (xsize/2-x1/2+xrest*2,ysize/2-y1/2+xrest*3,zsize+h1*2+h2*2)) #OG6 OG6 = make_box([xsize,ysize,zsize], x1-x1*0.2,y1-y1*0.2-xrest*4,h3/2) rs.MoveObject(OG6, (xsize/2-x1/2.5,ysize/2-y1/2+xrest*3,zsize+h1*2+h2*2+h3/2)) #OG7 OG7 = make_box([xsize,ysize,zsize], x1-x1*0.2-xrest*1.5,y1-y1*0.2-xrest*5,h3) rs.MoveObject(OG7, (xsize/2-x1/3,ysize/2-y1/2+xrest*3.5,zsize+h1*2+h2*2+h3)) #OG8 OG8 = make_box([xsize,ysize,zsize], x1-x1*0.2-xrest*1.8,y1-y1*0.2-xrest*6,h3) rs.MoveObject(OG8, (xsize/2-x1/3,ysize/2-y1/2+xrest*4,zsize+h1*2+h2*2+h3*2)) #N1 N1= make_box([xsize,ysize,zsize], x1,y1,h2+h1) rs.MoveObject(N1, (xsize/2-x1/2-x1,ysize/2-y1/2,zsize+h2)) #N2 N2= make_box([xsize,ysize,zsize], x1,y1,h2+h1*2) rs.MoveObject(N2, (xsize/2+x1/2,ysize/2-y1/2,zsize+h2)) #N3 N3= make_box([xsize,ysize,zsize], x1/2,y1,h2+h1) rs.MoveObject(N3, (xsize/2-x1/2-x1,ysize/2-y1/2,zsize+h2*2+h1))