View Issue Details

IDProjectCategoryView StatusLast Update
0023853CommunityOCCT:Modeling Algorithmspublic2013-04-29 15:24
ReporterPawel Assigned Toomy 
PriorityimmediateSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2008 
Product Version6.5.5 
Target Version6.6.0Fixed in Version6.6.0 
Summary0023853: BOP regression (2) - BRepAlgoAPI_Cut
DescriptionThe algorithm kind of fuses shapes instead of cutting them.

This problem was introduced on 21762.
Steps To Reproducepload ALL
restore cylinder.brep s1
restore pipe.brep s2
bop s1 s2
bopcut result
checkshape result
vinit
vdisplay result
vsetdispmode result 1
Additional information
and documentation updates
Changes:
  class BOPTools_AlgoTools.

 Changed the way of finding the angle between the faces.
 Added new static functions:
 GetFaceDir - builds direction for the face;
 FindPointInFace - finds the point in the face in bi normal direction.
TagsNo tags attached.
Test case numberbugs modalg_5 bug23853_1 bug23853_2 bug23853_3 bug23853_4

Attached Files

  • cylinder.brep (2,474 bytes)
  • pipe.brep (183,152 bytes)
  • cylinder1.brep (1,335 bytes)
  • pipe1.brep (176,094 bytes)
  • cylinder2.brep (356,437 bytes)
  • pipe2.brep (161,886 bytes)

Relationships

child of 0021762 closedemv Open CASCADE Integration new Boolean Operation algorithm to OCC 

Activities

Pawel

2013-03-22 17:34

developer  

cylinder.brep (2,474 bytes)

Pawel

2013-03-22 17:34

developer  

pipe.brep (183,152 bytes)

abv

2013-03-23 09:00

manager   ~0023878

> bopargcheck s1 s2 -C #F
Made faulty shape: s1bf_1
Faulties for FIRST shape found : 1
---------------------------------
Shapes are not suppotrted by BOP: NO
Self-Intersections : NO
Check for SI has been aborted : NO
Too small edges : NO
Bad faces : YES Cases(1) Total shapes(1)
Too close vertices : NO
Too close edges : NO

Faulties for SECOND shape found : 0

The reported "bad" face is internal cylindrical face of s1 and it is perfectly valid. My only guess the BOP fails because of tangency.

Pawel

2013-03-24 03:07

developer  

cylinder1.brep (1,335 bytes)

Pawel

2013-03-24 03:07

developer  

pipe1.brep (176,094 bytes)

Pawel

2013-03-24 12:18

developer  

cylinder2.brep (356,437 bytes)

Pawel

2013-03-24 12:19

developer  

pipe2.brep (161,886 bytes)

emv

2013-04-09 10:46

developer   ~0024034

Git branch CR23853 is ready to be reviewed.
http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commit;h=2ab0348acc213ad49559a9894c51647977d17c5b

emv

2013-04-09 11:23

developer   ~0024035

Please note that it is the fix for the case with cylinder.brep and pipe.brep.
The case with cylinder1.brep and pipe1.brep is the limitation for BOP because of the location of the shapes according to each other. It does not work in OCCT6.5.x.
Try in OCCT6.5.x:
restore cylinder1.brep b1
restore pipe1.brep b2
bop b1 b2
boptuc r
don r
checkshape r

Pawel

2013-04-10 01:32

developer   ~0024060

Dear emv,

thanks for fixing this issue! Indeed it works for the pair cylinder.brep/pipe.brep.

However, I'm pretty sure the cut cylinder1.brep/pipe1.brep worked fine before refactoring of BOPs so can you please elaborate more on the problem with the location?

pipe1.brep was created sweeping a profile along a helix. If I adjust the profile slightly the cut (new BOP) succeeds so as I understand this has something to do with the precision rather than location. Further, I find it surprising that the result of a cut operation looks more like fusion.

Thanks in advance.
Pawel

apn

2013-04-11 10:11

administrator   ~0024081

Dear BugMaster,

Branch CR23853 (and products from GIT master) was compiled on Linux and Windows platforms and tested without rebase.
SHA-1: 2ab0348acc213ad49559a9894c51647977d17c5b

Number of compiler warnings:

occt component :
Linux: 3 (3 on master)
Windows: 11 (11 on master)

products component :
Linux: 0 (0 on master)
Windows: 50 (50 on master)

Regressions:
bugs modalg_4 bug827 bug827_2 bug827_3

http://occt-tests/CR23853-master-occt/Mandriva2010/summary.html

Improvements:
bugs modalg_2 bug5805_41 (expected problem TODO no. 3 is not detected)

Testing on Linux:
Total MEMORY difference: 244988144 / 244666704
Total CPU difference: 14550.879999999795 / 19935.179999999735

Testing on Windows:
Total MEMORY difference: 356074844 / 355160312
Total CPU difference: 22379.390625 / 20158.125

There are not serious differences in images found by testdiff.

emv

2013-04-11 10:17

developer   ~0024082

The fix for the regressions is in the git branch CR23876.
Please rebase the branch CR23853 on CR23876 and test again.

