#golden gate bridge skript import rhinoscriptsyntax as rs import random as ran import flipped_classroom_lib as fc rs.DeleteObjects(rs.AllObjects()) ########################################################################### ########################################################################### #Masse #length=1280 #Leange zwischen den Stuetzen #heigth=230 #total height (m) #t_length=345 #Laenge nach den Stuetzen 345m bsize=27 #Fahrbahnbreite csize=1979 #Fahrbahnlaenge dsize=4 #Fahrbahndicke fsize=10 #y-Richtwert Stuetze unter der Fahrbahn asize=3 #Mittelteil y-Wert gsize=47 #z-Wert Stuetze unter der Fahrbahn ksize=35 #Gruendung Stuetze x-Wert und y-Wert msize=20 #Gruendung Stuetze z-Wert nsize=21 #Mittelteil 2 x-Wert psize=30 #Teil 2 ober der Fahrbahn z-Wert qsize=24 #Mittelteil 1 x-Wert isize=18 #Mittelteil 3 x-Wert ssize=55 #Teil ober der Fahrbahn z-Wert xsize=3 #x-Wert Stuetze unter der Fahrbahn ysize=9 #Mittelteil 1 z-Wert zsize=29 #Verstrebungen x-Wert hsize=46 #z-Wert Stuetze Teil ober der Fahrbahn ############################################################################ #Fahrbahn ############################################################################ #add box corners=[(0,0,0),(bsize,0,0),(bsize,csize,0),(0,csize,0),(0,0,dsize),(bsize,0,dsize),(bsize,csize,dsize),(0,csize,dsize)] bo=rs.AddBox(corners) rs.MoveObject(bo,[0,0,67]) ############################################################################# #Stuetzen ############################################################################# #add box - Stuetze 1 und 2 #unterstes Teil corners=[(0,0,0),(ksize,0,0),(ksize,ksize,0),(0,ksize,0),(0,0,msize),(ksize,0,msize),(ksize,ksize,msize),(0,ksize,msize)] st=rs.AddBox(corners) m2=rs.MoveObject(st,[-4,332.5,0]) ################################################### #Teil unter der Fahrbahn corners=[(0,0,0),(xsize,0,0),(xsize,fsize,0),(0,fsize,0),(0,0,gsize),(xsize,0,gsize),(xsize,fsize,gsize),(0,fsize,gsize)] st=rs.AddBox(corners) sts1=rs.MoveObject(st,[0,345,20]) m3=rs.CopyObject(sts1,[24,0,0]) #Mittelteil 1 corners=[(0,0,0),(bsize,0,0),(bsize,fsize,0),(0,fsize,0),(0,0,xsize),(bsize,0,xsize),(bsize,fsize,xsize),(0,fsize,xsize)] st=rs.AddBox(corners) sts=rs.MoveObject(st,[0,345,27]) #Mittelteil 2 m1=rs.CopyObject(sts,[0,0,20]) rs.CopyObject((m3,sts,m1,sts1,m2),[0,1280,0]) ###################################################### #Verstrebungen corners=[(0,0,0),(zsize,0,0),(zsize,fsize,0),(0,fsize,0),(0,0,xsize),(zsize,0,xsize),(zsize,fsize,xsize),(0,fsize,xsize)] st=rs.AddBox(corners) rs.MoveObject(st,[0,1625,47]) ts=rs.RotateObject(st,[0,1625,47],45,axis=[0,10,0],copy=False) ms=rs.MoveObject(ts,[2,0,0.5]) ls=rs.RotateObject(st,[0,1625,47],90,axis=[0,10,0],copy=True) ps=rs.MoveObject(ls,[22,0,5]) q=rs.CopyObjects([ps,ms],[0,0,20]) rs.CopyObjects(q,[0,-1280,-0.5]) rs.CopyObjects([ps,ms],[0,-1280,-0.5]) #################################################### #Teil oberhalb der Fahrbahn corners=[(0,0,0),(xsize,0,0),(xsize,fsize,0),(0,fsize,0),(0,0,ssize),(xsize,0,ssize),(xsize,fsize,ssize),(0,fsize,ssize)] st1=rs.AddBox(corners) p4=rs.MoveObject(st1,[0,1625,69]) st2=rs.CopyObject(p4,[24,0,0]) #Mittelteil 1 corners=[(0,0,0),(bsize,0,0),(bsize,asize,0),(0,asize,0),(0,0,ysize),(bsize,0,ysize),(bsize,asize,ysize),(0,asize,ysize)] st3=rs.AddBox(corners) rs.MoveObject(st3,[0,1628.5,115]) ################################################### #Teil 1 oberhalb der Fahrbahn corners=[(0,0,0),(xsize,0,0),(xsize,fsize,0),(0,fsize,0),(0,0,hsize),(xsize,0,hsize),(xsize,fsize,hsize),(0,fsize,hsize)] st4=rs.AddBox(corners) p3=rs.MoveObject(st4,[1.5,1625,124]) st5=rs.CopyObject(p3,[21,0,0]) #Mittelteil 1 corners=[(0,0,0),(qsize,0,0),(qsize,asize,0),(0,asize,0),(0,0,ysize),(qsize,0,ysize),(qsize,asize,ysize),(0,asize,ysize)] st6=rs.AddBox(corners) rs.MoveObject(st6,[1.5,1628.5,161]) ################################################### #Teil 2 oberhalb der Fahrbahn corners=[(0,0,0),(xsize,0,0),(xsize,fsize,0),(0,fsize,0),(0,0,psize),(xsize,0,psize),(xsize,fsize,psize),(0,fsize,psize)] st7=rs.AddBox(corners) p2=rs.MoveObject(st7,[3,1625,170]) st8=rs.CopyObject(p2,[18,0,0]) #Mittelteil 2 corners=[(0,0,0),(nsize,0,0),(nsize,asize,0),(0,asize,0),(0,0,ysize),(nsize,0,ysize),(nsize,asize,ysize),(0,asize,ysize)] st9=rs.AddBox(corners) rs.MoveObject(st9,[3,1628.5,191]) ################################################## #Teil 3 oberhalb der Fahrbahn corners=[(0,0,0),(xsize,0,0),(xsize,fsize,0),(0,fsize,0),(0,0,psize),(xsize,0,psize),(xsize,fsize,psize),(0,fsize,psize)] st10=rs.AddBox(corners) p5=rs.MoveObject(st10,[4.5,1625,200]) st11=rs.CopyObject(p5,[15,0,0]) #Mittelteil 3 corners=[(0,0,0),(isize,0,0),(isize,asize,0),(0,asize,0),(0,0,ysize),(isize,0,ysize),(isize,asize,ysize),(0,asize,ysize)] st12=rs.AddBox(corners) rs.MoveObject(st12,[4.5,1628.5,221]) ################################################### #Stuetze 2 kopieren rs.CopyObjects((st1,st2,st3,st4,st5,st6,st7,st8,st9,st10,st11,st12),[0,-1280,0]) ############################################################################ #Stahlseile ############################################################################ #Stahlseil Mitte sta=rs.AddCurve(([6,350,230],[-5,985,-67],[6,1630,230]),degree=2) stah=rs.AddCurve(([21,350,230],[33,985,-67],[21,1630,230]),degree=2) stap=rs.AddPipe(sta,0,1) rs.AddPipe(stah,0,1) #Stahlseil Seite 1 sta1=rs.AddCurve(([0,0,71],[0,167.5,67],[6,349,230]),2) pip1=rs.AddPipe(sta1,0,1) #Stahlseil Seite 2 sta2=rs.AddCurve(([27,0,71],[22,167.5,67],[21,349,230]),2) pip2=rs.AddPipe(sta2,0,1) #Stahlseil 3 und 4 rp=rs.RotateObject((pip1,pip2),[13.5,990,0],180,axis=None,copy=True) ############################################################################ #Pfeiler ############################################################################ #rs.AddCylinder([0,0,67],height=10,radius=0.5,cap=True) #rs.AddCylinder([0,10,67],height=15,radius=0.5,cap=True) azpf=10 #Anzahl der Pfeiler lapf=345 #Laenge abpf=2 #Abstand zwischen den Pfeiler hoepf=[2,3,4,5,6,7,6,5,4,3] #Hoehe der Pfeiler #loop erstellen fuer Pfeiler alle paar Meter for i in range (lapf): y_position=i*abpf pf=rs.AddCylinder([0,40,71],1,radius=0.5,cap=True) rs.CopyObject(pf,(0,10,0)) c=rs.AddLine([0,0,71],[0,1979,71]) points=rs.DivideCurveLength(c,10) for point in points: rs.AddPoint(point) """ if point: start=rs.GetPoint(p) if start: end=rs.GetPoint("End of line") if end: rs.AddLine(start,end) """