import rhinoscriptsyntax as rs import scriptcontext as sc allobj = rs.AllObjects() rs.DeleteObjects(allobj) hgt = 120 # draw a closed curve # L: rs.Command("_Polyline 0,0,0 0,100,0 20,100,0 20,20,0 60,20,0 60,0,0 0,0,0 _Close _Enter") crvL = rs.FirstObject(select=True) # extrude rs.Command("-_ExtrudeCrv Solid=No DeleteInput=Yes {} _Enter".format(hgt)) srfL = rs.FirstObject(select=True) #rs.Command("_ExtrudeCrv Solid=No 140 _Enter") #srfL = rs.FirstObject(select=True) #handles rs.Command("-_Rebuild UPointCount=10 VPointCount=4 UDegree=3 VDegree=3 DeleteInput=Yes _Enter") rs.EnableObjectGrips(srfL, True) rs.UnselectAllObjects() #pointlist = rs.ObjectGripLocations(srfL) #print pointlist #for i,pt in enumerate(pointlist): # cmd = "-Dot {} {} _Enter".format(str(i),str(pt)) # rs.Command(cmd,False) rs.SelectObjectGrip(srfL,16) rs.Command("-_Move 0,0,0 20,25,0 _Enter") rs.UnselectObjectGrip(srfL, 16) rs.SelectObjectGrip(srfL,35) rs.Command("-_Move 0,0,0 80,80,0 _Enter") #rs.UnselectAllObjects() rs.SelectObjectGrip(srfL,24) rs.Command("-_Move 0,0,0 20,50,50 _Enter") #rs.UnselectAllObjects() rs.SelectObjectGrip(srfL,5) rs.Command("-_Move 0,0,0 50,50,0 _Enter") #rs.UnselectAllObjects() rs.EnableObjectGrips(srfL, False) rs.SelectObject (srfL) # Lines Z-Direction + Extrude rs.Command("_Contour 0,0,0 0,0,1 3.0 _Enter") rs.Command("_ExtrudeCrv Solid=Yes 1.4 _Enter") # Lines X-Direction + Pipe rs.SelectObject(srfL) rs.Command("_Contour 0,0,0 1,0,0 2.0 _Enter") rs.Command("_Pipe 0.2 _Enter") rs.DeleteObject(srfL) rs.UnselectAllObjects() # K: hgt1 = 80 rs.Command("_Polyline 80,0,0 80,100,0 100,100,0 100,60,0 120,100,0 145,100,0 120,50,0 145,0,0 120,0,0 100,40,0 100,0,0 80,0,0 _Close _Enter") crvL = rs.FirstObject(select=True) # extrude rs.Command("-_ExtrudeCrv Solid=No DeleteInput=Yes {} _Enter".format(hgt1)) srfL = rs.FirstObject(select=True) #rs.Command("_ExtrudeCrv Solid=No 140 _Enter") #srfL = rs.FirstObject(select=True) #handles rs.Command("-_Rebuild UPointCount=10 VPointCount=4 UDegree=3 VDegree=3 DeleteInput=Yes _Enter") rs.EnableObjectGrips(srfL, True) rs.UnselectAllObjects() #pointlist = rs.ObjectGripLocations(srfL) #print pointlist #for i,pt in enumerate(pointlist): # cmd = "-Dot {} {} _Enter".format(str(i),str(pt)) # rs.Command(cmd,False) rs.SelectObjectGrip(srfL,16) rs.Command("-_Move 0,0,0 120,40,0 _Enter") rs.UnselectObjectGrip(srfL, 16) rs.SelectObjectGrip(srfL,35) rs.Command("-_Move 0,0,0 -100,60,0 _Enter") #rs.UnselectAllObjects() rs.SelectObjectGrip(srfL,24) rs.Command("-_Move 0,0,0 20,50,0 _Enter") #rs.UnselectAllObjects() rs.SelectObjectGrip(srfL,6) rs.Command("-_Move 0,0,0 20,20,0 _Enter") #rs.UnselectAllObjects() rs.EnableObjectGrips(srfL, False) rs.SelectObject (srfL) # Lines Z-Direction + Extrude rs.Command("_Contour 0,0,0 0,0,1 3.0 _Enter") rs.Command("_ExtrudeCrv Solid=Yes 1.4 _Enter") # Lines X-Direction + Pipe rs.SelectObject(srfL) rs.Command("_Contour 0,0,0 1,0,0 2.0 _Enter") rs.Command("_Pipe 0.2 _Enter") rs.DeleteObject(srfL)