MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024678Community[OCCT] OCCT:Modeling Algorithmspublic2014-03-03 19:582017-11-01 10:35
Reportershoogen 
Assigned Tomsv 
PrioritynormalSeverityminor 
StatusfeedbackResolutionopen 
PlatformLinuxOSDebian LinuxOS Version7.4 (wheezy)
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0024678: Invalid result of Boolean fuse operation
Descriptiona call of BRepAlgoAPI_Fuse::BRepAlgoAPI_Fuse(TopoDS_Shape const&, TopoDS_Shape const&) with two slightly misalgined but valid shapes causes a crash.
Steps To Reproducerestore 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 [^]
TagsNo tags attached.
Test case number
Attached Files? file icon prism.brep (3,652 bytes) 2014-03-03 19:58
? file icon captive_nut.draw (733 bytes) 2014-03-12 12:18
? file icon captive_nut_wrong_tolerance.draw (751 bytes) 2014-03-12 12:24

- Relationships
related to 0025781assignedpkv Community BOP of coincident torus and cylinder fails in BeanFaceIntersector 

-  Notes
(0028121)
pkv (developer)
2014-03-04 14:13
edited on: 2014-03-04 14:14

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.
#

(0028158)
shoogen (reporter)
2014-03-06 00:16

thank you
(0028215)
bugmaster (administrator)
2014-03-12 11:30

Andrey,

Please create testing case
(0028218)
shoogen (reporter)
2014-03-12 12:29
edited on: 2014-03-12 12:32

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)

(0028318)
pkv (developer)
2014-03-18 10:17

The note
http://tracker.dev.opencascade.org/view.php?id=24678#c28218 [^]
adds nothing new to be interested in.

Please close the issue.
(0030500)
shoogen (reporter)
2014-07-31 00:47

would you mind to reassign the ticket to get it closed?
(0031664)
shoogen (reporter)
2014-09-12 14:23

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.
(0031680)
abv (manager)
2014-09-12 18:31

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.
(0034620)
shoogen (reporter)
2014-11-22 17:28

related to 0025477
(0037683)
shoogen (reporter)
2015-02-19 10:36

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
(0060336)
abv (manager)
2016-11-15 09:56

The problem is still reproduced on 7.1.0.beta: bfuse of valid solids produces invalid result. See script captive_nut_wrong_tolerance.draw
(0060338)
nbv (developer)
2016-11-15 11:01

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.
(0060339)
msv (developer)
2016-11-15 11:16

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.

- Issue History
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 ifv Assigned To ifv => pkv
2014-03-04 10:11 ifv Status new => assigned
2014-03-04 14:13 pkv Note Added: 0028121
2014-03-04 14:13 pkv Assigned To pkv => ifv
2014-03-04 14:13 pkv Status assigned => feedback
2014-03-04 14:14 pkv Note Edited: 0028121 View Revisions
2014-03-04 14:27 ifv Resolution open => unable to reproduce
2014-03-04 14:27 ifv 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 View Revisions
2014-03-17 12:08 apn Assigned To apn => pkv
2014-03-18 10:17 pkv Note Added: 0028318
2014-03-18 10:17 pkv Assigned To pkv => apn
2014-07-31 00:47 shoogen Note Added: 0030500
2014-09-11 19:02 abv Target Version => 7.1.0
2014-09-12 14:23 shoogen Note Added: 0031664
2014-09-12 18:31 abv Note Added: 0031680
2014-09-12 18:31 abv Summary segfault in BOPAlgo_PaveFiller => Invalid result of Boolean fuse operation
2014-09-12 18:32 abv Severity crash => minor
2014-09-12 18:32 abv 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 apv Status assigned => feedback
2016-11-15 09:55 abv Assigned To apv => msv
2016-11-15 09:55 abv Status feedback => assigned
2016-11-15 09:56 abv Note Added: 0060336
2016-11-15 10:08 msv Assigned To msv => nbv
2016-11-15 10:51 abv Target Version 7.1.0 => 7.2.0
2016-11-15 10:53 nbv Relationship added related to 0027128
2016-11-15 10:59 msv Assigned To nbv => msv
2016-11-15 11:01 nbv Note Added: 0060338
2016-11-15 11:16 msv Note Added: 0060339
2016-11-15 11:16 msv Status assigned => feedback
2017-07-20 16:35 msv Target Version 7.2.0 => 7.4.0*
2017-11-01 10:35 aml Relationship added related to 0025781


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker