Archived issue #0030234

BRepMesh_IncrementalMesh fail to discretize some zero-length free edges

CommunityOCCT:Meshclosed11 public notes

Search issues

Description

conditions:
- enable Standard_ConstructionError exceptions in config
- set the BRepMesh_IncrementalMesh to use relative deflection
- try to mesh a shape with at least a zero-length free edge (for instance an edge with a 0-radius circle, as it can be found in the outer wire of a sphere)

Then a Standard_ConstructionError exception will be raised inside BRepMesh_IncrementalMesh::discretizeFreeEdges() > CPnts_TangentialDeflection::CPnts_TangentialDeflection() > GCPnts_TangentialDeflection::Initialize()

In my test, with a empty circle for instance, the computed deflection for this edge is less than Precision::Confusion(), which explains the exception.

one possible fix would be to modify BRepMesh_ShapeTool::RelativeEdgeDeflection to have a minimum value strictly greater than Precison::Confusion()

Steps to reproduce

restore Attachment 1 (BREP) a
incmesh a 0.005 -relative

Public activity

11 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Dear Author,

please attach BREP model with described behaviour.
02Author
load the brep (a 0-radius circle at origin),
test discretization with
BRepMesh_IncrementalMesh mesher(theEdge, 0.005, Standard_True);
03Commenter 2
Thanks a lot for the use case.
Seems the problem is not reproduced using patch #0026106.
However, it has not been integrated to master yet.
04Author
Thanks for the update.

to be sure: as I already reported it, you must have an OCC config with Standard_ConstructionError exceptions enabled (ie with #if !defined No_Exception && !defined No_Standard_ConstructionError directive evaluating to true) to reproduce the problem
05Commenter 2
Great notice - I had different configs for master build and patch.

So, unfortunately, it does not solve the problem(
We will investigate it.

Thanks for the details!
06Author
I think I'm mistakenly assigned to this issue. I didn't notice since when...
07Commenter 3
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: nbv
Date: Thu Nov 8 15:18:16 2018 +0300

    0030234: BRepMesh_IncrementalMesh fail to discretize some zero-length free edges
    
    Test case for the issue has been created.
    This problem is fixed by the patch #0030345.
08Commenter 8
09Commenter 9
Reviewed.
10Commenter 1
Adding new test case
11Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records