apn

2013-04-12 12:04

administrator   ~0024105

Dear BugMaster,

Branch CR23853 (and products from GIT master) was compiled on Linux and Windows platforms and tested with rebase to CR23876.
SHA-1: 497973717ceb0ac7e433fa145b1d05785a0c7ac6

Number of compiler warnings:

occt component:
Linux: 2 (2 on master)
Windows: 11 (11 on master)

products component:
Linux: 0 (0 on master)
Windows: 50 (50 on master)

Regressions:
No regressions

Improvements:
No improvements

Test case:
bugs modalg_5 bug23853_1 bug23853_2 bug23853_3 bug23853_4 - OK

Testing on Linux:
Total MEMORY difference: 245185004 / 244755196
Total CPU difference: 15322.979999999603 / 19939.179999999735

Testing on Windows:
Total MEMORY difference: 354930120 / 355498904
Total CPU difference: 24136.078125 / 20193.046875

There are not serious differences in images found by testdiff.

Related Changesets

occt: master df017cc9

2013-04-12 09:29:02

omy

Details Diff
0023853: BOP regression (2) - BRepAlgoAPI_Cut.
Modifications:
Changed the way of finding the angle between the faces.
New static functions:
GetFaceDir - builds direction for the face;
FindPointInFace - finds the point in the face in bi normal direction.

New square values have been set in the following test cases:
boolean bopcommon_complex J1
bugs modalg_2 bug202085_6
bug202085_7
bug202085_8
bug202085_9
bug202085_10.
"TODO" marks have been removed from these cases.
Added test cases bugs modalg_5 bug23853
Affected Issues
0023853
mod - src/BOPTools/BOPTools_AlgoTools.cdl Diff File
mod - src/BOPTools/BOPTools_AlgoTools.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools_2.cxx Diff File
mod - tests/boolean/bopcommon_complex/J1 Diff File
mod - tests/bugs/modalg_2/bug20285_10 Diff File
mod - tests/bugs/modalg_2/bug20285_6 Diff File
mod - tests/bugs/modalg_2/bug20285_7 Diff File
mod - tests/bugs/modalg_2/bug20285_8 Diff File
mod - tests/bugs/modalg_2/bug20285_9 Diff File
add - tests/bugs/modalg_5/bug23853_1 Diff File
add - tests/bugs/modalg_5/bug23853_2 Diff File
add - tests/bugs/modalg_5/bug23853_3 Diff File
add - tests/bugs/modalg_5/bug23853_4 Diff File

Issue History

Date Modified Username Field Change
2013-03-22 17:34 Pawel New Issue
2013-03-22 17:34 Pawel Assigned To => bugmaster
2013-03-22 17:34 Pawel File Added: cylinder.brep
2013-03-22 17:34 Pawel File Added: pipe.brep
2013-03-22 17:34 Pawel Relationship added child of 0021762
2013-03-22 17:41 bugmaster Assigned To bugmaster => emv
2013-03-22 17:41 bugmaster Status new => assigned
2013-03-23 07:05 abv Priority normal => immediate
2013-03-23 07:05 abv Target Version => 6.6.0
2013-03-23 09:00 abv Note Added: 0023878
2013-03-24 03:07 Pawel File Added: cylinder1.brep
2013-03-24 03:07 Pawel File Added: pipe1.brep
2013-03-24 12:18 Pawel File Added: cylinder2.brep
2013-03-24 12:19 Pawel File Added: pipe2.brep
2013-04-09 10:46 emv Note Added: 0024034
2013-04-09 10:46 emv Assigned To emv => pkv
2013-04-09 10:46 emv Status assigned => resolved
2013-04-09 10:46 emv Additional Information Updated
2013-04-09 10:55 pkv Assigned To pkv => mkv
2013-04-09 10:55 pkv Status resolved => reviewed
2013-04-09 11:12 apn Assigned To mkv => apn
2013-04-09 11:23 emv Note Added: 0024035
2013-04-10 01:32 Pawel Note Added: 0024060
2013-04-11 10:11 apn Note Added: 0024081
2013-04-11 10:11 apn Assigned To apn => emv
2013-04-11 10:11 apn Status reviewed => assigned
2013-04-11 10:17 emv Note Added: 0024082
2013-04-11 10:18 emv Assigned To emv => apn
2013-04-11 10:18 emv Status assigned => feedback
2013-04-11 12:07 apn Test case number => bugs modalg_5 bug23853_1 bug23853_2 bug23853_3 bug23853_4
2013-04-12 12:04 apn Note Added: 0024105
2013-04-12 12:04 apn Assigned To apn => bugmaster
2013-04-12 12:04 apn Status feedback => tested
2013-04-15 17:59 omy Changeset attached => occt master df017cc9
2013-04-15 17:59 omy Assigned To bugmaster => omy
2013-04-15 17:59 omy Status tested => verified
2013-04-15 17:59 omy Resolution open => fixed
2013-04-23 13:35 aiv Status verified => closed
2013-04-29 15:24 aiv Fixed in Version => 6.6.0