View Issue Details

IDProjectCategoryView StatusLast Update
0000684FreeCADFeaturepublic2012-06-16 12:32
Reportershoogen Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version0.13 
Target VersionFixed in Version0.13 
Summary0000684: Add an option that make FreeCAD check the shape after each boolean/loft operation
DescriptionOpenCASCADE often returns invalid Shapes that currupt the feature tree. If that happens FreeCAD should show a sign (like the exclamation mark in a red circle) in the TreeView, that will notify the user of a problem. this would be an improvement over silently returning a broken shape.
Since shape.check() and shape.isValid() are expensive in compuation time this behavior should be switchable in the program preferences.
TagsNo tags attached.
FreeCAD Information

Activities

shoogen

2012-04-26 19:28

developer   ~0001971

This is only meant for recaculating Features. Not for calls from the Python.

shoogen

2012-04-26 19:32

developer   ~0001972

Since the exclamation mark is used when exceptions are caught, maybe a new symbol for the case of a invalid shape or a 'null' shape has to be considered.

yorik

2012-04-27 11:11

administrator   ~0001973

Actually if I'm not mistaken, the current exclamation mark appears when the view provider is unable to build its output. In the case of shape-based objects, it should appear when the shape is not valid, no?
Or you can have a bad shape that produces a valid coin output anyway? We should make some tests...

shoogen

2012-06-07 17:05

developer   ~0002146

Last edited: 2012-06-07 23:05

I tried to implement this feature but i got stuck with a SIGSEGV
0x00007fffd0b09d75 in TopExp_Explorer::Init(TopoDS_Shape const&, TopAbs_ShapeEnum, TopAbs_ShapeEnum) () from /usr/lib/libTKBRep-6.3.0.so

wmayer

2012-06-07 18:26

administrator   ~0002148

Does it crash inside BRepCheck_Analyzer? And does it crash for all cases?

shoogen

2012-06-07 21:59

developer   ~0002152

Last edited: 2012-06-15 06:40

I missed a call path. When the broken shape created by a previous fusion reached another boolean it crashed OCC. That problem does not appear if the new feture is enabled.

git://github.com/5263/FreeCAD.git review-feat684-check-shape-after-boolean

simple testfile would be 'fan2' (http://forum.freecadweb.org/viewtopic.php?f=10&t=2389&start=50#p20037)

shoogen

2012-06-15 06:39

developer   ~0002202

would anybody mind reviewing the patch?

yorik

2012-06-15 11:27

administrator   ~0002207

I think Werner can review this much better than me, but if needed I can have a look too, just ask.

wmayer

2012-06-16 12:32

administrator   ~0002212

Reviewed and merged into master

Issue History

Date Modified Username Field Change
2012-04-26 19:26 shoogen New Issue
2012-04-26 19:28 shoogen Note Added: 0001971
2012-04-26 19:32 shoogen Note Added: 0001972
2012-04-27 11:11 yorik Note Added: 0001973
2012-06-07 17:05 shoogen Note Added: 0002146
2012-06-07 18:26 wmayer Note Added: 0002148
2012-06-07 21:59 shoogen Note Added: 0002152
2012-06-07 22:17 shoogen Note Edited: 0002152
2012-06-07 23:04 shoogen Note Edited: 0002152
2012-06-07 23:05 shoogen Note Edited: 0002146
2012-06-15 06:39 shoogen Note Added: 0002202
2012-06-15 06:40 shoogen Note Edited: 0002152
2012-06-15 11:27 yorik Note Added: 0002207
2012-06-16 12:32 wmayer Note Added: 0002212
2012-06-16 12:32 wmayer Status new => closed
2012-06-16 12:32 wmayer Resolution open => fixed
2012-06-16 12:32 wmayer Fixed in Version => 0.13