import rhinoscriptsyntax as rs import random as ran import fantastic_stairs_lib as fs import flipped_classroom_lib as fc #delete everything and start from scratch rs.DeleteObjects(rs.AllObjects()) #Variablen lift_a= 20 lift_b= 30 p_num=80 pt= 8 #Anzahl der Petals size_a = 10 #Pixelaufteilung auf den Petals hgt= lift_a/2 center_radius= 30 #Radius der Freiflaeche fuer die Kuppel center_height= 20 #Hoehe der Kuppel l_en= 100 pt_1= [l_en/2,0,lift_a] pt_2= (l_en,0,lift_b) #ptlist= [[0,0,0],[l_en/2,10,lift_a], [l_en,80,lift_b], [l_en/2,10,lift_a],[0,0,0]] #Bluetenblatt crv = rs.AddCurve([[0,0,0],[100,10,lift_a], [40,80,lift_b], [5,10,lift_a],[0,0,0]], 5) rs.RebuildCurve(crv, 6, p_num) c_len= rs.CurveLength(crv) seg_len = c_len/p_num ptc = rs.AddPatch(crv,(size_a,size_a)) #Flaeche des Bluetenblattes #Kopieren und Verschieben der Blaetter in 360 Grad for i in range(pt): rs.RotateObject(ptc,[0,0,0],360/pt*i,copy=True) #Stuetzen coll=rs.DivideCurve(crv,13) boxes=[] for p in coll: box= fc.make_box((p[0],p[1],0),1,1,p[2]) boxes.append(box) for i in range(pt): for box in boxes: rs.RotateObject(box,[0,0,0],360/pt*i,copy=True) #Pipe um Bluetenblatt pipe= rs.AddPipe(crv, 0, 1) for i in range(pt): rs.RotateObject(pipe,[0,0,0],360/pt*i,copy=True) """ #Glaskugel in der Mitte quad = [[0,0,0], [5,0,0], [10,0,12], [0,0,12]] quad = [[0,0,0], [5,4,0], [10,4,12], [0,0,12]] quad = [[0,0,0], [5,0,0], [10,2,12], [0,2,12]] quad = [[0,0,0], [5,0,0], [8,2,12], [2,2,12]] quad = [[0,0,0], [5,2,0], [10,-2,12], [0,2,10]] result_list = fc.PEF_single_face(quad) #result_list = fc.PEF_face(7, 10, 8.0, 5.0, 30) #result_list = fc.PEF_face_w(7, 10, 8.0, 5.0, 30, 2.0) result_list = fc.PEF_pantheon() #rs.DeleteObjects(rs.AllObjects()) p_list = result_list[0] # Pointlist, contains single points e_list = result_list[1] # Horizontal Edgelist, contains lists with two points ve_list = result_list[2] # Vertical Edgelist, contains lists with two points f_list = result_list[3] # Facelist, contans lists with four points (quads) zcol = result_list[4] # number of levels of faces xcol = result_list[5] # number of faces in one level if 1: for i in range(zcol): for j in range(xcol): points = f_list[i*xcol+j] (P0,P1,P2,P3) = points cpoints=[P0,P1,P2,P3,P0] plinea = rs.AddCurve(cpoints,2) plineb = rs.AddCurve(cpoints,3) #loftsurf = rs.AddLoftSrf([plinea, plineb]) rs.Command("-_Loft selid {} selid {} _Enter _Enter _Enter".format(plinea, plineb), False) loftsurf = rs.FirstObject() rs.OffsetSurface(loftsurf, .2, both_sides=True, create_solid=True) """ rs.EnableRedraw(True)