#HUE1 Eva Sophie Strobl _ Hirschberg 2 #Vereinfachung der Hersetllung der Verbindung von Rhino und Python import rhinoscriptsyntax as rs #Um bei jedem Durchlauf neu zu zeichnen und davor gezeichnetes zu loeschen allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) Initial1 = "E" Initial2 = "S" hgt = 70 hgt2 = 30 size = 7 size2 = 3 #Formen des Ersten Buchstabens in Form E: #Achtung: nicht vergessen: Close, damit die Kurve geschlossen wird rs.Command("_Curve Degree=3 81,8,0 78,34,0 63,49,0 33,53,0 43,65,0 66,55,0 73,67,0 54,81,0 57,91,0 73,97,0 95,65,0 116,65,0 124,91,0 82,121,0 47,121,0 27,88,0 1,53,0 22,29,0 Close _Done") crv = rs.FirstObject(select=True) #Formen des Ersten Buchstabens in Hoehe 70 rs.Command("_ExtrudeCrv Solid=No DeleteInput=Yes {} _Enter".format(hgt)) srf = rs.FirstObject(select=True) ### #Erstellen von Punkten entlang des Koerpers rs.Command("-_Rebuild UPointCount=10 VPointCount=7 UDegree=3 VDegree=3 DeleteInput=Yes _Enter") rs.EnableObjectGrips(srf, True) #Folgendes ist nicht unbedingt notwendig, kann jedoch einen guten Ueberblick schaffen #Zuordnen von einzelnen Punkten der Figur zu nummerierten Punkte um diese verziehen zu koennen #pointlist = rs.ObjectGripLocations(srf) #print pointlist #for i,pt in enumerate(pointlist): # cmd = "-Dot {} {} _Enter".format(str(i),str(pt)) # rs.Command(cmd,False) #Verschieben von gewaehlten Punkten in beliebige Richtungen rs.SelectObjectGrip(srf,13) rs.Command("_Move 0,0,0 -14,23,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,2) rs.Command("_Move 0,0,0 20,13,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,55) rs.Command("_Move 0,0,0 10,20,0 _Enter") rs.UnselectAllObjects() rs.EnableObjectGrips(srf, False) #Einteilung in horizontale Schnitte rs.SelectObject(srf) rs.Command("Contour 81,8,0 81,8,1 _Enter".format(size)) rs.Command("_ExtrudeCrv Solid=Yes 0.7 _Enter") #Einteilung in vertikale Schnitte rs.SelectObject(srf) rs.Command("Contour 81,8,0 82,8,0 2.0 _Enter") rs.Command("Pipe 0.3 _Enter") rs.DeleteObject(srf) #Formen des zweiten Buchstabens in Form S: rs.Command("_Curve Degree=3 196,70,0 205,88,0 206,94,0 201,109,0 144,112,0 129,91,0 129,76,0 140,65,0 159,70,0 175,62,0 176,48,0 173,43,0 144,42,0 142,53,0 140,60,0 117,60,0 108,43,0 123,19,0 182,3,0 220,38,0 197,75,0 166,77,0 152,91,0 176,97,0 Close _Done") crv = rs.FirstObject(select=True) #Formen des Ersten Buchstabens in Hoehe 30 rs.Command("_ExtrudeCrv Solid=No DeleteInput=Yes {} _Enter".format(hgt2)) srf = rs.FirstObject(select=True) ### #Erstellen von Punkten entlang des Koerpers rs.Command("-_Rebuild UPointCount=10 VPointCount=7 UDegree=3 VDegree=3 DeleteInput=Yes _Enter") rs.EnableObjectGrips(srf, True) #Folgendes ist nicht unbedingt notwendig, kann jedoch einen guten Ueberblick schaffen #Zuordnen von einzelnen Punkten der Figur zu nummerierten Punkte um diese verziehen zu koennen #pointlist = rs.ObjectGripLocations(srf) #print pointlist #for i,pt in enumerate(pointlist): # cmd = "-Dot {} {} _Enter".format(str(i),str(pt)) # rs.Command(cmd,False) #Verschieben von gewaehlten Punkten in beliebige Richtungen rs.SelectObjectGrip(srf,13) rs.Command("_Move 0,0,0 -14,23,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,2) rs.Command("_Move 0,0,0 20,13,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,55) rs.Command("_Move 0,0,0 10,20,0 _Enter") rs.UnselectAllObjects() rs.EnableObjectGrips(srf, False) ### #Einteilung in horizontale Schnitte rs.SelectObject(srf) rs.Command("Contour 81,8,0 81,8,1 _Enter".format(size2)) rs.Command("_ExtrudeCrv Solid=Yes 0.3 _Enter") #Einteilung in vertikale Schnitte rs.SelectObject(srf) rs.Command("Contour 81,8,0 82,8,0 4.0 _Enter") rs.Command("Pipe 0.3 _Enter") rs.DeleteObject(srf) ###