#if 0 = auskommentieren mehr oder weniger #if 1 = schaltet den code dann ein #siehe script Loesung Hue 2 import rhinoscriptsyntax as rs import random as ran allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) rs.EnableRedraw(False) #variablen bsize = 10 #Seitenlaenge der Box dist = 1 #Distanz zwischen den Boxen offs = bsize + dist #Verschiebung der Boxen num = 20 #Boxenanzahl in einer Reihe size = 6 #Groesse des Karos beim Karomuster #Basix 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)] """ #macht linie gerade #my_c = rs.AddLine((0,0,0),(200,300,0)) #macht linie zickzack #my_c = rs.AddCurve([[0,0,0],[100,20,0],[300,-200,0],[500,200,0],[700,-400,0],[1200,900,0]],3) #macht spirale my_c = rs.AddSpiral((0,0,0),(0,0,3000), 66, 10, 30, 300) #Startpunkt, Endpunkt, Hoehe, Umdrehungen, Radius1, Radius 2 my_pts = rs.DivideCurve(my_c, 100, True, True) #zeigt Punkte bei true true #macht punkte aber zeigt sie nicht false true for p in my_pts: my_box = rs.AddBox(corners) rs.MoveObject(my_box,p) """ #rechteck zeichnen plane = rs.WorldXYPlane() #definert plane my_rect = rs.AddRectangle(plane, 200, 100) #random for i in range(600): xran = ran.randint(-100,300) yran = ran.randint(-400,200) zran = ran.randint(0,0) ranscale = ran.uniform(1,6) if not (rs.PointInPlanarClosedCurve([xran,yran,zran], my_rect,plane,0)): #0 ist ausserhalb, 1 ist innerhalb my_box = rs.AddBox(corners) rs.MoveObject(my_box,[xran,yran,zran]) rs.ScaleObject(my_box,[xran,yran,zran], [1,1,ranscale]) # ranscale kann auch nur in x,y oder z achse sein