I am reporting what I believe to be a Freecad bug here to get a) confirmation this is a bug before entering into Mantis b) in the hopes of finding general advice on how to avoid trouble using the Thickness tool in non-pathological situations.
What I found is that making a loft in the part design workbench involving an ellipse, and then applying thickness on the loft, results in "surprising" behavior. The attached file contains a loft from a circle ("bottom" sketch) to an ellipse ("top" sketch). Both sketches are fully constrained.
The top ellipse can be turned (through an angular constraint) around its center. Whatever the angle, the actual body should be identical (disregarding a rotation).
If the top ellipse is constrained to be either (sketch-)horizontal (angle = 0) or vertical (angle = 90), then a thickness operation (selecting the top face first) succeeds.
If the top ellipse is turned to 45 degrees, then the thickness operation fails with the dreaded message
"0 <App> Document.cpp(3464): Failed to recompute shelltest3#Thickness: BRep_API: command not done
Recompute failed! Please check report view."
I guess this is an OCC problem, which I understand FreeCad devs cannot do anything about. Is there any general guidance ("avoid overlapping split lines") that might save the thickness operation?
Now on to the actual bug, if I turn the ellipse to 89 degrees, then FreeCad crashes. Should I report this as a bug in Mantis? I have seen https://tracker.freecadweb.org/view.php?id=4262 but that bug apparently involves pathological geometry so may or may not have the same root cause.
I ran into this while trying to make a somewhat more complex model (the body/hull of a glider plane); I don't think there is any easy way to replace thickness which is why I really need the thickness operation to succeed (rather than other workarounds).
Here is the example file:
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19694 (Git)
Build type: Release
Branch: master
Hash: 288456ee4beb9e8dc27d50a7984c40c45467161f
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)