import rhinoscriptsyntax as rs allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) initial = "M" hgt = 60 size = 40 # draw closed curve in Rhino mytext = rs.AddText(initial, (0,0,0), height=size, font="Bauhaus 93") crv = rs.ExplodeText(mytext,True)[0] rs.SelectObject(crv) # extrude the curve rs.Command("-_ExtrudeCrv Solid=No DeleteInput=Yes {} _Enter".format(hgt)) srf = rs.FirstObject(select=True) # use handles to change NURBES 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, 23) rs.SelectObjectGrip(srf, 35) rs.Command("_Move 0,0,0 0,10,0 _Enter") rs.UnSelectAllObjects() SelectObjectGrip(srf, 20) rs.Command("-_Move 0,0,0 15,0,0 _Enter") rs.UnSelectAllObjects() SelectObjectGrip(srf, 11) rs.Command("-_Move 0,0,0 0,20,0 _Enter") rs.UnSelectAllObjects() rs.EnableObjectGrips(srf, False) # create contourlines in Z-direction and extrude thmem (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 2.0 _Enter") rs.Command("Pipe 0.2 _Enter") rs.DeleteObject(srf)