MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024628Community[OCCT] OCCT:Modeling Algorithmspublic2014-02-15 11:092014-05-05 13:38
ReporterHayashi 
Assigned Toabv 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2010OS Version32 bit
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 6.7.1Fixed in Version[OCCT] 6.7.1 
Summary0024628: Intersection result is unfixed
DescriptionThe number of Edge of intersection of attached Shells always differs. (14 or 15)
In the case of 15, it is doubled with other edge.
OCCT6.6.0 is also the same result. (However, 6.7.0 is very slower than 6.6.0.)

The following is my result.
Draw[1]> pload ALL
1
Draw[2]> restore shell2.brep shell
shell
Draw[3]> restore shellcut2.brep cut
cut
Draw[4]>
Draw[5]> bsection r1 shell cut
Draw[6]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 14
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 30

Draw[7]>
Draw[8]> bsection r1 shell cut
Draw[9]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 15
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 31

Draw[10]>
Draw[11]> bsection r1 shell cut
Draw[12]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 14
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 30

Draw[13]> bsection r1 shell cut
Draw[14]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 14
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 30

Draw[15]> bsection r1 shell cut
Draw[16]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 14
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 30

Draw[17]> bsection r1 shell cut
Draw[18]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 14
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 30

Draw[19]> bsection r1 shell cut
Draw[20]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 14
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 30

Draw[21]> bsection r1 shell cut
Draw[22]> nbshapes r1
Number of shapes in r1
 VERTEX : 15
 EDGE : 15
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 31

Draw[23]>
Steps To Reproducepload ALL
restore shell2.brep shell
restore shellcut2.brep cut
bsection r1 shell cut
nbshapes r1
Additional information
and documentation updates
The map for collecting pave blocks of two faces has been replaced with indexed map to ensure the constant order of pave blocks when checking section curves for existents.
TagsNo tags attached.
Test case numberbugs modalg_5(010) bug24628
Attached Fileszip file icon shells.zip (138,867 bytes) 2014-02-15 11:09

- Relationships
parent of 0024676verifiedapn Wrong result done by intersection algorithm 

-  Notes
(0028105)
emv (developer)
2014-03-03 18:57

Git branch CR24628 is ready to be reviewed.
1. The patch fixes instability of the algorithm, that is caused by the intersection between faces 197 of shell2.brep and 14 of the shellcut2.brep:
restore shell2.brep b1
restore shellcut2.brep b2
explode b1 f
explode b2 f

donly b1_197 b2_14
bsection r b1_197 b2_14

The face b2 is very "thin", and the section curve between these two faces has a tolerance value 5.e-6 which is more than the distance value between two "long" edges of the face b2:
donly b2; fit
explode b2 e
distmini d b2_1 b2_2
#the distance value is : 2.15084e-006

Thus, the section curve overlaps the face b2 by its tolerance, which leads to invalid result.
To get the correct result, it is necessary to avoid the usage of such faces as an arguments of BOPs.


2. Performance degradation is caused by the additional computation of tolerance value of the section curves between Plane and SurfaceOfExtrusion that was added after the release of OCCT6.6.0.
(0028110)
pkv (developer)
2014-03-04 06:03

Reviewed
(0028146)
mkv (tester)
2014-03-05 12:40

Dear BugMaster,

Branch CR24628 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: 4c8d64bda43605d471e0b5a3564fbc05d84b3015

Number of compiler warnings:

occt component :
Linux: 29 (29 on master)
Windows: 0 (0 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24628-master-occt/Debian60-64/bugs/modalg_5/bug24628.html [^]
http://occt-tests/CR24628-master-occt/Windows-32-VC9/bugs/modalg_5/bug24628.html [^]
bugs modalg_5(010) bug24628: OK

Testing on Linux:
Total MEMORY difference: 383277100 / 382850156
Total CPU difference: 42456.47999999984 / 52926.71000000003

Testing on Windows:
Total MEMORY difference: 429091440 / 428923596
Total CPU difference: 32760.234375 / 32992.875

There are not differences in images found by testdiff.

- Related Changesets
occt: master decdfc94
Timestamp: 2014-03-06 11:02:08
Author: abv
Committer: abv
Details ] Diff ]
0024628: Intersection result is unfixed

The map for collecting pave blocks of two faces has been replaced with indexed map
to ensure the constant order of pave blocks when checking section curves for existents.

Test case for issue CR24628
mod - src/BOPAlgo/BOPAlgo_PaveFiller.cdl Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff ] File ]
mod - src/BOPDS/BOPDS_DS.cdl Diff ] File ]
mod - src/BOPDS/BOPDS_DS.cxx Diff ] File ]
add - tests/bugs/modalg_5/bug24628 Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-02-15 11:09 Hayashi New Issue
2014-02-15 11:09 Hayashi Assigned To => ifv
2014-02-15 11:09 Hayashi File Added: shells.zip
2014-02-20 11:33 ifv Assigned To ifv => emv
2014-02-20 11:33 ifv Status new => assigned
2014-03-03 15:07 emv Relationship added parent of 0024676
2014-03-03 18:57 emv Note Added: 0028105
2014-03-03 18:57 emv Assigned To emv => pkv
2014-03-03 18:57 emv Status assigned => resolved
2014-03-03 18:57 emv Additional Information Updated View Revisions
2014-03-04 06:03 pkv Note Added: 0028110
2014-03-04 06:03 pkv Assigned To pkv => mkv
2014-03-04 06:03 pkv Status resolved => reviewed
2014-03-05 12:40 mkv Note Added: 0028146
2014-03-05 12:41 mkv Test case number => bugs modalg_5(010) bug24628
2014-03-05 12:41 mkv Assigned To mkv => bugmaster
2014-03-05 12:41 mkv Status reviewed => tested
2014-03-06 11:39 apn Target Version => 6.7.1
2014-03-11 14:41 abv Changeset attached => occt master decdfc94
2014-03-11 14:41 abv Assigned To bugmaster => abv
2014-03-11 14:41 abv Status tested => verified
2014-03-11 14:41 abv Resolution open => fixed
2014-05-05 13:33 user533 Status verified => closed
2014-05-05 13:38 user533 Fixed in Version => 6.7.1


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker