Anonymous | Login | 2021-01-17 00:36 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] [ Related Changesets ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0031144 | Open CASCADE | [OCCT] OCCT:Shape Healing | public | 2019-11-09 08:20 | 2020-12-02 17:12 | ||||
Reporter | abv | ||||||||
Assigned To | bugmaster | ||||||||
Priority | normal | Severity | block | ||||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | [OCCT] 7.4.0 | ||||||||
Target Version | [OCCT] 7.5.0 | Fixed in Version | [OCCT] 7.5.0 | ||||||
Summary | 0031144: Shape Healing - ShapeAnalysis::OuterWire() infinite loop on solid obtained from IFC | ||||||||
Description | BRepMesh hangs on one of solids created during reading from IFC with OCC reader. This blocks any possibility to see the model in CAD Assistant or other OCCT-based viewer. This is regression appeared in OCCT 7.4.0. The solid is valid according to checkshape but has large tolerance (90 mm, on object of ~ 300 mm size) and visible gaps in edges + misplaced vertex, see attached image. The IFC files comes from Duraark archives (http://duraark.eu/data-repository/ [^]), archive "A-House Scan September 2014" (https://tib.eu/data/duraark/BuildingData/03_IFC_E57/LTU_A-House_2014-09-25_ifc.zip [^]), file LTU_A-House_redesign.ifc, solid 4081 (no information on original entity). | ||||||||
Steps To Reproduce | pload ALL restore LTU_A-House_redesign_so4081.brep a incmesh a 1. | ||||||||
Tags | No tags attached. | ||||||||
Test case number | bugs/mesh/bug31144 | ||||||||
Attached Files | ![]() ![]() | ||||||||
![]() |
|||||||
|
![]() |
|
(0088883) oan (developer) 2019-11-10 19:04 |
It is strange that checkshape reports nothing, whereas bopargcheck notifies a lot of failures: bopargcheck a #F Made faulty shape: s1si_1 Made faulty shape: s1si_2 Made faulty shape: s1si_3 Made faulty shape: s1si_4 Made faulty shape: s1si_5 Made faulty shape: s1si_6 Made faulty shape: s1si_7 Made faulty shape: s1si_8 Made faulty shape: s1si_9 Made faulty shape: s1si_10 Made faulty shape: s1si_11 Made faulty shape: s1si_12 Made faulty shape: s1si_13 Made faulty shape: s1si_14 Made faulty shape: s1si_15 Made faulty shape: s1si_16 Made faulty shape: s1si_17 Made faulty shape: s1si_18 Made faulty shape: s1si_19 Made faulty shape: s1si_20 Made faulty shape: s1si_21 Made faulty shape: s1si_22 Made faulty shape: s1si_23 Made faulty shape: s1si_24 Made faulty shape: s1si_25 Made faulty shape: s1si_26 Made faulty shape: s1si_27 Made faulty shape: s1si_28 Made faulty shape: s1si_29 Made faulty shape: s1si_30 Made faulty shape: s1si_31 Made faulty shape: s1si_32 Made faulty shape: s1se_1 Made faulty shape: s1se_2 Made faulty shape: s1se_3 Made faulty shape: s1se_4 Faulties for FIRST shape found : 36 --------------------------------- Shapes are not suppotrted by BOP: NO Self-Intersections : YES Cases(32) Total shapes(64) Check for SI has been aborted : NO Too small edges : YES Cases(4) Total shapes(4) 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 However, issue should be checked in context of BRepMesh anyway. |
(0088884) oan (developer) 2019-11-10 21:07 |
Dear Andrey, preliminary analysis has shown that issue with hang on attached model is caused by ShapeAnalysis::OuterWire (theFace); called from BRepMesh_ShapeVisitor::Visit (const TopoDS_Face& theFace). This means that issue by its nature is not a problem of BRepMesh, but Shape Healing regression. Please move the ticket to Shape Healing category and assign to proper person for further processing. |
(0088885) oan (developer) 2019-11-10 22:17 |
In details, ShapeAnalysis::OuterWire causes infinite loop if first sub-shape is not a wire due to lack of proper iterator move after this particular check. |
(0088886) oan (developer) 2019-11-10 22:26 |
Potentially, this issue will cause hang up of any algorithm using ShapeAnalysis::OuterWire, so it should be checked by an expert in order to provide an appropriate fix. |
(0088921) git (administrator) 2019-11-12 19:13 |
Branch CR31144 has been created by abv. SHA-1: 40125556fe489fcb0a862a7f6ccc43dd2a72f81b Detailed log of new commits: Author: abv Date: Tue Nov 12 19:10:14 2019 +0300 0031144: Shape Healing - ShapeAnalysis::OuterWire() infinite loop on solid obtained from IFC Implementation of ShapeAnalysis::OuterWire() is revised to avoid infinite cycle if face contains internal vertex. |
(0088925) git (administrator) 2019-11-12 23:17 |
Branch CR31144 has been updated by abv. SHA-1: e6764f9969f1760dca248568767e6765cd1bb888 Detailed log of new commits: Author: abv Date: Tue Nov 12 23:15:55 2019 +0300 Added test bugs mesh bug31144 |
(0088926) abv (manager) 2019-11-12 23:17 |
Fix is pushed to CR3144 and tested, see Jenkins job CR3144-abv; please review |
(0088982) gka (developer) 2019-11-15 10:07 |
Branch CR31144 was reviewed |
(0089022) git (administrator) 2019-11-16 18:11 |
Branch CR31144 has been deleted by inv. SHA-1: e6764f9969f1760dca248568767e6765cd1bb888 |
![]() |
|||
occt: master 31a5a359
Timestamp: 2019-11-12 16:10:14 Author: abv Committer: bugmaster [ Details ] [ Diff ] |
0031144: Shape Healing - ShapeAnalysis::OuterWire() infinite loop on solid obtained from IFC Implementation of ShapeAnalysis::OuterWire() is revised to avoid infinite cycle if face contains internal vertex. |
||
mod - src/ShapeAnalysis/ShapeAnalysis.cxx | [ Diff ] [ File ] | ||
add - tests/bugs/mesh/bug31144 | [ Diff ] [ File ] | ||
![]() |
|||
Date Modified | Username | Field | Change |
2019-11-09 08:20 | abv | New Issue | |
2019-11-09 08:20 | abv | Assigned To | => oan |
2019-11-09 08:20 | abv | File Added: LTU_A-House_redesign_so4081.brep | |
2019-11-09 08:21 | abv | File Added: LTU_A-House_redesign_so4081.png | |
2019-11-10 19:04 | oan | Note Added: 0088883 | |
2019-11-10 21:07 | oan | Note Added: 0088884 | |
2019-11-10 21:07 | oan | Assigned To | oan => abv |
2019-11-10 21:07 | oan | Status | new => assigned |
2019-11-10 22:17 | oan | Note Added: 0088885 | |
2019-11-10 22:26 | oan | Note Added: 0088886 | |
2019-11-11 12:39 | oan | Status | assigned => feedback |
2019-11-12 15:06 | oan | Category | OCCT:Mesh => OCCT:Shape Healing |
2019-11-12 15:06 | oan | Summary | Mesh - [regression] BRepMesh hangs on solid obtained from IFC => Shape Healing - ShapeAnalysis::OuterWire() infinite loop on solid obtained from IFC |
2019-11-12 19:13 | git | Note Added: 0088921 | |
2019-11-12 19:27 | abv | Status | feedback => assigned |
2019-11-12 23:17 | git | Note Added: 0088925 | |
2019-11-12 23:17 | abv | Note Added: 0088926 | |
2019-11-12 23:17 | abv | Assigned To | abv => gka |
2019-11-12 23:17 | abv | Status | assigned => resolved |
2019-11-12 23:17 | abv | Steps to Reproduce Updated | View Revisions |
2019-11-13 08:36 | abv | Description Updated | View Revisions |
2019-11-15 10:07 | gka | Note Added: 0088982 | |
2019-11-15 10:07 | gka | Assigned To | gka => bugmaster |
2019-11-15 10:07 | gka | Status | resolved => reviewed |
2019-11-15 16:39 | bugmaster | Test case number | => bugs/mesh/bug31144 |
2019-11-16 17:57 | bugmaster | Changeset attached | => occt master 31a5a359 |
2019-11-16 17:57 | bugmaster | Status | reviewed => verified |
2019-11-16 17:57 | bugmaster | Resolution | open => fixed |
2019-11-16 18:11 | git | Note Added: 0089022 | |
2019-12-16 19:07 | oan | Relationship added | related to 0031248 |
2020-12-02 16:40 | emo | Fixed in Version | => 7.5.0 |
2020-12-02 17:12 | emo | Status | verified => closed |
Copyright © 2000 - 2021 MantisBT Team |