Loops are critical elements in boundary representation (B-rep) models because they link all edges corresponding to a face. Loops can be used in feature recognition for identifying depressions or protrusions. In real 3D CAD models, however, features typically lie across multiple faces, which is beyond the data structure of current B-rep models. This study presents a virtual loop concept to account for all loop types used in CAD models, and develops algorithms for recognizing them. In accordance with the complexity of the recognition algorithm, this study defines three types of loop: single, virtual, and multivirtual. A single loop is the current loop recorded in the B-rep model. A virtual loop lies across faces that are at least G1 continuous. Finally, a multivirtual loop lies across faces that are either G0 or G1 continuous. The proposed loop structure provides a more complete data structure for recognizing various types of features in feature-recognition modules. Several realistic CAD models are presented to confirm the feasibility of the proposed loop-recognition and feature-recognition methods.