Wrong Face Normals


I try to construct a face of a circular segment. This seems to work fine, but when it comes to meshing, the normals of the mesh elements point to wrong directions - depending on chosen circular angle. E.g. for a 100degrees-segment it is fine, for 300degrees the element normals have the opposite direction.

I checked orientations of vertices and edges - all seems to be fine.

My code:

const Standard_Real radius = 100.0;
const Standard_Real angle1 = 0;
const Standard_Real angle2 = 100; // 300

gp_Circ outerCircle(bottomSystem, radius);
BRepBuilderAPI_MakeEdge outerCircleEdge(outerCircle, angle1, angle2);
BRepBuilderAPI_MakeEdge e_v2v1(outerCircleEdge.Vertex2(), outerCircleEdge.Vertex1());
BRepBuilderAPI_MakeWire outerCircleWire(outerCircleEdge, e_v2v1);
BRepBuilderAPI_MakeFace outerCircleFace(outerCircleWire);

Any hint is welcome.

sergey zaritchny's picture

It seems you need radians instead of degrees.

mz's picture

Sorry, my mistake: I indeed took radians but left out the conversion here by mistake.

So the values are
angle2 = 1.7453 // 5.236

The problem still exists. Do you have any further suggestions?

sergey zaritchny's picture

I would suggest you to make request for the dedicated customer support - http://www.opencascade.org/about/contacts/.
I hope it should help.