This paper presents an algorithm for identifying and locating an object from a set of objects. The algorithm is designed and implemented in two parts. The first part identifies the object using an automatically generated set of constraints, while the second part determines the displacement and orientation of the object. The novelty of this algorithm is in its use of three-dimensional data which are obtained from projection of parallel laser light planes. The knowledge that laser light planes are parallel to each other allows automatic discovery of various constraints from the three-dimensional data. One constraint is based on collinearity among various points and another constraint on coplanarity among various segments of the three-dimensional data. These automatically derived constraints, then, are used in a tree search algorithm for object identification. After the identification routine, a set of interpretations are generated. An interpretation is the assignment of each sensed (three dimmentional) data point to a specific edge of the object. An interpretation, however, does not define the exact position of the data point on the specific edge. Given a set of these interpretations, the fitting algorithm recovers the rotation and translation transformation parameters of the object with respect to a known origin. It is shown that a minimum of six interpreted data points are required. The selection of these six points is guided by three constraints, based on whether these points are collinear, coplanar, and spanning the space. Alternatively, a least-squared method is given which uses all, the available interpretations and thus no selection of points is required. Sample applications to various objects are presented. It is also shown that this algorithm is robust with respect to noisy data.