Dynamic analysis of many mechanical systems is often involved with contacts among bodies. This paper presents an efficient and general-purpose contact search algorithm for multibody dynamics in the context of the compliance contact force model. While many conventional collision detection algorithms are based on the absolute coordinate system, this paper proposes to use the relative coordinate system in detecting a contact. A boundary box of a defense surface geometry is divided into many blocks. A contact reference frame is defined on the defense body of a contact pair. Since all geometric variables necessary to detect a contact are measured relative to the contact reference frame attached to the defense body, the variables belonging to the defense body are constant, which significantly reduces computation time associated with the contact search. Therefore, the contact reference frame plays a key role in developing an efficient contact search algorithm. Contour of the defense body is approximated by many piecewise triangular patches, while contour of the hitting body is represented by hitting nodes along its boundary. Bounding boxes inside which contain each body of a contact pair are defined at a preprocessing stage to eliminate an exhaustive contact inspection when two bodies are in a distance. If two bounding boxes are turned out to be in a contact during the pre-search, each node on the hitting boundary is inspected to find out to which block the node belongs in the post-search. Since each block dividing the boundary of the defense body has a list of patches, each node on the hitting boundary is tested for a contact only with the patches in the block that the node belongs. Actual contact calculation is then carried out to find the contact penetration used in calculating the compliant contact force. Numerical example is performed to demonstrate the validity of the proposed method.