

##############################
import rhinoscriptsyntax as rs
import random
#############

rs.UnitSystem(4)                     
rs.EnableRedraw(0)
rs.DeleteObjects( rs.AllObjects() )

lenX = 10       
lenY = random.randint(lenX, lenX*4)
lenZ = random.randint(lenX, lenX*9)

print "\t _____________/################"
print "\t my randomized para.llel.epiped"
print "\t X/Y/Z =", str(lenX)+"/"+str(lenY)+"/"+str(lenZ)+" _____________"
print "\t ################/  \n"


vecX = [1, 0, 0]
vecY = rs.VectorUnitize([ random.uniform(0,0.5), random.uniform(0.5,1), 0 ])
vecZ = rs.VectorUnitize([ random.uniform(-0.5,0.5), random.uniform(-0.5,0.5), 1 ])

rs.ObjectColor( rs.AddCurve([ [0,0,0], rs.VectorScale(vecX, lenX) ] ), [200,0,0] )
rs.ObjectColor( rs.AddCurve([ [0,0,0], rs.VectorScale(vecY, lenY) ] ), [0,200,0] )
rs.ObjectColor( rs.AddCurve([ [0,0,0], rs.VectorScale(vecZ, lenZ) ] ), [0,0,200] )
rs.AddPoints( [rs.VectorScale(vecX, lenX), rs.VectorScale(vecY, lenY), rs.VectorScale(vecZ, lenZ)] )


ListGelb = []


for x in range (lenX+1):
    vector_X = rs.VectorScale (vecX, x)
    for y in range (lenY+1):
        vector_Y = rs.VectorAdd(vector_X, rs.VectorScale (vecY, y))
        for z in range (lenZ+1):
            vector_Z = rs.VectorAdd (vector_Y, rs.VectorScale(vecZ, z))
            if x>2:
                ListGelb.append(vector_Y)
            if z % 30 == 0 or y%7==0 :
                ListGelb.append(vector_Z)


random.shuffle(ListGelb)
rs.AddPoints(ListGelb)



if 1:
    import time
    rs.ZoomExtents()
    rs.Command("-zoom Factor 0.95 enter", 0)
    rs.Redraw()
if 0:
    path = "P:/hu_02/images/"
    name = "tst.png"
    rs.Command("-viewCaptureToFile Width=480  Height=360  Scale=1.5 TransparentBackground=Yes "+path+name, 0)
    name = "tst_"+str(int(time.time()))+".jpg"
    rs.Command("-viewCaptureToFile Width=480  Height=360  Scale=2 TransparentBackground=No  "+path+name, 0)
