View Issue Details

IDProjectCategoryView StatusLast Update
0002033FreeCADBugpublic2015-04-03 05:40
Reportertanderson69 Assigned Towmayer  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformamd64OSKubuntuOS Version 14.10
Target Version0.16 
Summary0002033: boolean failure, model refine
Descriptionfailure to record modified shapes in model refine, causes boolean to fail
Steps To Reproducewith auto refinement enabled:
load file.
select solid and then fusion(in that order)
run Part/boolean cut
Additional Informationhttp://forum.freecadweb.org/viewtopic.php?f=3&t=10310
TagsNo tags attached.
FreeCAD Information

Activities

tanderson69

2015-03-31 02:26

developer  

cantCut.fcstd (Attachment missing)

tanderson69

2015-03-31 02:26

developer  

cantCut_backTrace.txt (Attachment missing)

wmayer

2015-04-02 10:37

administrator   ~0005960

Your stack trace is a bit confusing because modelRefine.cpp:1079 is a comment. I guess that the stack trace was made before applying patch https://github.com/FreeCAD/FreeCAD_sf_master/commit/eba335c6158eb2ffeff1654d29db5ad99af524cd This means we are probably talking about line 1098:
> modifiedShapes.push_back(std::make_pair(edgeIt.Value(), newEdges(idx)));

I followed the procedure but I didn't get an exception. Tested with OCC 6.6.0

Now to the problem: The doc of BRepLib_FuseEdges::Edges says that the entries corresponds to the entries in BRepLib_FuseEdges::ResultEdges. But maybe this is only true for keys that are part of the two maps and that with the call of AvoidEdges() it could happen that not all keys of the map from "Edges" are part of the map from "ResultEdges".

So this should fix the problem:
>if (newEdges.IsBound(idx))
> modifiedShapes.push_back(std::make_pair(edgeIt.Value(), newEdges(idx)));

tanderson69

2015-04-03 01:30

developer   ~0005961

Yes sorry, I was on another branch when I did the backtrace.

The change you suggested has corrected the problem here. I am assuming you will add this one line change to the master branch. Let me know if that is not the case. We canclose this bug report as far as I am concerned. Thanks.

Related Changesets

FreeCAD: master b36c34b1

2015-04-03 07:39:17

wmayer

Details Diff
+ fixes 0002033: boolean failure, model refine Affected Issues
0002033
mod - src/Mod/Part/App/modelRefine.cpp Diff File

Issue History

Date Modified Username Field Change
2015-03-31 02:26 tanderson69 New Issue
2015-03-31 02:26 tanderson69 File Added: cantCut.fcstd
2015-03-31 02:26 tanderson69 File Added: cantCut_backTrace.txt
2015-04-02 10:37 wmayer Note Added: 0005960
2015-04-03 01:30 tanderson69 Note Added: 0005961
2015-04-03 05:40 wmayer Changeset attached => FreeCAD Master master b36c34b1
2015-04-03 05:40 wmayer Assigned To => wmayer
2015-04-03 05:40 wmayer Status new => closed
2015-04-03 05:40 wmayer Resolution open => fixed