MantisBT - Community
View Issue Details
0030760Community[OCCT] OCCT:Modeling Algorithmspublic2019-05-31 13:462019-06-08 13:21
likewei92 
bugmaster 
normalmajor 
verifiedfixed 
LinuxDebian 6.064 bit
[OCCT] 7.3.0 
 
bugs/modalg_7/bug30760
0030760: [Regression to 7.2.0] Modeling Algorithms - Intersection fails in Occt 7.3.0
I'm seeing a Boolean intersection fail in occt 7.3.0 that didn't fail in 7.2.0. I observed this in FreeCAD, and checked that the intersection fails with every version of 7.3.0. You can see more details with pictures here: https://forum.freecadweb.org/viewtopic.php?f=3&t=36711 [^]
restore shapes.brep a
explode a so

bcommon r a_1 a_2
# no result

bcommon r a_2 a_1
# result is good
No tags attached.
? shapes.brep (69,262) 2019-05-31 18:02
https://tracker.dev.opencascade.org/
? wrong_intersect.brep (408) 2019-05-31 18:02
https://tracker.dev.opencascade.org/
? correct_intersect.brep (45,823) 2019-05-31 18:03
https://tracker.dev.opencascade.org/
Issue History
2019-05-31 13:46likewei92New Issue
2019-05-31 13:46likewei92Assigned To => kgv
2019-05-31 13:51kgvAssigned Tokgv => msv
2019-05-31 13:51kgvCategoryOCCT:Coding => OCCT:Modeling Algorithms
2019-05-31 15:11msvNote Added: 0084734
2019-05-31 15:46kgvSummaryIntersection fails in Occt 7.3.0 => Modeling Algorithms - Intersection fails in Occt 7.3.0
2019-05-31 18:02likewei92File Added: shapes.brep
2019-05-31 18:02likewei92File Added: wrong_intersect.brep
2019-05-31 18:03likewei92File Added: correct_intersect.brep
2019-05-31 18:05likewei92Note Added: 0084740
2019-05-31 19:48msvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=21291#r21291
2019-05-31 19:49msvNote Added: 0084742
2019-05-31 20:17msvNote Added: 0084743
2019-06-01 10:05likewei92Note Added: 0084744
2019-06-01 21:56msvNote Added: 0084764
2019-06-02 09:48likewei92Note Added: 0084765
2019-06-03 09:19msvNote Added: 0084767
2019-06-03 10:31msvNote Added: 0084768
2019-06-03 10:31msvSummaryModeling Algorithms - Intersection fails in Occt 7.3.0 => [Regression to 7.2.0] Modeling Algorithms - Intersection fails in Occt 7.3.0
2019-06-03 10:31msvAssigned Tomsv => emv
2019-06-03 10:31msvStatusnew => assigned
2019-06-03 11:37gitNote Added: 0084769
2019-06-04 07:25emvNote Added: 0084787
2019-06-04 07:25emvAssigned Toemv => msv
2019-06-04 07:25emvStatusassigned => resolved
2019-06-04 13:34gitNote Added: 0084813
2019-06-04 15:22msvNote Added: 0084816
2019-06-04 15:22msvAssigned Tomsv => bugmaster
2019-06-04 15:22msvStatusresolved => reviewed
2019-06-04 17:53bugmasterTest case number => bugs/modalg_7/bug30760
2019-06-04 17:54bugmasterNote Added: 0084822
2019-06-04 17:54bugmasterStatusreviewed => tested
2019-06-08 13:11bugmasterChangeset attached => occt master 78005ffe
2019-06-08 13:11bugmasterStatustested => verified
2019-06-08 13:11bugmasterResolutionopen => fixed
2019-06-08 13:21gitNote Added: 0084957

Notes
(0084734)
msv   
2019-05-31 15:11   
Dear likewei92, could you attach here the files to reproduce in BREP format?
(0084740)
likewei92   
2019-05-31 18:05   
Sure! shapes.brep shows the two shapes that are being intersected. wrong_intersect.brep is generated using 7.3.0 (there's nothing there...), and correct_intersect.brep is generated using 7.2.0.

Thanks for looking into it and let me know if you need anything else from me!
(0084742)
msv   
2019-05-31 19:49   
If you swap the operands then the result is good.
So, here we see instability connected with the order of arguments.
(0084743)
msv   
2019-05-31 20:17   
The shape contains some faces built on planar bspline surfaces (degree in both U and V is 1).
If we convert them to be built on canonical planes (I used Canonical Recognition component https://www.opencascade.com/content/canonical-recognition [^]) the result is good regardless of the order of the arguments.
(0084744)
likewei92   
2019-06-01 10:05   
Thanks for the workaround! Is it possible to fix the original instability?
(0084764)
msv   
2019-06-01 21:56   
There is nothing impossible. However, this task is not payed. Therefore it has very low priority.
(0084765)
likewei92   
2019-06-02 09:48   
Ok, what would be the process to turn this into a paid task? I can't seem to find a donation page or something
(0084767)
msv   
2019-06-03 09:19   
Please fill in contact form at https://www.opencascade.com/contact. [^] The support manager will communicate you to discuss the ways of putting the bug into paid status.
(0084768)
msv   
2019-06-03 10:31   
This bug is classified as a regression. It will be fixed on account of internal OCC resources.
(0084769)
git   
2019-06-03 11:37   
Branch CR30760 has been created by emv.

SHA-1: 3a42f7ee9a42aceb45c6c503403493f8976d2c29


Detailed log of new commits:

Author: emv
Date: Mon Jun 3 11:36:18 2019 +0300

    0030760: Modeling Algorithms - Intersection fails in Occt 7.3.0
    
    Use FORWARD orientation of edges and face when attaching pcurve from one edge to another.
    Test case for the issue.
(0084787)
emv   
2019-06-04 07:25   
Dear Mikhail, could you please review the git branch CR30760?
Test results - http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30760-master-emv/view/COMPARE/ [^]
(0084813)
git   
2019-06-04 13:34   
Branch CR30760 has been updated forcibly by emv.

SHA-1: 68fce0db696b6bf04765e52cbb080efd3ab9845c
(0084816)
msv   
2019-06-04 15:22   
Reviewed.
(0084822)
bugmaster   
2019-06-04 17:54   
Combination -
OCCT branch : CR30760
master SHA - 3a42f7ee9a42aceb45c6c503403493f8976d2c29
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : master SHA - c337118ac41004248abf27585e4c0e972f1a923e
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16283.950000000004 / 16313.930000000051 [-0.18%]
Products
Total CPU difference: 10489.97000000005 / 10490.14000000005 [-0.00%]
Windows-64-VC14:
OCCT
Total CPU difference: 17720.8125 / 17714.90625 [+0.03%]
Products
Total CPU difference: 12062.0 / 12054.984375 [+0.06%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0084957)
git   
2019-06-08 13:21   
Branch CR30760 has been deleted by inv.

SHA-1: 68fce0db696b6bf04765e52cbb080efd3ab9845c