Mechanical Modeler

Order and Absorption Concepts

Presentation of two valid concepts for Ordered Geometrical Set and Body 
Technical Article

Abstract

The ordered surfacic features set (an Ordered Geometrical Set) and the solid and surfacic features set (Body) implement the same two concepts: order and absorption. The goal of this article is to describe them.


Introduction

The ordered surfacic features set (an Ordered Geometrical Set) and the solid and surfacic features set (Body) are geometrical features set [1] introducing two concepts:

  1. Order
  2. The goal is having a set inside which features are ordered from the basic features (top) to features with huge historical graph (bottom). To reach it, a rule has been defined: "Each feature inside an ordered set can only have as input specifications features which are above it". The introduction of the current feature, which already exists for PartBody features, enable us to implement this rule. This article describes in details the role of the current feature. 

  3. Absorption
  4. The goal is having a set inside which only the relevant features are taken into account. There are those modifying other features. Their visualization makes useless the visualization of the modified features, since they are superimposed. The modified features are further named absorbed features, and the modifying feature are named absorbent features. This article details which they are, and how they behave. 

In all the CAA documentation, Ordered Geometrical Set and Body features, are also named ordered sets

In this article, all screen shots have been done on an Ordered Geometrical Set. But of course you will have the same behaviors with a Body.

Order Concept

To force the end user to locate his features in a "logical" order into an ordered set, a feature can only rely on features (inputs) which are above it. However, this rule is only valid for inputs in the same set as the feature itself, otherwise, they can be below. 

Fig.2 Input Specification Order

In this above picture, Fig.2, Line.1 can have Point.1 and Point.5 as inputs, but not Point.6, since it is below Line.1.

Specific behaviors have been implemented to help the end user to respect the previous rule when designing its geometry.

  1. When editing a feature, it becomes the current feature
  2. A new feature is inserted just below the current feature.
  3. The input specifications of a feature can be only features above it in the specification tree
  4. Only features above the current feature are visualized in the 3D viewer

Here are detailed these four behaviors.

  1. When editing a feature, it becomes the current feature

  2. Fig.3 Feature Edition

    When Line.1 is edited, it becomes the current feature such as shown by the above picture Fig.3. The name of the current feature is underlined in the specification tree, such as using the "Define in Work Object" interactive command.

  3. A new feature is inserted just below the current feature
  4. Line.1 is the current feature, and you create a point. The new feature, Point.7, will be inserted just below Line.1, as shown on Fig.4, and not below Plane.1, the last feature of the ordered set. In a Geometrical Set (a non ordered surfacic features set), Point.7 would have been automatically aggregated at the end of the set.

    Fig.4 New Feature Inserted Just Below the Current Feature

    This behavior enables the end user to locate its new feature into the ordered body in order to respect the top /down order: when editing Point.7, only the same authorized features as at the creation time will be displayed and available. 

  5. The input specifications of a feature can be only features above it in the specification tree (if inputs are selected in the same set)

  6. The CATFeatureImportAgent is an agent of selection mainly used in the Part and Product context. It has been modified to enable the end user selecting only the features above the current feature.

    Fig.5 Feature Below the Current Feature are not Selectable

    On this above picture Fig.5, Line.1 is being edited. When you try to replace Point.5 by Point.6, which is below Line.1 in the specification tree, the following tool tip is displayed.

    In the case of the creation of a feature, since the new feature is inserted just below the current one, the order rule will be kept.

    The CATFeatureImportAgent agent can prevent the selection of features inside the same set. But you can always select a feature from another body below or above the current one, i.e. in another set.

    At last, it must be specified that this rule of selection is only an interactive rule. By code, there is no protection on interfaces modifying the inputs of features. 

  7. Only the feature above the current feature are visualized in the 3D viewer
  8. The following Fig.6 shows the 3D viewer when all the elements of the ordered set are visible.

    Fig.6 The Last Feature of the Ordered Body  is the Current One

    It is the last element of the set which is the current feature, so all elements of the surfacic features set are drawn.

    Now, if you observe Fig.7 where Line.1 is the current feature, from Point.1 to Line.1 the features in the ordered set are visualized, but neither Extrude.1, nor Point.6, nor Plane.1 are drawn.

    Fig.7 Features Below the Current Feature are not Drawn

    So if you are editing Line.1, you are not disturbed by the features located below it, and you cannot select them in the 3D viewer. Consequently, you cannot "break" the order rule by selecting in 3D.

The current feature enables us to manage the location of features into ordered sets, to ensure a coherence into the specifications, and avoid to visualize the useless features when editing one. The current feature is managed by CATIPrtPart, an interface implemented by the Part feature [1].

Absorption Concept

Compare the following two pictures in Fig.8.

Fig.8 Absorbent Feature

