import rhinoscriptsyntax as rs allobjs = rs.AllObjects() rs.DeleteObjects(allobjs) initial = "JT" hgt= 24 size =40 #draw a closed curve in Rhino #rs.Command("_curve Degree=2 0,0,0 20,-1,0 20,12,0 0,10,0 Close _Enter") #crv = rs.FirstObject(select=True) mytext = rs.AddText(initial,(0,0,0),height=size) crf = rs.ExplodeText(mytext,True)[0] rs.SelectObject(crf) #extrude the curve rs.Command("_ExtrudeCrv Solid=No {} _Enter".format(hgt)) srf = rs.FirstObject(select=True) # 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,23) rs.SelectObjectGrip(srf,35) rs.Command("_Move 0,0,0 0,10,0 _Enter") rs.UnselectAllObjects() rs.SelectObjectGrip(srf,20) rs.Command("_Move 0,0,0 -15,0,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 pipe command (vertical support) rs.SelectObjects(srf) rs.Command("Contour 0,0,0 1,0,0 2.0 _Enter") rs.Command("Pipe 0.2 _Enter") rs.DeleteObject(srf)