Attribute Overview
List of: Discussion Topic
Subjects: Attributes
Contents: Kernel

Attributes are a specialized type of entity used to attach data to entities; any entity may have zero or more attributes. Attributes can carry simple data, pointers to other entities, or links to application-specific variable length data. ACIS uses many "system attributes," but users may also define application-specific attributes.

The ATTRIB base class in kern provides the data and functionality that all attributes share, for both user-defined attributes and system attributes. The ATTRIB class is derived from the ENTITY class, and performs housekeeping operations to maintain attribute lists attached to model entities. Attributes use the inherent ACIS attribute mechanism, so attributes are saved and restored when the entity to which they are attached is saved to or restored from a file.

In ACIS, the most common types of entities to have attributes attached are topological entities (implemented in the various topology classes), and many of the methods of the ATTRIB class are designed with this in mind. However, attributes can be attached to any type of entity.

Organization attribute classes are always the first level of derivation from the ATTRIB class. (This is similar to the organization class for derivations from ENTITY.) Classes for specific attributes are derived from the organization attribute classes.

User-defined attributes allow extending an ACIS geometric model into a true product model. Developers can derive their own attribute classes from the ACISATTRIB class to attach application-specific data to entities. The examples at the end of this topic show how to derive new attribute classes.

Generic attributes allow applications to exchange data not supported by ACIS. These attributes, which are implemented with the ATTRIB_GENERIC class and its derivations (defined in the Generic Attributes Component), may have values or names associated with them. Refer to the Generic Attributes Component Manual for information.

The PART class also provides basic attribute support. A generically-named attribute class assigns an attribute with a name (a text string) and a value (number, position, or text) to any entity. There are also functions for selecting entities based on these attributes.