接上一篇 还有一种操作方式
//创建8个点
gp_Pnt p1(0.0, 0.0 ,0.0);
gp_Pnt p2(10.0, 0.0, 0.0);
gp_Pnt p3(10.1, 0.1, 0.0);
gp_Pnt p4(10.1, 10., 0.0);
gp_Pnt p5(10, 10.1, 0.0);
gp_Pnt p6(0.0, 10.1, 0.0);
gp_Pnt p7(-0.1, 10, 0.0);
gp_Pnt p8(-0.1, 0.1, 0.0);
//构造4条边
//TopoDS_ListOfShape edgeList;
TopoDS_Edge edge1 = BRepBuilderAPI_MakeEdge(p1, p2);
TopoDS_Edge edge2 = BRepBuilderAPI_MakeEdge(p3, p4);
TopoDS_Edge edge3 = BRepBuilderAPI_MakeEdge(p5, p6);
TopoDS_Edge edge4 = BRepBuilderAPI_MakeEdge(p7, p8);
//edgeList.Append(edge1);
//edgeList.Append(edge2);
//edgeList.Append(edge3);
//edgeList.Append(edge4);
BRep_Builder builder;
TopoDS_Wire wire;
builder.MakeWire(wire);
builder.Add(wire, edge1);
builder.Add(wire, edge2);
builder.Add(wire, edge3);
builder.Add(wire, edge4);
TopoDS_Face face = BRepBuilderAPI_MakeFace(wire);
Display(face);
这种更简洁 但是两种的在缺口处处理方式是不一样的 后续还需进行深究
希望与更多的Open CasCade大佬进行交流!!!