Archived issue #0023853
BOP regression (2) - BRepAlgoAPI_Cut
Description
The algorithm kind of fuses shapes instead of cutting them.
This problem was introduced on 21762.
This problem was introduced on 21762.
Steps to reproduce
pload ALL
restore Attachment 1 (BREP) s1
restore Attachment 4 (BREP) s2
bop s1 s2
bopcut result
checkshape result
vinit
vdisplay result
vsetdispmode result 1
restore Attachment 1 (BREP) s1
restore Attachment 4 (BREP) s2
bop s1 s2
bopcut result
checkshape result
vinit
vdisplay result
vsetdispmode result 1
Additional information
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.
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.
Public activity
7 archived notes
Participants are labeled by their role within this record.
> 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.
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.
Git branch CR23853 is ready to be reviewed.
http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commit;h=[revision removed]
http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commit;h=[revision removed]
Please note that it is the fix for the case with Attachment 1 (BREP) and Attachment 4 (BREP).
The case with Attachment 2 (BREP) and Attachment 5 (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 Attachment 2 (BREP) b1
restore Attachment 5 (BREP) b2
bop b1 b2
boptuc r
don r
checkshape r
The case with Attachment 2 (BREP) and Attachment 5 (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 Attachment 2 (BREP) b1
restore Attachment 5 (BREP) b2
bop b1 b2
boptuc r
don r
checkshape r
Dear emv,
thanks for fixing this issue! Indeed it works for the pair Attachment 1 (BREP)/Attachment 4 (BREP).
However, I'm pretty sure the cut Attachment 2 (BREP)/Attachment 5 (BREP) worked fine before refactoring of BOPs so can you please elaborate more on the problem with the location?
Attachment 5 (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.
Author
thanks for fixing this issue! Indeed it works for the pair Attachment 1 (BREP)/Attachment 4 (BREP).
However, I'm pretty sure the cut Attachment 2 (BREP)/Attachment 5 (BREP) worked fine before refactoring of BOPs so can you please elaborate more on the problem with the location?
Attachment 5 (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.
Author
Dear Commenter 2,
Branch CR23853 (and products from GIT master) was compiled on Linux and Windows platforms and tested without rebase.
[revision removed]
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.
Branch CR23853 (and products from GIT master) was compiled on Linux and Windows platforms and tested without rebase.
[revision removed]
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.
The fix for the regressions is in the git branch CR23876.
Please rebase the branch CR23853 on CR23876 and test again.
Please rebase the branch CR23853 on CR23876 and test again.
Dear Commenter 2,
Branch CR23853 (and products from GIT master) was compiled on Linux and Windows platforms and tested with rebase to CR23876.
[revision removed]
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.
Branch CR23853 (and products from GIT master) was compiled on Linux and Windows platforms and tested with rebase to CR23876.
[revision removed]
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 records