def geom_plate(): p1 = gp_Pnt(0, 0, 0) p2 = gp_Pnt(10, 0, 0) p3 = gp_Pnt(10, 0, 9) p4 = gp_Pnt(0, 1, 1) p5 = gp_Pnt(5, 5, 0) edge = [p1, p2, p3, p4] edge.append(edge[0]) poly = [make_edge(edge[i], edge[i + 1]) for i in range(len(edge) - 1)] face = make_n_sided(poly) return face
def gen_fill(self): # curv = GeomAPI_PointsToBSplineSurface( # self.pnt_2d, 3, 8, GeomAbs_G2, 0.001).Surface() # surf = BRepBuilderAPI_MakeFace(curv, 1e-6).Face() # self.display.DisplayShape(surf) for idx_row in range(self.pnt_2d.LowerRow(), self.pnt_2d.UpperRow()): for idx_col in range(self.pnt_2d.LowerCol(), self.pnt_2d.UpperCol()): i00, i01 = idx_row, idx_row + 1 i10, i11 = idx_col, idx_col + 1 p1 = self.pnt_2d.Value(i00, i10) p2 = self.pnt_2d.Value(i01, i10) p3 = self.pnt_2d.Value(i01, i11) p4 = self.pnt_2d.Value(i00, i11) edge = [p1, p2, p3, p4] edge.append(edge[0]) poly = [ make_edge(edge[i], edge[i + 1]) for i in range(len(edge) - 1) ] face = make_n_sided(poly) self.display.DisplayShape(face)