View Issue Details

IDProjectCategoryView StatusLast Update
0027024Open CASCADEOCCT:Modeling Algorithmspublic2019-09-06 18:31
ReporternbvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionno change required 
Summary0027024: Invalid result of fuse in test case bugs modalg_1 buc60462_2
DescriptionThe result of fuse contains 2 solids but must contain 1 solid.
Steps To Reproducetest bugs modalg_1 buc60462_2
TagsNo tags attached.
Test case number

Activities

nbv

2015-12-23 14:41

developer   ~0049508

Last edited: 2015-12-23 15:04

After integration the fix for issue #26132, test case bugs modalg_1 buc60462_2 changed its behavior. Now it throws an exception.

The main reason of the exception is creation not same-ranged edge by Boolean operation.

The algorithm cannot find interference between the seam-edge of one face and the edge of another face. Try the following script for clarifying:

Draw[]> restore [locate_data_file buc60462c.brep] a
Draw[]> restore [locate_data_file buc60462d.brep] b
Draw[]> explode a f
Draw[]> explode b e
Draw[]> ax
Draw[]> donly a_9 b_46
Draw[]> toler b_46
#0.0044857456383894396

Draw[]> distmini dd a_9 b_46
#0.00167963807727123 ==> b_46 "intersects" the seam of a_9

Draw[]> bclearobj
Draw[]> bcleartool
Draw[]> baddobj a
Draw[]> baddtool b
Draw[]> bfillds
Draw[]> bopds
Draw[]> bopindex b_46
# Index: 158

Draw[]> bopsp
#Edge 158: z158_158 ==> b_46 were not split.

Later, 2D-curve (on a_9 face) with range [0, 0.0336066450154111] will be added in z158. At that, 3D-curve of z158 already has range [0, 1]. As result, z158 will become invalid.

In short, edge b_46 is coincided with face a_9. Therefore, in IntTools_EdgeFace::Perform() method, full range of b_46 edge is used as common-block between b_46 and a_9 (range is [0, 1]). And edge b_46 is not split. Before fix (on the current MASTER) b_46 edge was split by the point found by IntTools_BeanFaceIntersector and result seamed to be valid.

The good idea of the fix is that the reason of failing Edge-Edge intersection (between b_46 and seam of a_9) algorithm must be clarified. If edge-edge intersection find intersection point then myRange in IntTools_EdgeFace::Perform() method will contain correct range for checking coincidence.

msv

2019-09-03 09:58

developer   ~0086681

In the current version there is no exception. The test buc60462_1 is OK. The test buc60462_2 reports error condition that the result of fuse contains 2 solids instead of 1.

This test case always generated bad result.

So, the current state of the test result cannot be considered as regression.

Removing word 'regression' from the title.

msv

2019-09-06 16:10

developer   ~0086895

I propose to close this bug.

Issue History

Date Modified Username Field Change
2015-12-21 16:09 nbv New Issue
2015-12-21 16:09 nbv Assigned To => msv
2015-12-23 09:51 msv Priority normal => high
2015-12-23 09:51 msv Target Version 7.1.0 => 7.0.0
2015-12-23 10:34 msv Priority high => normal
2015-12-23 14:41 nbv Note Added: 0049508
2015-12-23 14:42 nbv Note Edited: 0049508
2015-12-23 14:44 nbv Note Edited: 0049508
2015-12-23 15:02 nbv Note Edited: 0049508
2015-12-23 15:03 nbv Note Edited: 0049508
2015-12-23 15:04 nbv Note Edited: 0049508
2015-12-23 15:07 msv Assigned To msv => nbv
2015-12-23 15:07 msv Status new => assigned
2015-12-23 15:07 msv Target Version 7.0.0 => 7.1.0
2016-10-25 19:04 msv Target Version 7.1.0 => 7.2.0
2017-07-24 09:33 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:37 msv Target Version 7.4.0 => 7.5.0
2019-09-03 09:58 msv Note Added: 0086681
2019-09-03 10:00 msv Assigned To nbv =>
2019-09-03 10:00 msv Summary Regression in test cases bugs modalg_1 buc60462* => Invalid result of fuse in test case bugs modalg_1 buc60462_2
2019-09-03 10:00 msv Description Updated
2019-09-03 10:00 msv Steps to Reproduce Updated
2019-09-06 16:10 msv Note Added: 0086895
2019-09-06 16:10 msv Assigned To => bugmaster
2019-09-06 16:10 msv Status assigned => feedback
2019-09-06 16:10 msv Target Version 7.5.0 => Unscheduled
2019-09-06 16:10 msv Resolution open => no change required
2019-09-06 18:31 abv Status feedback => closed
2019-09-06 18:31 abv Target Version Unscheduled =>