def GetEdges2DPT(edges): lst_xy = [] for edge in edges: t = Topo(edge) for vertex in t.vertices(): # print("vertices type",type(t.vertices())) class 'list_iterator' pnt = BRep_Tool().Pnt(vertex) # print('X', pnt.X(), 'Y', pnt.Y(), 'Z', pnt.Z()) if [pnt.X(),pnt.Y()] not in lst_xy: lst_xy.append([pnt.X(),pnt.Y()]) return lst_xy
def GetEdgeXY(edge): x = [] y = [] t= Topo(edge) for vertex in t.vertices(): # print("vertices type",type(t.vertices())) class 'list_iterator' pnt = BRep_Tool().Pnt(vertex) # print('X', pnt.X(), 'Y', pnt.Y(), 'Z', pnt.Z()) x.append(pnt.X()) y.append(pnt.Y()) return x[0],y[0],x[1],y[1]
def EdgeSplitShapely(lst_edges): lines = [] for edge in lst_edges: t = Topo(edge) x_lst = [] y_lst = [] for vertex in t.vertices(): pnt = BRep_Tool().Pnt(vertex) x_lst.append(pnt.X()) y_lst.append(pnt.Y()) line = geometry.LineString([[x_lst[0],y_lst[0]],[x_lst[1],y_lst[1]]]) lines.append(line) multi_line = geometry.MultiLineString(lines) merge_line = ops.linemerge(multi_line) print(merge_line)