Feature Naming and Annotation
List of: Discussion Topic
Subjects: Feature Naming
Contents: Kernel

Feature naming adds derived ANNOTATION entities to define (in more detail) the results of a modeling operation. Feature naming annotates entities which were created or removed as part of a modeling operation like blending or sweeping. It specifies what they are and what related entity created them, and annotates what relationship new entities have with the original entities.

Feature naming provides information that correlates the inputs and outputs of the specific modeling operation. For example, each edge of a sweep profile is associated with the lateral face generated. Because the input entities may not survive the operation, they are represented in the annotation entities indirectly through ATTRIB_TAG.

Annotation entities are kept in a list which is available through api_find_annotations and api_get_annotation_ctx. Developers may add application information by deriving from ATTRIB_TAG and pre-tagging the model. Copies of the existing ATTRIB_TAGs will be carried through to the final annotations.

Feature naming does not supply all of the answers about what occurs during a modeling operation. However, it does supply the hooks for a user-defined application to access so that it can acquire such information.

The information in the annotation entities depends on the modeling operation being annotated. For example, blending and sweeping each have a number of derived annotation types that are specific to these operations. Feature naming provides information on the original input entities, the generated output entities, the relationship between the input entities and the output entities, and what the output entities are. The annotations also flag the original entities so applications can query as to whether they exist or not after the operation.

Imagine a simple square (face) profile that is swept along a path to create a solid. The solid has eight new edges, five new faces, and four new vertices that were created to complete the solid. Four of the new edges are lateral edges and are associated with each of the four vertices in the square profile. The other four new edges are top edges and are associated with each of the four edges of the square profile. If this sweep operation used the draft option, there could be even more new edges, faces, and vertices.

For a blending example, imagine a rectangular block with a rounded chamfer to a single edge. After the blending operation, one edge and two vertices are removed completely from the model and are replaced by a new blend face, four new vertices, and four new edges. Two of the edges are cross-curves, or the rounded portion at the ends of the block. These are associated with the original two vertices. The other two edges are spring curves (sometimes called rail curves). The four new vertices connect together the four new edges, which in turn bound the new rounded chamfer blend face on the block.