Archived issue #0030234
BRepMesh_IncrementalMesh fail to discretize some zero-length free edges
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()
- 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
incmesh a 0.005 -relative
Public activity
11 archived notes
Participants are labeled by their role within this record.
Dear Author,
please attach BREP model with described behaviour.
please attach BREP model with described behaviour.
load the brep (a 0-radius circle at origin),
test discretization with
BRepMesh_IncrementalMesh mesher(theEdge, 0.005, Standard_True);
test discretization with
BRepMesh_IncrementalMesh mesher(theEdge, 0.005, Standard_True);
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.
Seems the problem is not reproduced using patch #0026106.
However, it has not been integrated to master yet.
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
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
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!
So, unfortunately, it does not solve the problem(
We will investigate it.
Thanks for the details!
I think I'm mistakenly assigned to this issue. I didn't notice since when...
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.
[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.
Dear Mikhail,
Please review the branch CR30234.
Test results:
Linux: http://jenkins-test-12.nnov.opencascade.com/view/CR30234-master_NBV/view/TESTING/job/CR30234-master_NBV-OCCT-Debian80-64-opt-test-restart/HTML_20Report/
Windows: http://jenkins-test-12.nnov.opencascade.com/view/CR30234-master_NBV/view/TESTING/job/CR30234-master_NBV-OCCT-Windows-64-VC14-opt-test-restart/HTML_20Report/
Please review the branch CR30234.
Test results:
Linux: http://jenkins-test-12.nnov.opencascade.com/view/CR30234-master_NBV/view/TESTING/job/CR30234-master_NBV-OCCT-Debian80-64-opt-test-restart/HTML_20Report/
Windows: http://jenkins-test-12.nnov.opencascade.com/view/CR30234-master_NBV/view/TESTING/job/CR30234-master_NBV-OCCT-Windows-64-VC14-opt-test-restart/HTML_20Report/
Reviewed.
Adding new test case
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records