Final-year Geometric Modelling Course

Chapter 8

Storing Non-geometric Information in Geometric Models


There are obviously lots of occasions when we want to attach useful information to geometric models. Items of such information are called attributes. We may want to associate attributes with surfaces in a model...

...or with a whole solid...

... or with some other part of the model, such as an edge. B-rep modellers as a minimum allow attributes to be attached to faces and usually also to shells. Fancier systems allow them to be attached at any point in the winged-edge data structure.

The simplest attribute is colour, and all modellers allow this. If you attach a colour attribute to the whole model you get:

Or you can attach colour attributes to individual surfaces:

After colour, the next most useful attribute is a text string, especially if the modeller doesn't place restrictions on its length. Indeed, given arbitrary-length text strings it's possible to encode anything as an attribute (including colour), but this is not always as efficient as storing things explicitly. Another very common attribute is a pointer. This allows the address of any data structure containing anything to be attached to the model as an attribute.

Some set-theoretic modellers allow attributes to be attached anywhere in the set-theorey-operator tree:

If this is done, a rule for attribute inheritance needs to be defined. In the above example, an attribute percolates down the tree until another is encountered, when that one takes over.

Not all attributes are strictly non-geometric. Surface finish and roughness obviosly have geometric properties, and this is even more true for tolerance:

If a = 25mm +/- 1mm, and b = 26mm +/- 1mm then we may have a problem - the slot may dissappear:

Note that this is a fundamental difficulty with the whole idea of a tolerance, and is not really a geometric modelling problem. The modeller can get into trouble though if, for example, attempts (and this is a useful thing to do) are made to create a minimum-material and a maximum-material model; the topology of the two may change along with their geometry. This is a similar problem to the one we encountered in moving vertices through faces in b-rep models. In fact b-rep modellers are particularly prone to this sort of problem. Set-theoretic modellers will always make a genuine solid (or occasionally a genuine nothing). It may not, of course, be the solid you wanted...


Back to: Final-year Geometric Modelling Course Home Page

© Adrian Bowyer 1996