public static PointParam ClosestPointOn(this ICurve curve, double x, double y, double z) { var array = curve .GetClosestPointOn(x, y, z) as double[]; var point = array.ToVector3(); var param = array[3]; return(new PointParam(point, point)); }