import rhinoscriptsyntax as rs # Loesche alle vorhandenen Objekte, die im Dokument sind, um von vorne zu beginnen allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) # Definiere die Extrusionshoehe hgt = 24 # ---- Erstelle den Buchstaben "B" ---- # Fuege den Buchstaben "B" als Text in der Szene hinzu mytext = rs.AddText("B", (30, 0, 0), height=30) # Zerlege den Text in seine zugehoerige Kurve (wird benoetigt, um sie zu extrudieren) crv = rs.ExplodeText(mytext, True)[0] rs.SelectObject(crv) # Extrudiere die Kurve in die Hoehe von hgt rs.Command("ExtrudeCrv Solid=No DeleteInput=Yes {} _Enter".format(hgt)) #rs.UnselectAllObjects() srf = rs.FirstObject(select=True) # Rebuild der Oberflaeche mit bestimmten U und V-Punkten, um spaeter die Punkte zu bearbeiten rs.Command("-_Rebuild UPointCount=10 VPointCount=4 UDegree=3 VDegree=3 DeleteInput=Yes _Enter") rs.EnableObjectGrips(srf, True) """ pointlist = rs.ObjectGripLocations(srf) #print pointlist for i,pt in enumerate(pointlist): cmd = "-Dot {} {} _Enter".format(str(i),str(pt)) rs.Command(cmd,False) """ # Bewege bestimmte Griffe der Oberflaeche, um die Form anzupassen rs.SelectObjectGrip(srf, 3) rs.Command("-_Move 0,0,0 10,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 32) rs.Command("-_Move 0,0,0 10,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 0) rs.Command("-_Move 0,0,0 10,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 16) rs.Command("-_Move 0,0,0 15,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 30) rs.Command("-_Move 0,0,0 10,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 35) rs.Command("-_Move 0,0,0 15,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 25) rs.Command("-_Move 0,0,0 0,5,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 6) rs.Command("-_Move 0,0,0 0,-7,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 19) rs.Command("-_Move 0,0,0 5,0,0 _Enter") rs.UnselectAllObjects() # Schalte die Griffbearbeitung ab, um die naechsten Schritte zu ermoeglichen rs.EnableObjectGrips(srf, False) # Erstelle Konturen entlang der Z-Achse und extrudiere sie zu einem festen Koerper rs.SelectObject(srf) rs.Command("Contour 0,0,0 0,0,1 3.0 _Enter") rs.Command("_ExtrudeCrv Solid=Yes 0.3 _Enter") # Erstelle Konturen entlang der X-Achse und erzeuge einen Rohr-Effekt rs.SelectObject(srf) rs.Command("Contour 0,0,0 1,0,0 2.0 _Enter") rs.Command("Pipe 0.2 _Enter") # Loesche die Oberflaeche rs.DeleteObject(srf) rs.UnselectAllObjects() # ---- Erstelle den Buchstaben "S" ---- # Fuege den Buchstaben "S" als Text in der Szene hinzu mytext = rs.AddText("S", (0, 0, 0), height=30) # Zerlege den Text in seine zugehoerige Kurve (wie bei "B") crv = rs.ExplodeText(mytext, True)[0] rs.SelectObject(crv) # Extrudiere die Kurve in die Hoehe von hgt rs.Command("ExtrudeCrv Solid=No {} _Enter".format(hgt)) srf = rs.FirstObject(select=True) # Rebuild der Oberflaeche, um die Bearbeitung der Punkte zu ermoeglichen rs.Command("-_Rebuild UPointCount=10 VPointCount=4 UDegree=3 VDegree=3 DeleteInput=Yes _Enter") rs.EnableObjectGrips(srf, True) """ pointlist = rs.ObjectGripLocations(srf) #print pointlist for i,pt in enumerate(pointlist): cmd = "-Dot {} {} _Enter".format(str(i),str(pt)) rs.Command(cmd,False) """ # Bewege bestimmte Griffe der Oberflaeche, um die Form anzupassen (wie bei "B") rs.SelectObjectGrip(srf, 31) rs.Command("-_Move 0,0,0 0,5,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 3) rs.Command("-_Move 0,0,0 0,10,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf, 2) rs.Command("-_Move 0,0,0 0,-10,0 _Enter") rs.UnselectAllObjects() # Schalte die Griffbearbeitung ab rs.EnableObjectGrips(srf, False) # Erstelle Konturen entlang der Z-Achse und extrudiere sie rs.SelectObject(srf) rs.Command("Contour 0,0,0 0,0,1 3.0 _Enter") rs.Command("_ExtrudeCrv Solid=Yes 0.3 _Enter") # Erstelle Konturen entlang der X-Achse und erzeuge einen Rohr-Effekt rs.SelectObject(srf) rs.Command("Contour 0,0,0 1,0,0 2.0 _Enter") rs.Command("Pipe 0.2 _Enter") # Loesche die Oberflaeche rs.DeleteObject(srf) rs.UnselectAllObjects()