diff --git a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp index af69992726..b73f592a41 100644 --- a/src/Mod/Part/Gui/ViewProviderExt.cpp +++ b/src/Mod/Part/Gui/ViewProviderExt.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -1095,6 +1096,13 @@ void ViewProviderPartExt::setupCoinGeometry( meshParams.InParallel = Standard_True; meshParams.AllowQualityDecrease = Standard_True; + // Clear triangulation and PCurves from geometry which can slow down the process +#if OCC_VERSION_HEX < 0x070600 + BRepTools::Clean(shape); +#else + BRepTools::Clean(shape, Standard_True); +#endif + BRepMesh_IncrementalMesh(shape, meshParams); // We must reset the location here because the transformation data