This paper presents an algorithm to generate surface models of 3D objects from their wire-frame models. The algorithm firstly, obtains information about edges of the object from the wire-frame model of the object and uses this edge information to generate the pairs. A pair of an object is a combination of two non-collinear edges which have a common vertex. The algorithm then determines the unique plane passing through each pair and groups the coplanar pairs together. Then it sorts each of the groups of coplanar pairs to form one or more loops of edges. Finally for each group of coplanar pairs, all the loops are combined, using a few rules, to form faces of the object. Hence a surface model of the object is generated.