1. A method for segmenting a mesh, the method comprises: receiving or generating the mesh, wherein the mesh is a three dimensional surface mesh that represents a three dimensional object and comprises vertexes, edges and faces; finding, by a computerized search module, first edges of the mesh that have an edge angle below an edge angle threshold; wherein each first edge is a border of a pair of faces of the mesh and wherein an edge angle of a first edge is an angle between normals to the pair of faces; finding, by the computerized search module, first vertices of the mesh that have a negative angular defect that is below a negative angular defect threshold and have exactly one neighboring first edge; wherein each first vertex is shared by multiple faces of the mesh; wherein an angular defect of a first vertex is responsive to angles between all pairs of neighboring faces of the edges that share one of the multiple faces; finding, by the computerized search module, second edges of the mesh that link the first vertices of the mesh; clustering faces to provide first clusters by joining faces of the mesh that share an edge of the mesh that is not a first edge and is not a second edge; searching, by the computerized search module, for cutting edges out of the boundaries between the first clusters; and segmenting, by a computerized segmentation module, the mesh along the cutting edges to provide mesh segments.