View Issue Details

IDProjectCategoryView StatusLast Update
0025586CommunityOCCT:Meshpublic2023-01-17 02:34
ReporterIstvan Csanady Assigned Tobugmaster  
Status closedResolutionno change required 
Target VersionUnscheduled 
Summary0025586: Mesh - Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
DescriptionWhen I add a hole to a closed extruded face, BRepMesh will fail to triangulate it, or will make a wrong mesh from the face (half of the mesh is missing). See the attached example files. (ShapeFix_Shape was performed in all the faces.) The meshing fails, because BRepMesh_WireChecker::collectDiscretizedWires returns false, because it thinks that the outer wire is open.
Steps To ReproduceLoad the attached files to DRAWEXE. They will not be visible in shaded rendering mode.
TagsNo tags attached.
Test case numberbugs mesh bug25586_1, bug25586_2, bug25586_3

Attached Files

  • (9,938 bytes)
  • IMG_0090.PNG (511,993 bytes)
  • IMG_0091.PNG (456,581 bytes)
  • tmp.stp (13,052 bytes)
  • circle_extrusion_2d.png (2,164 bytes)


related to 0024084 assignedoan Open CASCADE Additional tool for resolving 2d loops on discretized wires should be implemented in BRepMesh 


Istvan Csanady

2014-12-10 13:11

developer (9,938 bytes)

Istvan Csanady

2014-12-11 10:19


IMG_0090.PNG (511,993 bytes)

Istvan Csanady

2014-12-11 10:19

developer   ~0035300

I have attached an image of the result mesh. It should be a cylinder, with a hole.

Istvan Csanady

2014-12-11 10:22


IMG_0091.PNG (456,581 bytes)


2014-12-11 10:45

developer   ~0035302

Oleg, please look at this problem when you have time.

Istvan Csanady

2014-12-15 09:29


tmp.stp (13,052 bytes)

Istvan Csanady

2014-12-15 09:35

developer   ~0035399

I have tested this with the current main branch, and the problem still exists. I tested it with 3rd party data (just to be sure, that the problem is not in my code), and I successfully reproduced it. See the attached STEP file.
It seems, that not only extruded faces are involved, but all faces that are closed in one direction.

Steps to reproduce:

pload all
ReadStep d tmp.stp
XGetOneShape shape d
vdisplay shape

Istvan Csanady

2014-12-15 10:21

developer   ~0035400

I have attached a wrong stp file, but the bug can be reproduced with the attached brep files.


2017-08-04 18:24

tester   ~0069125

Problem described in issue is reproduced on current state of OCCT.


2019-09-06 18:12


circle_extrusion_2d.png (2,164 bytes)


2019-09-06 18:22

developer   ~0086908

Dear Andrey,

Attached shapes contain narrow notched tail in parametric space which cannot be processed by triangulator correctly and lead to degenerative triangles that are forbidden by BRepMesh (circle_extrusion_2d.png).

I consider it as inconsistency of the models which should be fixed by shape healing tool first.

Could you please check shapes and move this issue to shape healing category or make a decision about further plans?


2019-09-06 18:26

developer   ~0086909

bopargcheck reports inconsistencies, e.g.:

bopargcheck a #F
Made faulty shape: s1si_1
Faulties for FIRST shape found : 1
Shapes are not suppotrted by BOP: NO
Self-Intersections : YES Cases(1) Total shapes(2)
Check for SI has been aborted : NO
Too small edges : NO
Bad faces : NO
Too close vertices : DISABLED
Too close edges : DISABLED
Shapes with Continuity C0 : NO
Invalid Curve on Surface : NO

Faulties for SECOND shape found : 0


2022-11-01 18:47

developer   ~0111827

Last edited: 2022-11-01 18:52


please have a look at the screenshot of 2d view and description to it:

BRepMesh is unable to produce correct mesh for shapes with such degeneracy in parametric space and existing result is the most appropriate for it.
I suggest to accept this case, obviously the result of some BOP operation upon some tricky design, as invalid and consider possibility to heal it using fixshape due to the absence of initial data producing such geometry (sure it would be better to analyze the initial sequence of actions that led to the reported issue).

I also suggest to move this issue to Shape Healing category as BRepMesh has nothing to deal here with.


2022-11-02 00:39

developer   ~0111829

I agree. I consider this model invalid. BRepMesh makes all its best to produce some triangles on it.
I think we should close this issue as not a bug.


2023-01-17 02:34

administrator   ~0112843

Closed. Not a bug.

Issue History

Date Modified Username Field Change
2014-12-10 13:11 Istvan Csanady New Issue
2014-12-10 13:11 Istvan Csanady Assigned To => msv
2014-12-10 13:11 Istvan Csanady File Added:
2014-12-11 10:19 Istvan Csanady File Added: IMG_0090.PNG
2014-12-11 10:19 Istvan Csanady Note Added: 0035300
2014-12-11 10:22 Istvan Csanady File Added: IMG_0091.PNG
2014-12-11 10:44 msv Assigned To msv => oan
2014-12-11 10:45 msv Note Added: 0035302
2014-12-15 09:29 Istvan Csanady File Added: tmp.stp
2014-12-15 09:35 Istvan Csanady Note Added: 0035399
2014-12-15 10:21 Istvan Csanady Note Added: 0035400
2015-04-21 06:10 abv Target Version 6.9.0 => 7.1.0
2015-05-25 12:05 msv Category OCCT:Modeling Algorithms => OCCT:Mesh
2016-04-05 14:31 oan Relationship added related to 0024084
2016-10-26 18:11 oan Target Version 7.1.0 => 7.2.0
2017-07-20 12:43 oan Target Version 7.2.0 => 7.3.0
2017-08-04 18:24 mkv Test case number => bugs mesh bug25586_1, bug25586_2, bug25586_3
2017-08-04 18:24 mkv Note Added: 0069125
2018-02-25 21:09 abv Target Version 7.3.0 => 7.4.0
2019-09-04 17:55 kgv Summary Poor mesh quality, or failure of meshing for closed extruded surfaces with holes => Mesh - Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
2019-09-06 18:12 oan File Added: circle_extrusion_2d.png
2019-09-06 18:22 oan Note Added: 0086908
2019-09-06 18:22 oan Assigned To oan => abv
2019-09-06 18:22 oan Status new => feedback
2019-09-06 18:26 oan Note Added: 0086909
2019-09-06 18:37 abv Target Version 7.4.0 => 7.5.0
2020-08-28 15:47 oan Target Version 7.5.0 => Unscheduled
2022-11-01 18:36 oan Assigned To abv => msv
2022-11-01 18:47 oan Note Added: 0111827
2022-11-01 18:48 oan Note Edited: 0111827
2022-11-01 18:52 oan Note Edited: 0111827
2022-11-02 00:39 msv Note Added: 0111829
2022-11-02 00:39 msv Assigned To msv => bugmaster
2023-01-17 02:34 vglukhik Status feedback => closed
2023-01-17 02:34 vglukhik Resolution open => no change required
2023-01-17 02:34 vglukhik Note Added: 0112843