import rhinoscriptsyntax as rs import math as mt class skeleton(): def __init__(self): self.a = 150 self.b = 0.08 self.c = 0.05 self.e = 0.5 self.makeskeleton() def makeskeleton(self): n = self.a R = self.b r = self.c d = self.e curve1 = rs.GetObject("select first curve") curve2 = rs.GetObject("select second curve") #curve3 = rs.GetObject("select third curve") #curve4 = rs.GetObject("select fourth curve") divideCrv1 = rs.DivideCurve(curve1,n) divideCrv2 = rs.DivideCurve(curve2,n) #divideCrv3 = rs.DivideCurve(curve3,n) #divideCrv4 = rs.DivideCurve(curve4,n) c1 = divideCrv1[0] c2 = divideCrv2[0] #c3 = divideCrv3[0] #c4 = divideCrv4[0] rs.AddPipe(curve1,0,0.2) rs.AddPipe(curve2,0,0.2) #rs.AddPipe(curve3,0,0.2) #rs.AddPipe(curve4,0,0.2) for i in range(n): lines1 = rs.AddLine(divideCrv1[i],divideCrv2[i]) midpt1a = rs.CurveMidPoint(lines1) midpt1b = rs.AddPoint(midpt1a) #midpt1c = rs.MoveObject(midpt1b,(0,0,-d)) pts = divideCrv1[i],midpt1b,divideCrv2[i] arc1 = rs.AddCurve(pts) objs = rs.AddPipe(arc1,0,r) rs.MoveObject(objs,(0,0,-d)) """lines2 = rs.AddLine(divideCrv2[i],divideCrv3[i]) midpt2a = rs.CurveMidPoint(lines2) midpt2b = rs.AddPoint(midpt2a) midpt2c = rs.MoveObject(midpt2b,(0,0,-d)) pts1 = divideCrv2[i],midpt2c,divideCrv3[i] arc2 = rs.AddCurve(pts1) rs.AddPipe(arc2,0,r) lines3 = rs.AddLine(divideCrv3[i],divideCrv4[i]) midpt3a = rs.CurveMidPoint(lines3) midpt3b = rs.AddPoint(midpt3a) midpt3c = rs.MoveObject(midpt3b,(0,0,-d)) pts2 = divideCrv3[i],midpt3c,divideCrv4[i] arc3 = rs.AddCurve(pts2) rs.AddPipe(arc3,0,r)""" rs.DeleteObjects((lines1,midpt1b)) s = skeleton() class base(): def __init__(self): self.makebase() def makebase(self): p0 = -10,-10,0 p1 = 35,-10,0 p2 = 35,20,0 p3 = -10,20,0 p4 = -10,-10,0.5 p5 = 35,-10,0.5 p6 = 35,20,0.5 p7 = -10,20,0.5 pts = p0,p1,p2,p3,p4,p5,p6,p7 rs.AddBox(pts) b = base()