Fri, 08/30/2019 - 13:47
We having some problem tracking down why a valid Shell cannot be made into a Valid Solid.
In the FreeCAD code
shell=Part.Shell(shellperi.Faces+faces)
print("shell : "+str(shell.isValid()))
fp.Shape = Part.Solid(shell)
#fp.Shape = shell
print("Shape : "+str(fp.Shape.isValid()))
Which prints True for the shell but False for the Shape.
I added the following code
shell.exportBrep("/tmp/shellBrep.brp")
shell.exportStep("/tmp/shellStep.stp")
shell.exportIges("/tmp/shellIges.igs")
And the Brep is attached
Similarly for the Shape which exports but still reports invalid when load.
We would like advice on how to determine why the creation of a solid from the shell is not valid
OS: Ubuntu 18.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.3.
Build type: Release
Python version: 3.6.8
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
Fri, 08/30/2019 - 13:56
Notice that the top and bottom faces of your parts are inverted (wrong orientation of faces).
Fri, 08/30/2019 - 14:01
OpenCascade Technology has different validity criteria for different topological objects. Solid is a closed shell and coherent faces orientation. When you construct solid invalid orientations of faces you mentioned are reported.
qa qa
Fri, 08/30/2019 - 15:56
Many thanks have now been able to sort code.
However please could you enlighten us how and what tools are you using to reveal the faces are inverted.
Fri, 08/30/2019 - 16:11
I would definitely advise finding a way to enable backface coloring in your visualization subsystem. This way you may colorize your faces depending on its side (determined by the orientation of the corresponding visualization facets). Alternatively, you may always fall back to good old Draw console:
Sat, 09/07/2019 - 12:19
SORRY POST IN WRONG THREAD and don't know how to delete