From 2233275c0bfaba8c8fe2345aadda6991aaeea3fc Mon Sep 17 00:00:00 2001 From: Christopher Lackner Date: Wed, 17 May 2023 16:24:06 +0200 Subject: [PATCH] do not copy faces when extrude, better identify in extrude --- libsrc/occ/python_occ_shapes.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libsrc/occ/python_occ_shapes.cpp b/libsrc/occ/python_occ_shapes.cpp index 1b139623..641a2213 100644 --- a/libsrc/occ/python_occ_shapes.cpp +++ b/libsrc/occ/python_occ_shapes.cpp @@ -998,7 +998,7 @@ DLL_HEADER void ExportNgOCCShapes(py::module &m) surf->D1 (0,0,p,du,dv); edir = du^dv; } - BRepPrimAPI_MakePrism builder(shape, h*edir, true); + BRepPrimAPI_MakePrism builder(shape, h*edir, false); for (auto typ : { TopAbs_SOLID, TopAbs_FACE, TopAbs_EDGE, TopAbs_VERTEX }) for (TopExp_Explorer e(shape, typ); e.More(); e.Next()) @@ -1010,12 +1010,8 @@ DLL_HEADER void ExportNgOCCShapes(py::module &m) if(identify) { Transformation<3> trsf(h * occ2ng(edir)); - for (TopExp_Explorer e(shape, TopAbs_FACE); e.More(); e.Next()) { - auto mods = builder.Generated(e.Current()); - auto faces = GetFaces(mods.First()); - Identify(faces, faces, "extrusion_cs", idtype, - trsf); - } + Identify(GetFaces(shape), GetFaces(builder.LastShape()), + "extrusion_cs", idtype, trsf); } return builder.Shape(); }