Our approach is based on two ideas: (1) decomposing a model into suitable sub-parts simplifies finding regularities, which are less ambiguous compared to analysing the model as one part; and (2) detecting approximate symmetries and related regularities reveals a likely design intent description, but requires careful handling of tolerances to reduce the inconsistency between the detected regularities. So our system first decomposes the model into sub-parts: it gradually takes a large complex model apart into simpler, more symmetric sub-parts. The resulting sub-parts are then grouped into sets of congruent sub-parts. For each set of congruent sub-parts we detect the symmetries of the congruent shape. We also find symmetric arrangements within sets of congruent sub-parts, e.g. four congruent cylinders may be positioned on the vertices of a square.
As the models may be approximate, already the decomposition has to consider tolerances and similarly regularities have to be detected at certain tolerances. Based on careful tolerance handling we group the involved entities at tolerance levels where no ambiguous matching between the entities occurs. This generates different decompositions at different, well-defined tolerance levels among which a user can easily choose an appropriate decomposition; especially as rough tolerance levels are often known. Regularities can then be detected robustly at the selected tolerance level with only minimal inconsistency between them. This is essentially based on requiring that at the tolerance level the regularity is unambiguously present, i.e. it is the only approximate regularity to explain the geometric structure.
Overall our software detects approximate congruencies, symmetries and symmetric arrangements of sub-parts of an approximate CAD model at well-defined tolerance levels. This has been enabled by novel results on decomposition and symmetry detection for approximate models. By revealing the underlying geometric structures of a model we link reverse engineering with the (forward) design process. This creates many new possibilities for reverse engineering and related applications where design intent information of the models is not available or has been lost. A description of a model on a higher abstraction level makes the resulting models considerably more useful. In next-generation CAD applications this can facilitate modifying CAD models by constraining and guiding the editing operations. It may allow models to be more meaningfully indexed in order to search for specific models in a large database or the Internet. It may also enable faster analysis and allow models to be more compactly and meaningfully represented, if the models have symmetric sub-parts.
Design Intent Detection Example
Combining decomposition with symmetry detection yields our complete design intent detection system. The complete process is illustrated below for an example part (from the National Design Repository, Drexel University): first an RFT for the model is constructed (a); then congruent sub-parts are detected (b); for each set of congruent sub-parts, symmetries within each congruent sub-part (c) and symmetric arrangements of congruent sub-parts (d) are detected; and finally these regularities are grouped by compatible symmetries induced by the same isometry (e). The detected regularities at a user-selected tolerance level represent the model’s design intent in terms of transformations indicating invariants of sub-parts of the model.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.