Solids Orientation

If you want to create a solid from a closed shell, you must first check the orientation to determine if you have to reverse the shell or not (for example after creating a closed shell from a sewing operation). To do this, use the PerformInfinitePoint method from the BrepClass3D_SolidClassifier class.

For example:

BRepClass3d_SolidClassifier clas3d(aShell);

clas3d.PerformInfinitePoint(Precision::Confusion());

if (clas3d.State() == TopAbs_IN)

newShell.Reverse();

BRepBuilderAPI_MakeSolid aSolid(aShell);