Frank C Langbein
Ex Tenebris Scientia

Detecting Design Intent in Complex Approximate Geometric Models

Reverse engineering creates a CAD model of an object from 3D measurements obtained, e.g., by a 3D laser scanner. Such models do not contain any information about their design intent: intended regularities, such a symmetries, congruencies between sub-parts or a construction sequence for the model, etc. are not explicitly recorded. Furthermore, such models are approximate due to measurement errors and approximation and numerical errors from the reconstruction process. Similarly, for data exchange, transferring a model from one CAD system into another usually does not transfer design intent and may also result in approximate models due to different model representations and tolerance systems. This makes it hard for engineers to meaningfully modify or analyse such models.

For this project we devised novel algorithms to detect design intent automatically in CAD models of engineering objects in terms of intended geometric relationships between a model's vertices, edges, faces and sub-parts, and their properties. Especially symmetries are a key concept for design intent detection as engineering objects often exhibit symmetries and related regularities for functional, aesthetic and manufacturing reasons.

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.

Example of design intent detection



The following software has been developed for design intent detection. They have been implemented on Linux in C++ (gcc 3.3) and Matlab using OpenCascade 5.2.

Details on this and related solid modelling software are available at the Isis development sit.



This project is supported by the EPSRC, GR/S69085/01.

Cite as Design Intent Detection, by Frank C Langbein [ 1/November/2008, 14:50].
[Contact Details]