An algorithm for extending B-spline curves with a sequence of ordered points constraint is presented based on the curve unclamping algorithm. The ordered points are divided into two categories: interpolation points and approximation points. The number of interpolation points increases gradually during the curve extension process. The most important feature of this algorithm is the ability to optimize the knots of the extended curve segment according to the ordered points. Thus, with minimum number of interpolation points, the maximum deviation of the extended curve segment from the ordered points is less than the given tolerance. The extended curve segment connects to the original curve with maximum continuity intrinsically. Several experimental results have shown the validity and applicability of the proposed algorithm.