import rhinoscriptsyntax as rs import random as ran import fantastic_stairs_lib as fs p_val=8 # delete everything and start from scratch rs.DeleteObjects(rs.AllObjects()) twr_height1=65 twr_height2=63 twr_height3=60 #beton stuetze(kern) crl=rs.AddCircle([0,0,0],2) circle=rs.FirstObject(select=False) rs.ExtrudeCurveStraight(crl,[0,0,0],[0,0,twr_height3]) srf = rs.FirstObject(select=False) rs.CapPlanarHoles(srf) #stiege crv=rs.AddSpiral([0,0,0],[0,0,1],0,7,2.5) fs.make_curved_stair(crv, th=0.185526316, steps=304) #handrail crv2=rs.AddSpiral([0,0,0],[0,0,50],9.7,5.805,3.1) crv3=rs.CopyObject(crv2,[0,0,1.2]) if crv2 and crv3: rs.AddLoftSrf([crv2,crv3]) #beton stuetzen crl2=rs.AddCircle([0,0,0],7) pts=rs.DivideCurve(crl2,p_val,create_points=True,return_points=True) for p in pts: crv = rs.AddCurve([p,(p[0],p[1],56.6)],1) pipes=rs.AddPipe(crv,0,0.4) rs.CapPlanarHoles(pipes) #lamellenfassade x_size=8 y_size=8 #pts.append(pts[0]) #fac1=rs.AddPolyline(pts) fac=rs.AddPolyline(([x_size,y_size,0],[x_size,-y_size,0],[-x_size,-y_size,0],[-x_size,y_size,0],[x_size,y_size,0])) pl=rs.FirstObject(select=False) srf1=rs.ExtrudeCurveStraight(fac,[0,0,0],[0,0,0.4]) #sr2f=rs.FirstObject(select=True) #rs.CopyObject(srf1,translation=[0,0,0.9]) #fassade for k in range(57): # angel=ran.randint(0,50) #random anordnung der fassade angel=5*k #twist einstellungen srf2=rs.RotateObject(srf1,[0,0,0],angel,axis=None,copy=True) rs.MoveObject(srf2, (0,0,1*k)) rs.DeleteObject(srf1) #for j in range(57): # rs.CopyObject(srf1,(0,0,1*j)) #stiegenloch sl=rs.AddCircle([0,0,0],3.1) sl_ex=rs.ExtrudeCurveStraight(sl,[0,0,1],[0,0,twr_height1]) #panorama plattformen z_size1=50 z_size2=57 pts.append(pts[0]) #pan1=rs.AddPolyline(([x_size,y_size,z_size1],[x_size,-y_size,z_size1],[-x_size,-y_size,z_size1],[-x_size,y_size,z_size1],[x_size,y_size,z_size1])) pan1=rs.AddPolyline(pts) #pan1=rs.ExtrudeCurveStraight(pan1,[x_size,y_size,z_size1],[x_size,y_size,50.6]) cmd = "_ExtrudeCrv _SelID {} _SelID {} _Enter 0.4 _Enter".format(pan1,sl) rs.Command(cmd,False) pan1 = rs.FirstObject() rs.DeleteObjects([sl,sl_ex]) #rs.ExtrudeCurves([pan1,sl],[x_size,y_size,z_size1],[x_size,y_size,50.6]) rs.CapPlanarHoles(pan1) for i in range(15): rs.CopyObject(pan1, (0,0,4*i)) #abschluss mc=rs.AddCircle([0,0,twr_height3],1) mc1=rs.ExtrudeCurveStraight(mc,[0,0,twr_height3],[0,0,twr_height2]) rs.CapPlanarHoles(mc1) uc=rs.AddCircle([0,0,twr_height2],0.5) uc1=rs.ExtrudeCurveStraight(uc,[0,0,twr_height2],[0,0,twr_height1]) rs.CapPlanarHoles(uc1)