View Issue Details

IDProjectCategoryView StatusLast Update
0024628CommunityOCCT:Modeling Algorithmspublic2014-05-05 13:38
ReporterHayashi Assigned Toabv  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.7.0 
Target Version6.7.1Fixed in Version6.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 Files

  • shells.zip (138,867 bytes)

Relationships

parent of 0024676 closedapn Wrong result done by intersection algorithm 

Activities

Hayashi

2014-02-15 11:09

reporter  

shells.zip (138,867 bytes)

emv

2014-03-03 18:57

developer   ~0028105

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.

pkv

2014-03-04 06:03

developer   ~0028110

Reviewed

mkv

2014-03-05 12:40

tester   ~0028146

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

2014-03-06 11:02:08

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
Affected Issues
0024628
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
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 aiv Status verified => closed
2014-05-05 13:38 aiv Fixed in Version => 6.7.1