rc; Concerning your more than needed data points, have you tried reducing the number of points before running a spline? Case in point, in contouring 3D data, every once in a while I encounter data that is conflicted. In other words, very close x/y data with anomalous z values. In such cases, I often use a routine to figure out if one, or both, of the z values are out-of-range for the data set. If one is, then I throw out the bad one and use the good one. If both are bad, then I throw both out. But, if both are within tolerance for a global range but are anomalous for a local range, then I average the x, y, and z values and replace them with the point. Likewise, to solve your knot problem, you could write a routine that would check for points "too" close together and then average the point before running a spline. Just a thought. tedd