MantisBT - Community
View Issue Details
0025045Community[OCCT] OCCT:Meshpublic2014-07-02 04:062016-04-20 15:50
thomhong 
abv 
normalminor 
closedfixed 
WindowsVC++ 201064 bit
[OCCT] 6.7.0 
[OCCT] 7.0.0[OCCT] 7.0.0 
bugs mesh bug25045
0025045: STEP Import fails to find all surfaces
OpenCASCADE model is missing a bottom surface when importing the attached STEP model.
Steps to reproduce:
1. Import the attached step model using the ImportExport sample program
2. View the shaded model in the viewer - rotate to view missing bottom surface
All other non-OCC-based CAD programs tested render the STEP file correctly.
No tags attached.
related to 0023111closed bugmaster Open CASCADE Incorrect mesh 
has duplicate 0025157closed bugmaster Community Face missing depending the angle of revolution 
child of 0023106closed bugmaster Open CASCADE BRepMesh_IncrementalMesh returns wrong status 
? ICK 0433.STP (25,142) 2014-07-02 04:06
https://tracker.dev.opencascade.org/
? bug25045_face11.brep (47,763) 2014-07-07 12:14
https://tracker.dev.opencascade.org/
png 2D_representation_vs_discretized.png (24,403) 2014-07-07 15:58
https://tracker.dev.opencascade.org/
Issue History
2014-07-02 04:06thomhongNew Issue
2014-07-02 04:06thomhongAssigned To => gka
2014-07-02 04:06thomhongFile Added: ICK 0433.STP
2014-07-07 12:13abvNote Added: 0029982
2014-07-07 12:13abvAssigned Togka => oan
2014-07-07 12:13abvStatusnew => assigned
2014-07-07 12:13abvCategoryOCCT:Data Exchange => OCCT:Mesh
2014-07-07 12:13abvTarget Version => 6.8.0
2014-07-07 12:14abvFile Added: bug25045_face11.brep
2014-07-07 12:37oanRelationship addedrelated to 0023111
2014-07-07 15:57oanNote Added: 0029987
2014-07-07 15:58oanFile Added: 2D_representation_vs_discretized.png
2014-07-07 15:58oanRelationship addedchild of 0023106
2014-07-07 16:00oanNote Edited: 0029987bug_revision_view_page.php?bugnote_id=29987#r7680
2014-09-01 17:47oanRelationship addedhas duplicate 0025157
2014-09-12 19:17oanTarget Version6.8.0 => 7.1.0
2016-01-29 12:41gitNote Added: 0050227
2016-01-29 12:42oanAssigned Tooan => bugmaster
2016-01-29 12:44oanNote Added: 0050228
2016-01-29 14:05gitNote Added: 0050232
2016-01-29 14:08gitNote Added: 0050233
2016-01-29 16:13oanRelationship addedrelated to 0027122
2016-01-29 23:11kgvStatusassigned => feedback
2016-02-02 10:07bugmasterAssigned Tobugmaster => apn
2016-02-16 11:36oanTarget Version7.1.0 => 7.0.0
2016-02-18 14:56gitNote Added: 0050951
2016-02-18 14:57apnNote Added: 0050952
2016-02-18 14:58apnTest case number => bugs mesh bug25045
2016-02-18 14:58apnAssigned Toapn => bugmaster
2016-02-18 14:58apnStatusfeedback => tested
2016-02-18 15:00gitNote Added: 0050953
2016-02-19 12:44gitNote Added: 0051006
2016-02-21 08:52abvChangeset attached => occt master 746f1ceb
2016-02-21 08:52abvAssigned Tobugmaster => abv
2016-02-21 08:52abvStatustested => verified
2016-02-21 08:52abvResolutionopen => fixed
2016-04-17 14:14gitNote Added: 0053080
2016-04-20 15:42aivFixed in Version => 7.0.0
2016-04-20 15:50aivStatusverified => closed

Notes
(0029982)
abv   
2014-07-07 12:13   
All the faces translate from STEP correctly. The problem is in meshing of face 11, now attached to the issue as separate file bug25045_face11.brep. BRepMesh reports "Self-intersecting wire" error, althoung the face is valid according to checkshape, and has rather small tolerance:

