We present a framework for the automatic disassembly of 3D man-made models and the illustration of the disassembly process. Given an assembled 3D model, we first analyze the individual parts using sharp edge loops and extract the contact faces between each pair of neighboring parts. The contact faces are then used to compute the possible moving directions of each part. We then present a simple algorithm for clustering the sets of the individual parts into meaningful sub-assemblies, which can be used for a hierarchical decomposition. We take the stability of sub-assemblies into account during the decomposition process by considering the upright orientation of the input models. Our framework also provides a user-friendly interface to enable the superimposition of the constraints for the decomposition. Finally, we visualize the disassembly process by generating an animated sequence. The experiments demonstrate that our framework works well for a variety of complex models. © 2013 Elsevier Ltd.