Patent ID: 8452435

Claim:
A method, comprising: performing, by a computer: obtaining a data structure representing an object, wherein the object is an assembly of a plurality of parts, wherein the data structure comprises a plurality of hierarchically arranged data elements each representing one of the plurality of parts of the assembly, wherein each of the plurality of parts of the assembly is either a single distinct component of the assembly or a sub-assembly of two or more others of the plurality of parts of the assembly; receiving input selecting one of the parts of the assembly for which an exploded view is to be generated, wherein the selected part is a sub-assembly of two or more others of the plurality of parts; and automatically generating an exploded view of the selected sub-assembly, wherein said automatically generating an exploded view of the selected sub-assembly comprises: determining a global bounding region for the sub-assembly; determining a bounding region for each of the parts of the sub-assembly; for each of the parts of the sub-assembly, dynamically determining a vector for the respective part according to a center of the global bounding region for the sub-assembly and a center of the bounding region for the respective part; dynamically determining a displacement for each of the parts in the direction of its respective vector such that the bounding regions for the parts of the sub-assembly do not intersect; and displaying each of the parts of the sub-assembly at a location indicated by the direction of its respective vector and its respective displacement.