Both show the split of a surface (Extrude.1) by a plane (Plane.1)- see Fig.6. The 3D visualization of the result seems equal: you only see Split.1, and Extrude.1 is not visible. But if you have a look to the specification tree, you can remark that on the left picture, Extrude.1 has the hidden icon, and on the right, its icon is normal. It means that if you swap the visible space, Extrude.1 of the Geometrical Set (on left) will be drawn, while Extrude.1 inside the OGS or Body will not be.

Once Split.1 is created, Extrude.1 is visually useless for the design. Split.1 is said to be an absorbent feature. It means a feature which modifies one or several features. Conversely, Extrude.1 is named an absorbed feature.

There are six behaviors or concepts to consider:

  1. Absorbed Feature Visualization
  2. Absorbed Feature Selection
  3. Absorbent Feature Insertion
  4. CATIInputDescription, the interface to define the type of the feature
  5. The Main Input Feature
  6. The Result of an Ordered Set

Here are detailed these behaviors.

  1. Absorbed Feature Visualization
  2. The visualization of the absorbed feature is depending on the current feature position:

    Fig.9 Absorbed Feature Visualization Cases

    Fig.9 shows the three cases detailed below: 

  3. Absorbed Features Selection
  4. Try to create an offset of Extrude.1 just below the Split operation Fig.8. It will be impossible to select Extrude.1 whereas Extrude.1 is above the new offset.

    Fig.11 Absorbed Feature Selection

    The CATFeatureImportAgent has been modified to prevent the selection of an absorbed feature. Thus, possibility to select in the specification tree is compliant with what is drawn in 3D. See the previous Absorbed Feature Visualization section.

  5. Absorbent Feature Insertion
  6. Suppose that just after the Split operation of Extrude.1 by Plane.1 Fig.8 (after: time notion), you want introduce a modification of Extrude.1 to do before the first Split (before: location sense). To do that, first you set current Extrude.1 or Plane.1, and then you create Plane.2 and Split.2. Here is the result of this scenario.

    Fig.12 Absorbent Feature Insertion

    Since Split.2 is created between Split.1 and Extrude.1, Split.1 relies on Split.2 and no more Extrude.1. Before this operation, the input of Split.1 was Extrude.1, but after it is Split.2. The Parent/Children command shows that:

    Fig.13 Parent-Children 

    After Insertion of Split.2 

    Before Insertion of Split.2

    This modification of Split.1 is managed by a mechanism of "re-root" in the ordered set. When Split.2 is added into the ordered set, (added = the Append method of CATIDescendants), a re-root call is necessary. 

    This "re-root" mechanism is based on the Insert method of the CATMmrLinearBodyServices class. It must be invoked whatever the type of the feature aggregated in the ordered body is. It means for the absorbent feature, but also for the other one. This Insert method must also be invoked if you reorder features inside such set, or if you change the inputs of a surfacic features (useless for solid features).

    Before calling this Insert method, the feature must be updated.

  7. CATIInputDescription, the interface to define the type of the feature
  8. The CATIInputDescription interface enables you to two things:

    1. Define the type of the feature

      1. creation: the feature creates matter. A GSD Line is a creation feature.
      2. modification: the feature modifies another feature. A GSD Split is a modification feature.
      3. Contextual: the feature creates matter but is closely associated with a specific feature. A GSD Offset is a contextual creation feature, it creates geometry contextually to a master feature.

    2. Define what are the absorbed features among the inputs [5] of an absorbent feature

      1. The list of absorbed features
      2. The Split feature, an absorbent feature, has only one input. So it has only one absorbed feature. But if you take the Trim, or the Assemble features, they have several inputs. 

      3. The main input 
      4. Among the absorbed features of an absorbent one, one is declared such as the main. See the role of this feature in the next section, The Main Absorbed Feature section.

    The "Contents of the Specification Container - Geometrical Features" article [3] explains in details this interface and the role of each methods, and the "Integrating a New Mechanical Feature in V5" article [4] explains for each kind of feature you must implement it. 

  9. The Main Absorbed Feature
  10. Among the inputs of an absorbent feature, one of these absorbed features is privileged. This feature has two roles:

  11. The Result of an Ordered Set
  12. Absorbed features do not have only visual behaviors. They do not appear in the result of an ordered set. The CATIBodyRequest [2] interface which returns the result of a geometrical features set will do not include the absorbed (no relevant) features.

Finally to finish with the absorption concept, it is the CATIInputDescription interface which gives the type of the feature, and in case of absorbent feature (feature of modification), this interface specifies the absorbed inputs and the main absorbed feature. 

[Top]


In Short

An ordered surfacic features set (OGS) and a surfacic and solid features set (Body) are characterized by the two following notions:

[Top]


References

[1] The Contents of the Specification Container- Geometrical Features Sets
[2] Specification/Result Mechanism Applied to Mechanical Features
[3] The Contents of the Specification Container- Geometrical Features
[4] Integrating a New Mechanical Feature in V5
[5] Feature Modeler Overview
[Top]

History

Version: 1 [Mar 2004] Document created
[Top]

Copyright © 2004 Dassault Systèmes. All rights reserved.