Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0023918Community[OCCT] OCCT:Meshpublic2013-04-19 19:222013-12-19 13:57
Assigned Tooan 
StatusclosedResolutionno change required 
PlatformOSOS Version
Product Version[OCCT] 6.5.4 
Target Version[OCCT] 6.7.0Fixed in Version[OCCT] 6.7.0 
Summary0023918: The triangulation of a face cannot be further refined by setting lower deflection in BRepMesh_IncrementalMesh
DescriptionWhen meshing the appended face, there seems to be a limit how much the mesh can be refined. Setting lower deflection doesn't have an effect then.
Is this intended or is it a bug?

The problem occurs with OCCT 6.5.4 - 6.6.0. Other versions were not tested.
Steps To Reproducerestore Volute2.brep v
whatis v
tclean v
trinfo v
incmesh v 0.1
trinfo v
tclean v
trinfo v
incmesh v 0.001
trinfo v
incmesh v 0.00001
trinfo v
TagsNo tags attached.
Test case number
Attached Fileszip file icon (482,710 bytes) 2013-04-19 19:22

- Relationships
related to 0024117closedbugmaster Enhance documentation of BRepMesh_IncrementalMesh 

-  Notes
oan (developer)
2013-07-23 15:23

Dear Timo,

this behavior is not a bug, because the minimum value of deflection is restricted below by doubled value of shape tolerance. Draw command "tolerance" gives the following result for the attached shape:

restore Volute2.brep a
tolerance a
#Tolerance MAX=0.070841115630970494 AVG=0.021582167461639067 MIN=9.9999999999999995e-008
#FACE : MAX=9.9999999999999995e-008 AVG=9.9999999999999995e-008 MIN=9.9999999999999995e-008
#EDGE : MAX=0.070841115630970494 AVG=0.0126992394548211 MIN=1.3152122181594499e-006
#VERTEX : MAX=0.070841115630970494 AVG=0.026922884275949677 MIN=0.0098449269425767306

This means that the user is able to set deflection equal or greater than ~0.14 (0.07 * 2). In case if he/she sets lower value, the algorithm will skip it and will take into account the minimum possible value mentioned above.
Obviously, this restriction is intended as far as it seems illogical to represent shape with higher precision than its boundaries are defined.

Regarding the shape attached to this bug, you are able to change its tolerance using Draw command "settolerance" thereby regulating the limiting value of tolerance allowed for mesher:

restore Volute2.brep a
tclean a
incmesh a 0.05
trinfo a
#This shape contains 36745 triangles.
# 18604 nodes.
#Maximal deflection 0.14065200349781914

tclean a
settolerance a 0.01
incmesh a 0.05
trinfo a
#This shape contains 102935 triangles.
# 51852 nodes.
#Maximal deflection 0.060863277421657237

Best Regards
Timo (developer)
2013-07-26 18:31

Thanks for the analysis and the helpful note about the minimum value of deflection.

Wouldn't it be good to add this piece of information to the code documentation of BRepMesh_IncrementalMesh? In this way, further isue tracker entries about this matter could be prevented. Also the description of deflection and deviation angle is missing. About these you can find something in the Express Mesh User's Guide, but that's not public. Should I open a separate issue tracker entry for code documentation or can it be done in the frame of the current one?
(In the Modeling Algorithms User's Guide I found a mention of BRepMesh in chapter 10 but it also doesn't explain the meshing parameters.)

Simply setting a lower tolerance seems to be dangerous. In case of the example appended to this Mantis entry, the shape becomes invalid when I set the tolerance to 0.01. Probably, there is no safe way to set the tolerance to the smallest possible value that leaves the shape valid, is there?
oan (developer)
2013-08-20 12:16
edited on: 2013-08-20 12:32

Hello Timo!

Your suggestion about updating of documentation sounds reasonable. It is preferable to register new feature issue in Mantis, because the explanation of behavior given above is just a part of logic implemented in BRepMesh respectively calculation of tolerance value and it has another nuances that are not been considered in context of current question.
Could you please register a new one for this task?

Regarding the case when setting of lower tolerance leads to invalidation of a shape, actually you could set the minimum tolerance and leave shape valid. This result can be achieved by using command "fixshape" after setting a new value of tolerance. It will try to fix all anomalies of shape, existing or that are introduced during execution of some operation. Note that the value of tolerance will be changed to fit the geometrical parameters of model defined during design time.

Best Regards

bugmaster (administrator)
2013-08-20 17:45

Documentation for BRepMesh_IncrementalMesh will be update with 0024117 issue

- Issue History
Date Modified Username Field Change
2013-04-19 19:22 Timo New Issue
2013-04-19 19:22 Timo Assigned To => oan
2013-04-19 19:22 Timo File Added:
2013-07-23 15:23 oan Note Added: 0025136
2013-07-23 15:25 oan Assigned To oan => Timo
2013-07-23 15:25 oan Status new => feedback
2013-07-26 18:31 Timo Note Added: 0025178
2013-07-26 18:31 Timo Assigned To Timo => oan
2013-07-26 18:31 Timo Status feedback => assigned
2013-08-20 12:16 oan Note Added: 0025348
2013-08-20 12:16 oan Note Edited: 0025348 View Revisions
2013-08-20 12:32 oan Note Edited: 0025348 View Revisions
2013-08-20 12:33 oan Assigned To oan => Timo
2013-08-20 12:33 oan Status assigned => feedback
2013-08-20 16:18 Timo Issue cloned: 0024117
2013-08-20 16:18 Timo Relationship added related to 0024117
2013-08-20 17:16 Timo Assigned To Timo => oan
2013-08-20 17:16 Timo Status feedback => resolved
2013-08-20 17:18 Timo Resolution open => no change required
2013-08-20 17:24 oan Assigned To oan => bugmaster
2013-08-20 17:25 oan Status resolved => reviewed
2013-08-20 17:36 mkv Assigned To bugmaster => mkv
2013-08-20 17:45 bugmaster Note Added: 0025357
2013-08-20 17:45 bugmaster Status reviewed => verified
2013-08-20 17:45 bugmaster Assigned To mkv => oan
2013-08-21 14:47 bugmaster Target Version => 6.7.0
2013-12-19 13:52 bugmaster Status verified => closed
2013-12-19 13:57 bugmaster Fixed in Version => 6.7.0

Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker