It is imperative for CAD, solid modeling, grid generation, and data exchange applications that a complicated, surface-based geometry definition does not contain discontinuities in the form of overlapping surfaces, gaps between surfaces or surface intersections. Most currently used approaches require a significant amount of user interaction to correct faulty CAD data. We describe a new approach for approximating large-scale CAD data sets by a relatively small number of patches that no longer contain discontinuities -- except those that are part of the design. Our approach first determines connectivity information for the given patches and removes discontinuities smaller than a certain user-specified tolerance. Next, feature lines are determined in the model by identifying patch boundary curves where large changes in the surface normal occur. Original patches with in regions bounded by feature lines are then grouped together, and a "blending-edge" post-processing step ensures C 0 continuity of the entire model. Finally, bigger approximating patches replace each group of patches. The output of our algorithm is a much smaller set of patches with C 0 continuity. 1