View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0024678 | Community | OCCT:Modeling Algorithms | public | 2014-03-03 19:58 | 2019-08-12 13:14 |
Reporter | shoogen | Assigned To | |||
Priority | normal | Severity | minor | ||
Status | feedback | Resolution | open | ||
Platform | Linux | OS | Debian Linux | ||
Product Version | 6.7.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0024678: Invalid result of Boolean fuse operation | ||||
Description | a call of BRepAlgoAPI_Fuse::BRepAlgoAPI_Fuse(TopoDS_Shape const&, TopoDS_Shape const&) with two slightly misalgined but valid shapes causes a crash. | ||||
Steps To Reproduce | restore prism.brep box cube001 10.000000 6.600000 2.600000 ttranslate cube001 -10.000000 -3.300000 -1.300000 bfuse union prism cube001 | ||||
Additional information and documentation updates | http://freecadweb.org/tracker/view.php?id=1435 | ||||
Tags | No tags attached. | ||||
Test case number | |||||
related to | 0025781 | assigned | Community | BOP of coincident torus and cylinder fails in BeanFaceIntersector |
|
prism.brep (3,652 bytes) |
|
1. The Problems 1.1. The crash is not reproduced on dev. OCC version 1.2. The result of fuse "union" is invalid. The reason: Insufficient positioning accuracy of the arguments (5.e-7) compared to the declared accuracy of the arguments themselves (1.e-7) 2 Resume: The case is LIMITATION 3. Proposals: 3.1. To improve the positioning accuracy of the arguments to provide the coherence with the declared accuracy of the arguments 3.2. To increase declared accuracy of the arguments. # #Example: restore prism.brep box cube001 10.000000 6.600000 2.600000 ttranslate cube001 -10.000000 -3.300000 -1.300000 settolerance cube001 5.e-7 bfuse union prism cube001 # # the result "union" is valid shape. # |
|
thank you |
|
Andrey, Please create testing case |
|
captive_nut.draw (733 bytes) |
|
captive_nut_wrong_tolerance.draw (751 bytes) |
|
I added two files. In contrast to the original exmaple they do not depend on the brep file. captive_nut.draw has accurate locations with respect to the tolerances. captive_nut_wrong_tolerance.draw reproduces the LIMITATION mentioned above. With version f8eb9b1 of DRAWEXE Draw[4]> bopcheck union V/V:x0, x1 V/V:x2, x3 V/E:x4, x5 V/E:x6, x7 V/E:x8, x9 E/E:x10, x11 V/F:x12, x13 V/F:x14, x15 with the DRAWEXE from OCE 0.15 i get a crash (as with the original example) |
|
The note http://tracker.dev.opencascade.org/view.php?id=24678#c28218 adds nothing new to be interested in. Please close the issue. |
|
would you mind to reassign the ticket to get it closed? |
|
I don't know you are gonna do with this ticket. And I'm embarrassed about it current state. I see two distinct problems. First the one originally reported. It was my mistake to report it without careful testing with a certified version. Following the first comment the ticked should be closed as the original problem is "not reproduceable" Secondly the model provided is flawed because it the tolerances are set below the precision of the the Locations used. The boolean could fail more gracefully and raise an exception instead of returning a broken shape. But this second problem does not match with the description and severity of the original problem. Please either CLOSE the ticket or CHANGE the description, severity and reproducibility. |
|
I prefer to keep this issue opened as it provides a test case for limitation in current BOP. Hope we will be able to address this kind of problems after version 7.0. |
|
related to 0025477 |
|
with a bfuzzyvalue > 3e-8 the fusion (in captive_nut_wrong_tolerance.draw) gives the correct result (on a 64bit linux system) Therefore I consider this as resolved by #25614 |
|
The problem is still reproduced on 7.1.0.beta: bfuse of valid solids produces invalid result. See script captive_nut_wrong_tolerance.draw |
|
Close problem is described in the issue #27128. Choice of correct fuzzy-tolerance is individual problem for every case. Nevertheless, fix for issue #27178 will help in unification of this problem. |
|
This is limitation of current Boolean operations and intersections. The principal problem is concluded in the fact that the algorithm cannot determine partial overlapping zones (edge-edge, edge-face, face-face). Only complete coincidence can be detected and properly processed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-03-03 19:58 | shoogen | New Issue | |
2014-03-03 19:58 | shoogen | Assigned To | => ifv |
2014-03-03 19:58 | shoogen | File Added: prism.brep | |
2014-03-04 10:11 |
|
Assigned To | ifv => pkv |
2014-03-04 10:11 |
|
Status | new => assigned |
2014-03-04 14:13 |
|
Note Added: 0028121 | |
2014-03-04 14:13 |
|
Assigned To | pkv => ifv |
2014-03-04 14:13 |
|
Status | assigned => feedback |
2014-03-04 14:14 |
|
Note Edited: 0028121 | |
2014-03-04 14:27 |
|
Resolution | open => unable to reproduce |
2014-03-04 14:27 |
|
Assigned To | ifv => bugmaster |
2014-03-06 00:16 | shoogen | Note Added: 0028158 | |
2014-03-06 00:16 | shoogen | Status | feedback => resolved |
2014-03-12 11:30 | bugmaster | Note Added: 0028215 | |
2014-03-12 11:30 | bugmaster | Assigned To | bugmaster => apn |
2014-03-12 11:30 | bugmaster | Status | resolved => assigned |
2014-03-12 12:18 | shoogen | File Added: captive_nut.draw | |
2014-03-12 12:24 | shoogen | File Added: captive_nut_wrong_tolerance.draw | |
2014-03-12 12:29 | shoogen | Note Added: 0028218 | |
2014-03-12 12:32 | shoogen | Note Edited: 0028218 | |
2014-03-17 12:08 | apn | Assigned To | apn => pkv |
2014-03-18 10:17 |
|
Note Added: 0028318 | |
2014-03-18 10:17 |
|
Assigned To | pkv => apn |
2014-07-31 00:47 | shoogen | Note Added: 0030500 | |
2014-09-11 19:02 |
|
Target Version | => 7.1.0 |
2014-09-12 14:23 | shoogen | Note Added: 0031664 | |
2014-09-12 18:31 |
|
Note Added: 0031680 | |
2014-09-12 18:31 |
|
Summary | segfault in BOPAlgo_PaveFiller => Invalid result of Boolean fuse operation |
2014-09-12 18:32 |
|
Severity | crash => minor |
2014-09-12 18:32 |
|
Resolution | unable to reproduce => open |
2014-11-22 17:28 | shoogen | Note Added: 0034620 | |
2015-02-19 10:36 | shoogen | Note Added: 0037683 | |
2016-08-18 10:17 | bugmaster | Assigned To | apn => apv |
2016-08-18 10:25 |
|
Status | assigned => feedback |
2016-11-15 09:55 |
|
Assigned To | apv => msv |
2016-11-15 09:55 |
|
Status | feedback => assigned |
2016-11-15 09:56 |
|
Note Added: 0060336 | |
2016-11-15 10:08 |
|
Assigned To | msv => nbv |
2016-11-15 10:51 |
|
Target Version | 7.1.0 => 7.2.0 |
2016-11-15 10:59 |
|
Assigned To | nbv => msv |
2016-11-15 11:01 |
|
Note Added: 0060338 | |
2016-11-15 11:16 |
|
Note Added: 0060339 | |
2016-11-15 11:16 |
|
Status | assigned => feedback |
2017-07-20 16:35 |
|
Target Version | 7.2.0 => 7.4.0 |
2017-11-01 10:35 |
|
Relationship added | related to 0025781 |
2019-08-12 13:14 |
|
Target Version | 7.4.0 => Unscheduled |