
################


################

import rhinoscriptsyntax as rs
import random, time, sys 

#allObjs = rs.AllObjects()
#rs.DeleteObjects( allObjs )




if 1 > 0:
    listX = [2, 5, 6, 7, 8, 1001]
    print listX
    i = 0
    for value in listX:
        print "index",i, "eintrag * 7=", value, "*7 =",
        print value * 7
        i = i + 10
        i = i + 1
        if i > 3:
            print "groesser > 3"
        else:
            print




#print "_________________"
#for x, value in enumerate(listX):
#    print "index",i, "eintrag * 7=", value, "*7 =",


print "range", range(10) 

print int(1<10) ### true ==1
print int(1>10) ### false == 0
print int(1==10) ### false == 0
print int(10==10) ### true == 1
print int("dixi"=="dixI") ### ist case_sesitiv


for x in range(5):
    print x
#rs.AddPoint( [10, 3, 5] ) 
#rs.AddPoint( [12, 3, 5] ) 
rs.ZoomExtents()

rs.AddCurve(coords, 1 ) 

coords = []
for x in range(5):
    #print x 
    for y in range(5):
        rs.AddPoint( [x, 3, 5] ) 
        rs.ZoomExtents()
        coords.append( [x,y*0.3, 5] )
rs.AddCurve( coord, 1)
rs.AddCurve( coord, )
rs.AddCurve( coord, 1)

for i in range(2222):
    x = random.uniform(0, 5)
    y = random.uniform(0, 10)
    z = random.uniform(0, 7) 

#for ID in allObjs:
    pass
    #print ID
    #rs.DeleteObject( ID ) 
    
    
    
############################
### diag @ IAM @ DM2_w25 ###
### hu_02 setUp_ver00    ### see examples @ DM2_w23 hu_02 !
############################


##############################
import rhinoscriptsyntax as rs
import random, time, sys   ###
sys.path.append("P:/")     ###                  ### diag's path to DM_lib.py      DRINNENLASSEN                         
sys.path.append("P:/WWW/ljhs3/dm2/")             ### *your* path to DM_lib.py                                            
sys.path.append("/Users/macpro/Desktop/dm2/")   ### *your* path to DM_lib.py                        ### *your* path to DM_lib.py         
import DM_lib as dm        ###                  ### "dm" is alias for DM_lib / for adressing definitions in  DM_lib
############################## reload(dm)

print "sys.path:"
for pth in sys.path:
    print "      ",pth
print

rs.ShowGrid(show=0)
rs.ShowGridAxes(show=0)
rs.ViewDisplayMode(mode="Wireframe")
rs.EnableRedraw(0)
dm.PointRadius(displayModeX=0, rad=3, styl=3)
dm.printDisplay(state=0)

rs.DeleteObjects(rs.AllObjects())

allCoords = dm.setUp_hu_02( anzahl=8*16,  rotateSqu=random.uniform(0,1001) )
coordsCir=allCoords[0]
coordsSqu=allCoords[1]

##### check setup - just visualization of coords
##### don't execute  @ final version of homework
if 0:
    rs.AddPoints( coordsCir )
    rs.AddPoints( coordsSqu )
if 0:
    rs.ObjectColor(dm.textDots(coordsCir), [111,0,11])
    rs.ObjectColor(dm.textDots(coordsSqu), [11,0,111])
if 1:
    rs.AddCurve( coordsCir, 1)
    rs.AddCurve( coordsSqu, 1)
    for i in range( len(coordsSqu) ):
        p0  = coordsCir[i]
        p1  = coordsSqu[i]
        lin = rs.AddLine(p0, p1)
        rs.ObjectName(lin, "linx_"+str(i))
        rs.ObjectColor(lin, [222*(i!=0), 22*(i!=0), 222])
        rs.ObjectPrintWidth( lin, 1.0*(i==0) )
##### end check setup

allCoords = coordsCir + coordsSqu
random.shuffle( allCoords )
#rs.AddCurve( allCoords, 2)
#rs.AddCurve( allCoords, 1)

linx = rs.ObjectsByName("linx_*")
divi_coords = rs.DivideCurve( linx[-1], 16, create_points=1) ### DivideCurve(curve_id, segments, create_points=False, return_points=True) 

anz = 6
all_divi_coords = [ rs.DivideCurve( lin, anz, create_points=0) for lin in linx ]


rs.DeleteObjects( rs.AllObjects())

len_linx = len(linx)
for i in range(anz+1):
    coords = []
    for c in range(len_linx):
        coords.append(all_divi_coords[c][i])
    coords.append(coords[0])
    rs.AddCurve( coords, 1)
    random.shuffle( coords)
    rs.AddCurve( coords[0:16], 1)

for coords in all_divi_coords[0:int(len_linx*.5)]:
    rs.AddCurve( coords, 1)



################ here you go as you go:
### rs.DeleteObjects( rs.AllObjects())

################
rs.ZoomExtents()




