import rhinoscriptsyntax as rs allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) initial = "C" hgt = 150 size = 30 # draw a closed curve in rhino my_letter = rs.AddText(initial,(0,0,0),height=size) crv = rs.ExplodeText(my_letter,True)[0] rs.SelectObject(crv) # 1.Initial C Letter = "C" # extrude the curve rs.Command("_ExtrudeCrv Solid=No 30 _Enter".format(hgt)) srf = rs.FirstObject(select=True) rs.UnselectObject(crv) # use handles to change NURBS shape 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) """ rs.SelectObjectGrip(srf,22) rs.Command("-_Move 0,0,0 0,-2,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,20) rs.Command("-_Move 0,0,0 -15,0,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,16) rs.Command("-_Move 0,0,0 8,4,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,22) rs.Command("-_Move 0,0,0 0,4,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,20) rs.Command("-_Move 0,0,0 15,2,0 _Enter") rs.UnselectAllObjects() rs.EnableObjectGrips(srf, False) # create contourlines in Z-direction and extrude them (floor plates) rs.SelectObject(srf) rs.Command("_Contour 0,0,0 0,0,1 3.0 _Enter") rs.Command("_ExtrudeCrv Solid=Yes 0.3 _Enter") # create contourlines in X-direction and use the pipe command (vertical support) rs.SelectObject(srf) rs.Command("_Contour 0,0,0 1,0,0 1.5 _Enter") rs.Command("_Pipe 0.2 _Enter") rs.DeleteObject(srf) rs.UnselectAllObjects() ### 2. Initial S letter = "S" # Text my_letter = rs.AddText(letter,(30,0,0),height = size) crv = rs.ExplodeText(my_letter, True) rs.SelectObject(crv) # extrude Text rs.Command("_ExtrudeCrv Solid=No 30 _Enter".format(hgt)) rs.UnselectAllObjects() # Points srf = rs.FirstObject(select=True) rs.Command("-_Rebuild UPointCount=10 VPointCount=10 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) """ rs.SelectObjectGrip(srf,23) rs.Command("-_Move 0,0,0 0,4,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,20) rs.Command("-_Move 0,0,0 0,-5,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,11) rs.Command("-_Move 0,0,0 0,-2,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,19) rs.Command("-_Move 0,0,0 0,5,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,8) rs.Command("-_Move 0,0,0 5,7,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,27) rs.Command("-_Move 0,0,0 0,0 _Enter") rs.UnselectAllObjects() rs.EnableObjectGrips(srf, False) # extrude contourlines in Z-direction rs.SelectObject(srf) rs.Command("_Contour 40,0,0 40,0,1 3.0 _Enter") rs.Command("_ExtrudeCrv Solid=Yes 0.3 _Enter") # pipe contourlines in X-direction rs.SelectObject(srf) rs.Command("_Contour 40,0,0 41,0,0 3.0 _Enter") rs.Command("_Pipe 0.2 _Enter") rs.DeleteObject(srf) rs.UnselectAllObjects()