Draw[2]> rest d:/temp/bug25045_face11.brep a
a
Draw[3]> incmesh a 1
Incremental Mesh, multi-threading OFF
Meshing statuses: SelfIntersectingWire
Draw[4]> trinfo a

This shape contains 0 triangles.
                    0 nodes.
Maximal deflection 0


Draw[5]> checksh a
This shape seems to be valid
Draw[6]> toler a
Tolerance MAX=0.00053798328028226996 AVG=0.0002255237013194376 MIN=9.99999999999
99995e-008
FACE : MAX=9.9999999999999995e-008 AVG=9.9999999999999995e-008 MIN=9.99999999
99999995e-008
EDGE : MAX=0.00053730480348679094 AVG=0.000118593008751733 MIN=9.999999999999
9995e-008
VERTEX : MAX=0.00053798328028226996 AVG=0.00029777435604657639 MIN=9.9999999999
999995e-008

Draw[7]> boundings a
-5.2126900585274489 -2.6044476583634797 -1.0000018341558962e-007 4.7674093775600
284 5.2126900585274498 1.826735590329116
(0029987)
oan   
2014-07-07 15:57   
(edited on: 2014-07-07 16:00)
The core of the problem is in method BRepMesh_FastDiscretFace::FindUV that uses large tolerance to identify coinciding points in 2D space. As a result, degenerative edge (in fact represented by a segment in 2D space) collapses to a single vertex during discretization procedure and causes wire with self intersection (see attached screenshot). Another anomaly related to this behavior is already reported in 0023111 issue.

In context of current issue it is proposed:
- take changes implemented in 0023106 as a base for current one;
- in BRepMesh_FastDiscret fill data structure and classifier tool using scaled dimensions as it is implemented in BRepMesh_FastDiscretFace::Add(face);
- fill data structure within BRepMesh_FastDiscretFace using scaled dimensions without further conversion to normal ones;
- convert dimensions from scaled to normal directly before storing of triangulation to the shape in BRepMesh_FastDiscret.

(0050227)
git   
2016-01-29 12:41   
Branch CR25045 has been created by oan.

SHA-1: 02edb2ef7f0e8423b2912efb45c0f375fc3b90b8


Detailed log of new commits:

Author: oan
Date: Fri Jan 29 12:41:02 2016 +0300

    Added test case
(0050228)
oan   
2016-01-29 12:44   
Dear Bugmaster,

it seems that this case has became OK due to fixes for shape healing and mesh since 6.7.0.

Please verify. Test case has been added to branch CR25045.
(0050232)
git   
2016-01-29 14:05   
Branch CR25045 has been deleted by oan.

SHA-1: 02edb2ef7f0e8423b2912efb45c0f375fc3b90b8
(0050233)
git   
2016-01-29 14:08   
Branch CR25045 has been created by oan.

SHA-1: 5f652d6d3fea978fad337a92d6a3b6a7d5c2975e


Detailed log of new commits:

Author: oan
Date: Fri Jan 29 14:08:31 2016 +0300

    Added test case
(0050951)
git   
2016-02-18 14:56   
Branch CR25045 has been updated by apn.

SHA-1: 29d575d6cf14dbc894e6973538c5978ce8022908


Detailed log of new commits:

Author: apn
Date: Thu Feb 18 14:56:35 2016 +0300

    Small corrections in test case

(0050952)
apn   
2016-02-18 14:57   
Test case:
bugs mesh bug25045 - OK
http://occt-tests/bug25045_Lin/bugs/mesh/bug25045.html [^]
http://occt-tests/bug25045_WNT/bugs/mesh/bug25045.html [^]
(0050953)
git   
2016-02-18 15:00   
Branch CR25045 has been updated forcibly by apn.

SHA-1: e12d39ef1183c7d82c8a5dcbcf070fe1eb386c78
(0051006)
git   
2016-02-19 12:44   
Branch CR25045 has been updated forcibly by apn.

SHA-1: f720694056554cdd0b987a9e6b747bb94094ad63
(0053080)
git   
2016-04-17 14:14   
Branch CR25045 has been deleted by kgv.

SHA-1: f720694056554cdd0b987a9e6b747bb94094ad63