コード例 #1
0
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
コード例 #2
0
    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)