DiscussionsIssue archiveOther usage issues

Archived discussion

Is necessary to clean the triangles before recomputation?

Other usage issuesSat, 03/30/2013 - 18:212 replies

Browse this forum
QuestionAuthor

Hi gays,

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();

- OCCT 6.5.4:

Standard_Real aDeflection = GetDeflection (theShape, theDrawer);

// 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:

http://tracker.dev.opencascade.org/view.php?id=23200

As a workaround I have commented out the offending code portion and have to make sure the shape triangulation is made before it gets visualized.

Commenter-1

02Author

Hello Pawel,

Thanks for your reply!

I will try to apply changes from your branches and found out which improvements will work.