View Issue Details

IDProjectCategoryView StatusLast Update
0025045CommunityOCCT:Meshpublic2016-04-20 15:50
Reporterthomhong Assigned Toabv 
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.7.0 
Target Version7.0.0Fixed in Version7.0.0 
Summary0025045: STEP Import fails to find all surfaces
DescriptionOpenCASCADE model is missing a bottom surface when importing the attached STEP model.
Steps To ReproduceSteps 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
Additional information
and documentation updates
All other non-OCC-based CAD programs tested render the STEP file correctly.
TagsNo tags attached.
Test case numberbugs mesh bug25045

Attached Files

  • ICK 0433.STP (25,142 bytes)
  • bug25045_face11.brep (47,763 bytes)
  • 2D_representation_vs_discretized.png (24,403 bytes)

Relationships

related to 0023111 closedbugmaster Open CASCADE Incorrect mesh 
has duplicate 0025157 closedbugmaster Community Face missing depending the angle of revolution 
child of 0023106 closedbugmaster Open CASCADE BRepMesh_IncrementalMesh returns wrong status 

Activities

thomhong

2014-07-02 04:06

reporter  

ICK 0433.STP (25,142 bytes)

abv

2014-07-07 12:13

manager   ~0029982

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

abv

2014-07-07 12:14

manager  

bug25045_face11.brep (47,763 bytes)

oan

2014-07-07 15:57

developer   ~0029987

Last edited: 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.

oan

2014-07-07 15:58

developer  

2D_representation_vs_discretized.png (24,403 bytes)

git

2016-01-29 12:41

administrator   ~0050227

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

oan

2016-01-29 12:44

developer   ~0050228

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.

git

2016-01-29 14:05

administrator   ~0050232

Branch CR25045 has been deleted by oan.

SHA-1: 02edb2ef7f0e8423b2912efb45c0f375fc3b90b8

git

2016-01-29 14:08

administrator   ~0050233

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

git

2016-02-18 14:56

administrator   ~0050951

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

apn

2016-02-18 14:57

administrator   ~0050952

Test case:
bugs mesh bug25045 - OK
http://occt-tests/bug25045_Lin/bugs/mesh/bug25045.html
http://occt-tests/bug25045_WNT/bugs/mesh/bug25045.html

git

2016-02-18 15:00

administrator   ~0050953

Branch CR25045 has been updated forcibly by apn.

SHA-1: e12d39ef1183c7d82c8a5dcbcf070fe1eb386c78

git

2016-02-19 12:44

administrator   ~0051006

Branch CR25045 has been updated forcibly by apn.

SHA-1: f720694056554cdd0b987a9e6b747bb94094ad63

git

2016-04-17 14:14

administrator   ~0053080

Branch CR25045 has been deleted by kgv.

SHA-1: f720694056554cdd0b987a9e6b747bb94094ad63

Related Changesets

occt: master 746f1ceb

2016-02-19 11:58:49

abv


Committer: abv Details Diff
0025045: STEP Import fails to find all surfaces

Added test case
Small corrections in test case
Affected Issues
0025045
add - tests/bugs/mesh/bug25045 Diff File

Issue History

Date Modified Username Field Change
2014-07-02 04:06 thomhong New Issue
2014-07-02 04:06 thomhong Assigned To => gka
2014-07-02 04:06 thomhong File Added: ICK 0433.STP
2014-07-07 12:13 abv Note Added: 0029982
2014-07-07 12:13 abv Assigned To gka => oan
2014-07-07 12:13 abv Status new => assigned
2014-07-07 12:13 abv Category OCCT:Data Exchange => OCCT:Mesh
2014-07-07 12:13 abv Target Version => 6.8.0
2014-07-07 12:14 abv File Added: bug25045_face11.brep
2014-07-07 12:37 oan Relationship added related to 0023111
2014-07-07 15:57 oan Note Added: 0029987
2014-07-07 15:58 oan File Added: 2D_representation_vs_discretized.png
2014-07-07 15:58 oan Relationship added child of 0023106
2014-07-07 16:00 oan Note Edited: 0029987
2014-09-01 17:47 oan Relationship added has duplicate 0025157
2014-09-12 19:17 oan Target Version 6.8.0 => 7.1.0
2016-01-29 12:41 git Note Added: 0050227
2016-01-29 12:42 oan Assigned To oan => bugmaster
2016-01-29 12:44 oan Note Added: 0050228
2016-01-29 14:05 git Note Added: 0050232
2016-01-29 14:08 git Note Added: 0050233
2016-01-29 23:11 kgv Status assigned => feedback
2016-02-02 10:07 bugmaster Assigned To bugmaster => apn
2016-02-16 11:36 oan Target Version 7.1.0 => 7.0.0
2016-02-18 14:56 git Note Added: 0050951
2016-02-18 14:57 apn Note Added: 0050952
2016-02-18 14:58 apn Test case number => bugs mesh bug25045
2016-02-18 14:58 apn Assigned To apn => bugmaster
2016-02-18 14:58 apn Status feedback => tested
2016-02-18 15:00 git Note Added: 0050953
2016-02-19 12:44 git Note Added: 0051006
2016-02-21 08:52 abv Changeset attached => occt master 746f1ceb
2016-02-21 08:52 abv Assigned To bugmaster => abv
2016-02-21 08:52 abv Status tested => verified
2016-02-21 08:52 abv Resolution open => fixed
2016-04-17 14:14 git Note Added: 0053080
2016-04-20 15:42 aiv Fixed in Version => 7.0.0
2016-04-20 15:50 aiv Status verified => closed