Standard_Real aTol = BRep_Tool::Tolerance(theFace);
BRepAdaptor_Surface Ads ( theFace, Standard_False );
Standard_Real toluv = Min ( Ads.UResolution(aTol), Ads.VResolution(aTol) );
+ if (toluv < 0.01)
+ toluv = 0.01; // there is no need to be more precise than 1cm a any case !
+ // another solution could be to compute a tolerance related to the distance between the border nodes
const gp_Pln& aPlane = Ads.Surface().Plane();
gp_Pnt aPnt(theXY.X(), theXY.Y(), 0.);
Standard_Real aU1, aV1;