MARCH.31_BEN XIE_TABLE

111222
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()

Leave a comment