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));
        }