Woven cloth composite materials have been extensively used to reinforce the structures of automobiles and the airframes of aircraft. It is well-known that a woven cloth composite ``ply" has the capability of fitting to fairly complex geometries. Fitting here means that a ply is deformed and applied to a 3D surface in such a way that it is in contact everywhere with the surface. However, it is not always possible to fit a woven cloth composite ply to highly curved surfaces. In such cases it is necessary to cut pieces, or ``darts," out of the cloth in order to accomplish the fitting. In this paper, we present dart insertion algorithms developed for use in a woven cloth composite CAD system. We first define our models of darts, then describe how appropriately inserted darts can suppress anomalies in the resulting 3D composite ply and how to optimize the shape of darts. We finally present several examples of how possible anomalies can be removed by inserting darts.