Erez _ 2020430

* I’m still stuck with the nested list but in the mean time I have completed other code’s parts.

30.04

import rhinoscriptsyntax as rs

class Bounderies():

    def __init__(self):

        self.origin = [0,0,0]

        self.Orig_Srf = None

        self.Optim_mesh = None

        self.PtList = []

        self.NestedList = None

        self.rectangles = None

        self.dir =None

        self.thickness = None

    def GetSrf(self):

        Orig_Srf = rs.GetSurfaceObject(“select original surface”)

        srfID = Orig_Srf [0]

        self.Orig_Srf = srfID

        mesh = rs.GetObject (“select optimized mesh”,rs.filter.mesh)

        self.Optim_mesh = mesh

        #Tile_Thickness = rs.GetInteger (“Select the tiles thickness”,rs.filter.detail)

        #self.thickness = Tile_Thickness

        hideMesh = rs.HideObject (self.Optim_mesh)

        hideSurf = rs.HideObject (self.Orig_Srf)

    def MakePtList(self):

        points = rs.MeshFaces(self.Optim_mesh, True)

        self.PtList = points

    def MakeRectangles(self):

        #rs.EnableRedraw(False)

        i = 0

        length = len(self.PtList)

        while( i < length ):

            List = [self.PtList[i], self.PtList[i+1], self.PtList[i+2], self.PtList[i+3], self.PtList[i]]

            polylines = rs.AddPolyline(List )

            i += 4

        #rs.EnableRedraw(True)

            self.rectangles = polylines

            centerPt = []

            centerPt = rs.CurveAreaCentroid(self.rectangles)

            centerPt = rs.AddPoint(centerPt[0])

    def MakeNestedList(self):

        pass

    def Make2LineList(self):

        pass

    def MakeCrossVector(self):         

        curves = rs.ExplodeCurves (self.rectangles)

        index = [0,1,2,3]

        crv = []

        for i in index:

            crv.append(curves[i])

            vector1 = crv[0]

            vector2 = crv[1]

            vector3 = rs.VectorCrossProduct(vector1, vector2)

            self.dir = vector3

        return crv

    def ExtrudeCurves(self,crv):

        crvPt = rs.CurveEditPoints(crv[0])

        crvPt = rs.AddPoint(crvPt)

        ptSt = crvPt[0]

        ptEnd = rs.VectorAdd (ptSt,self.dir)

        path = rs.AddLine (ptSt,ptEnd)

        for ex in self.rectangles:

            ex = rs.ExtrudeCurve(self.rectangles,path)

    def CreateTiles (self):

        pass

        ExtrudedCurves = M 

        split1 = rs.SplitBrep (ExtrudedCurves,self.Orig_Srf,True)

        split2 = rs.SplitBrep (self.Orig_Srf,split1[0],True)

        delete = rs.DeleteObject(split1[0])

        #srf = rs.AddPlanarSrf (self.rectangles)

        joinList = [split1[1],split2[1]]#add srf[0]

        tile = rs.JoinSurfaces (joinList,True)

    def Clear (self):

        pass

        hide_tiles = rs.HideObjects(tiles)

        allObjects = rs.AllObjects()

        clear = rs.DeleteObjects(allObjects)

        show_tiles = rs.ShowObjects(tiles)

    def Relocating (self):

        pass

    def execute (self):

        self.GetSrf()

        self.MakePtList()

        self.MakeRectangles()

        self.MakeNestedList()

        self.Make2LineList()

        self.MakeCrossVector()

        self.ExtrudeCurves()

        self.GetDomain()

        self.CreateTiles ()

        self.Clear ()

        self.Relocating()

bo = Bounderies()

bo.execute()

Leave a comment