* I’m still stuck with the nested list but in the mean time I have completed other code’s parts.
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()