Mechanical Modeler |
Order and Absorption ConceptsPresentation of two valid concepts for Ordered Geometrical Set and Body |
|
Technical Article |
AbstractThe 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. |
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:
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.
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.
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.
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.
Here are detailed these four behaviors.
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.
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.
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.
The input specifications of a feature can be only features above it in the specification tree (if inputs are selected in the same set)
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.
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.
The following Fig.6 shows the 3D viewer when all the elements of the ordered set are visible.
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.
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].
Compare the following two pictures in Fig.8.
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:
Here are detailed these behaviors.
The visualization of the absorbed feature is depending on the current feature position:
Fig.9 shows the three cases detailed below:
It is the general rule which is applied: Only
features above the current feature are visualized in the 3D viewer.
Consequently, Extrude.1
is not visualized. See Fig.7
for an example.
On Fig.10 Point.6
, the point
between Extrude.1
(absorbed feature) and Split.1
(absorbent
feature), is the current feature.
You can notice that Extrude.1
is displayed. At this time (Point.6
current) of the history of the set, Extrude.1
has not
been yet modified by Split.1
.
Split.1
)
or one feature below it.The Fig.8 shows that the absorbed feature, Extrude.1,
is not drawn.
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.
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.
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.
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:
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.
The CATIInputDescription interface enables you to two things:
Define the type of the feature
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.
Define what are the absorbed features among the inputs [5] of an absorbent feature
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.
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.
Among the inputs of an absorbent feature, one of these absorbed features is privileged. This feature has two roles:
The color of Feat3, a feature of modification which has two inputs, is given by its main input, here it is Input2.
If Feat4, a feature of modification, is moved before Feat3, the input of Feat4 becomes Input2 (the main input).
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]
An ordered surfacic features set (OGS) and a surfacic and solid features set (Body) are characterized by the two following notions:
Order
The order into the set is managed by the current feature. The current feature enables us to:
The current feature is managed by CATIPrtPart, an interface implemented by the Part feature [1].
It ensures a coherence into the specifications, by selecting only the valid features.
Absorption
The definition of the type of a geometrical feature is defined by the CATIInputDescription interface.
After the aggregation, the modification of its inputs, and the reordering
of a feature aggregated into an ordered set, update the feature, and then call the Insert
method of the CATMmrLinearBodyServices
class.
[Top]
Version: 1 [Mar 2004] | Document created |
[Top] |
Copyright © 2004 Dassault Systèmes. All rights reserved.