diff --git a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp index 8c93ec571e..4d1445738f 100644 --- a/src/Mod/Part/Gui/ViewProviderExt.cpp +++ b/src/Mod/Part/Gui/ViewProviderExt.cpp @@ -940,8 +940,14 @@ void ViewProviderPartExt::updateVisual() // Since OCCT 7.6 a value of equal 0 is not allowed any more, this can happen if a single vertex // should be displayed. - if (deflection < gp::Resolution()) + if (deflection < gp::Resolution()) { deflection = Precision::Confusion(); + } + + // For very big objects the computed deflection can become very high and thus leads to a useless + // tessellation. To avoid this the upper limit is set to 20.0 + // See also forum: https://forum.freecad.org/viewtopic.php?t=77521 + deflection = std::min(deflection, 20.0); // create or use the mesh on the data structure Standard_Real AngDeflectionRads = AngularDeflection.getValue() / 180.0 * M_PI;