I would like to present an overview of our work on analyzing sets of shapes. The general premise of our work is that, if all the shapes in a set roughly possess the same semantic part composition, then we can derive their common structure by analyzing the shapes simultaneously, rather than individually. This is advantageous in a context where the shapes exhibit significant variability in their geometry and topology, as in the case of man-made shapes. Thus, we introduce an unsupervised co-segmentation approach where we consistently segment the shapes in the set by clustering segments in a descriptor space with a spectral method, which makes use of third-party connections between shape parts. Moreover, we extend the unsupervised co-segmentation to efficiently incorporate direct user input, to arrive at a semi-supervised co-segmentation approach that allows us to obtain consistent segmentations that are close to error-free. Finally, in our latest work, we go beyond the identification of low-level part primitives of shapes and obtain a meaningful hierarchical organization of the shape parts. Importantly, the part hierarchy is computed by taking into account the entire set of shapes, so that the resulting co-hierarchy provides a unified explanation of the structural part organization of the shapes across the set.