<p><b>Abstract</b>—This paper presents a system and the associated algorithms for repairing the boundary representation of CAD models. Two types of errors are considered: <it>topological</it> errors, i.e., aggregate errors, like zero-volume parts, duplicate or missing parts, inconsistent surface orientation, etc., and <it>geometric</it> errors, i.e., numerical imprecision errors, like cracks or overlaps of geometry. The output of our system describes a set of clean and consistent two-manifolds (possibly with boundaries) with derived adjacencies. Such solid representation enables the application of a variety of rendering and analysis algorithms, e.g., finite-element analysis, radiosity computation, model simplification, and solid free-form fabrication. The algorithms described here were originally designed to correct errors in polygonal B-Reps. We also present an extension for spline surfaces.</p><p>Central to our system is a procedure for inferring local adjacencies of edges. The geometric representation of topologically-adjacent edges are merged to evolve a set of two-manifolds. Aggregate errors are discovered during the merging step. Unfortunately, there are many ambiguous situations where errors admit more than one valid solution. Our system proposes an object-repairing process based on a set of user-tunable heuristics. The system also allows the user to override the algorithm's decisions in a repair-visualization step. In essence, this visualization step presents an organized and intuitive way for the user to explore the space of valid solutions and to select the correct one.</p>