I used this
Handle(Geom_Surface) faceGeo = BRep_Tool::Surface(TopoDS::Face(Face));
if (faceGeo.IsNull()) return result;
Standard_Real domainU, domainV = 0;
faceGeo->D1(U, V, result, U1, V1);
gp_Vec n = U1.Crossed(V1);
if (face.Orientation() == TopAbs_REVERSED) {...