In the file attached, I have the result of an intersection of the CPlane with the cylinder. Then, using the OffsetCrvOnSrf command, I want to offset this curve by (+/-) 0.75 units. the result is nowhere near the ellipse shape it was. The largest offset distance is about 1 unit (a deviation of 33% !). Why does this happen? Can it be prevented, such that I get a properly offset curve on my surface? Of course this is a simple example, the results are also happening on more freeform surfaces.

Also, try values of offset distance > 2. The outcome is complete rubbish

The shape of the offset curve depends on the direction used for determining the offset distance. menno appears to be assuming it should be parallel to the center of the cylinder. However based on emilio’s work OffsetCrvOnSrf appears to use the distance along a curve on the surface perpendicular to the original curve, and that direction varies along the original curve. The latter method of measuring offset distance is applicable to more general surfaces which can not be characterized by a single direction.