使用OCCT构建三角网模型并导出模型文件

发布时间 2023-06-09 17:33:07作者: SpringBreath

首先需要构建三角网的数据,点集和构成面的点的索引序列,构建成TopoDS_Face后,可以自行选择实现需要导出的文件类型,该功能在DataExchange模块。
以下是代码示例

// 20230606
void App_20230606() {
    TColgp_Array1OfPnt Nodes(1,6);
    Nodes.SetValue(1, gp_Pnt(0, 0, 0));
    Nodes.SetValue(2, gp_Pnt(1, 0, 0));
    Nodes.SetValue(3, gp_Pnt(1, 1, 0));
    Nodes.SetValue(4, gp_Pnt(0, 1, 1));

    Poly_Array1OfTriangle Triangles(1,2);
    Triangles.SetValue(1, Poly_Triangle(1, 2, 3));
    Triangles.SetValue(2, Poly_Triangle(1, 3, 4));

    Handle(Poly_Triangulation) triangulation = new Poly_Triangulation(Nodes, Triangles);

    TopoDS_Face face;
    BRep_Builder builder;
    builder.MakeFace(face);

    builder.UpdateFace(face, triangulation);

    StlAPI_Writer writer;
    writer.Write(face, "C:\\Users\\Rick\\Desktop\\exported1.stl");
}