1. A method of searching for a solid model comprising the steps of: providing a query model; determining a first set of values based on predetermined properties of said query model; comparing said first set of values to definitions for classification, wherein said definitions for said classification are based on a second set of values that is determined by predetermined properties for a group of training models, said predetermined properties of said training models and said query model including at least a first set of distances between points on said training models and said query model, said distances being determined by determining an angular shortest path between two triangular faces on said training models and said query model; and indexing, classifying or at least partially matching said query model with one or more training models based on said comparing step.