I'm trying to upgrade OCCT to version 6.5.4 for my software, but I found that all CAD operations take 10x longer time than version 6.5.1.
Compares the changes between version 6.5.1 and version 6.5.4, I found that triangles of the shape will be clean before the re-computation of shape triangulation.
Industry geometries are usually not fine for triangulation, I think that user is unable to wait for such a long time.
Following lines please found the changes:
- OCCT 6.5.1: Prs3d_ShadedShape::Add
Standard_Real aDeflection = GetDeflection(aShape, aDrawer);
//using of plugin
BRepMesh_PDiscretRoot pAlgo;
pAlgo=BRepMesh_DiscretFactory::Get().Discret(aShape,
aDeflection,
aDrawer->HLRAngle());
if (pAlgo)
pAlgo->Perform();
// Check if it is possible to avoid unnecessary recomputation
// of shape triangulation
if (!BRepTools::Triangulation (theShape, aDeflection))
{
BRepTools::Clean (theShape);
// retrieve meshing tool from Factory
Handle(BRepMesh_DiscretRoot) aMeshAlgo = BRepMesh_DiscretFactory::Get().Discret (theShape,
aDeflection,
theDrawer->HLRAngle());
if (!aMeshAlgo.IsNull())
aMeshAlgo->Perform();
}
Discussion
2 archived replies
Posts are displayed in their archived order.
01Commenter-1
Hello Author,
I can confirm the problem.
I guess the triangulation is also performed many times on the same shape because the criteria cannot be fulfilled for some shapes (but they get triangulated every time the method is called). See the issue: