############################## import rhinoscriptsyntax as rs import random, time, sys ### sys.path.append("P:/") ### add path where "DM_lib.py" can be found !!! import DM_lib as dm ### reload(dm) ############################## rs.EnableRedraw(0) dm.eA() rs.Redraw() n = 5 a = b = 1 print fibReihe = [a,b] for i in range(n): c = a+b a = b b = c fibReihe.append(c) print "fibi =", fibReihe for i,fibi in enumerate(fibReihe): rect = rs.AddRectangle([[0,0,0], [fibi,0,0], [0,fibi,0]], fibi, fibi) rs.RotateObject(rect, [0,0,0], -90, [0,0,1]) rs.ObjectName( rect, "fibi_"+str(i) ) if i: p0 = rs.CurveEditPoints(rs.ObjectsByType(4)[0])[(i-0)%4-0] p1 = rs.CurveEditPoints(rs.ObjectsByType(4)[1])[(i+1)%4-0] ##coords = rs.CurveEditPoints(rs.ObjectsByType(4)[0]) ##print i, "..", fibi, "--", (i-0)%4, i%4, ".." , ##print p0, p1, "__", rs.VectorSubtract(p1, p0) #rs.ObjectColor(rs.AddPoint(p0), [200,0,0]) #rs.ObjectName( rs.AddPoint(p0), str(i)) rs.MoveObject(rs.ObjectsByType(4)[0], rs.VectorSubtract(p1, p0)) ##coords = rs.CurveEditPoints(rs.ObjectsByType(4)[0]) #rs.AddCurve(coords[0:3], 2) dm.zA() fibis = rs.ObjectsByName("fibi_*", 1) fibis.reverse() print "len(fibis)", len(fibis) rota = 0 spiraCoords=[] floor = 6 for i,crv in enumerate(fibis[1:]): coords = rs.CurveEditPoints(crv) p0 = dm.pnt2str( coords[0] ) p1 = dm.pnt2str( coords[1] ) p3 = dm.pnt2str( coords[3] ) #p3 = rs.VectorAdd(p3, rs.VectorScale( dVec3, 500.0 ) ) rs.Command("Arc "+str(p0)+" "+str(p1)+" "+str(p3)+" enter", 0) rs.ObjectColor(rs.AllObjects()[0], [200,100,100]) #rs.RotateObject(rs.AddCurve(coords[1:4], 2), dm.pntCentroid(coords[0:4]), rota) rs.RotateObject(rs.AllObjects()[0], dm.pntCentroid(coords[0:4]), rota+180*(0)) rota += 90#*(i>0) print i, fibReihe[i+1] coords = rs.CurveEditPoints(rs.AllObjects()[0]) #print "fibReihei-0",fibReihe[i-0] for i in range(floor): coords[0][2]=i#fibReihe[i-0] coords[1][2]=i#fibReihe[i-0]+(fibReihe[i+1]-fibReihe[i-0])*0.5 coords[2][2]=i#fibReihe[i+1] rs.AddArc3Pt(coords[0], coords[2], coords[1]) if i==0: coords[0][2]=0 coords[1][2]=0.5 coords[2][2]=1 # rs.AddArc3Pt(coords[0], coords[2], coords[1]) rs.ObjectColor(rs.AllObjects()[0], [100,100,200]) spiraCoords.extend( coords[1:3]) #rs.AddCurve( spiraCoords, 1) #rs.AddCurve( spiraCoords, 2) #rs.AddInterpCurve(spiraCoords, degree=3, knotstyle=3, start_tangent=None, end_tangent=None)