There is an increasing demand for more intuitive methods for creating and modifying free-form curves and surfaces in CAD modeling systems. The methods should be based not only on the change of the mathematical parameters, such as control points, knots, and weights, but also on the user's specified constraints and shapes. This paper presents a new approach for directly manipulating the shape of a free-form curve, leading to a better control of the curve deformation and a more intuitive CAD modeling interface. The user's intended deformation of a curve is automatically converted into the modification of the corresponding NURBS control points and knot sequence of the curve. The algorithm for this approach includes curve elevation, knot refinement, control point repositioning, and knot removal. Several examples shown in this paper demonstrate that the proposed method can be used to deform a NURBS curve into the desired shape. Currently, the algorithm concentrates on the purely geometric consideration. Further work will include the effect of material properties.