Mechanical Modeler

Mechanical Modeler Novelties - Presentation

V5R13 & V5R14 novelties
Technical Article

Abstract

Since V5R13, Mechanical Modeler has introduced novelties which can imply modifications in your existing code, or can have consequences on the way to lead up your new developments.

The article has been cut in two parts, the current one presents the novelties, and the second one exposes the consequences in term of code [1].

This article requires Mechanical Modeler knowledge. However to help the reader, along the paragraphs, technical articles explaining Mechanical Modeler concepts or vocabulary are referenced.


Introduction

The first novelty concerns the geometrical features sets [2], that is, the features which structure the Part document.

All these novelties are presented in the Geometrical Features Set section. 

The second novelty concerns the volumes. From V5R14, you can create volumes with CAA. They behave like the surfacic features although you can associate a weight, a density with a volume. They can be inserted into a surfacic features set, but not into a Body feature. You can refer to the The Volume, a New Surfacic Feature section for more details.

The last novelty concerns the specification tree. From V5R14, it reflects the internal modelization. The Specification Tree Represents the Internal Modelization section gives you samples. 

Geometrical Features Set

Before the V5R13 there are two kinds of geometrical features sets:

From V5R13 onwards, there are two kinds of surfacic features set:
  1. Geometrical Set 
  2. Ordered Geometrical Set
Starting from V5R14, the Body feature can also contain surfacic features. It is a solid and surfacic features set. 

These three kinds of sets are presented in term of StartUp and interfaces in the Interfaces and StartUps section. This first overview is prolonged by two sections,  Geometrical Set & Ordered Geometrical Set and Body, to complete your information about these mechanical features.

Interfaces and StartUps

The following diagram, Fig.1, shows the geometrical features sets in term of StartUp, and interfaces they implement.

Fig.1 Geometrical Features Sets and their Interfaces

About the StartUp:

About the interfaces:

From V5R14: Do not use the CATIGSMTool as discriminant of surfacic set.

Geometrical Set & Ordered Geometrical Set 

The Geometrical Set (GS) and the Ordered Geometrical Set (OGS) are both GSMTool features [Fig.1]. This means that both of them are surfacic features sets, and can contain surfacic features [3]. Until R14, the highest dimension of these surfacic features was 2D: point, wire and surface. From R14, a surfacic features set can also contain volumes.  

The GSMTool feature has been "typed" to be either a Geometrical Set or an Ordered Geometrical Set. This type is materialized by the downwards arrow on the icon representing the Ordered Geometrical Set in the specification tree.

Fig.2 Comparison of Icons Between Geometrical Set and Ordered Geometrical Set

In an interactive session, you can create either a Geometrical Set or an Ordered Geometrical Set using the Insert menu

The Ordered Geometrical Set is ordered, like its name pre-supposes it. This concept of order is presented in the Ordered Set section, further below. 

The Ordered Geometrical Set has been introduced to simplify the management of the links between features when the Part has a huge historical graph. The Geometrical Set staying always adapted for features with few history or without input specification (datum [3]). 

Body

Up to the V5R14, the Body feature is created from the MechanicalTool StartUp [Fig.1]. It is only a solid features set because it can only contain solid features [3]. 

In V5R14, the Body feature is created from the HybridBody StartUp [Fig.1]. This name comes from the fact that this StartUp is able to contain surfacic features in addition of solid features. The picture [Fig.3] shows it. 

Fig.3 HybridBody Instances

On the above picture, you can see that surfacic features (Surface.1, Split.1 and Offset.1) are integrated into Body features (PartBody and Body.2), and modify the solid features. 

In CAA documentation, solid and surfacic features set, and solid features set is the wording used to designate a Body feature created after and before R14 respectively.

When opening a Part document containing features created from the MechanicalTool StartUp, no conversion will be done. It means that the former Body features remain solid features sets (their StartUp are always MechanicalTool), and you cannot insert surfacic features inside them. But in a former Part document, the new created Body features are instantiated from the HybridBody StartUp. So in the same Part document can coexist solid features sets, and solid and surfacic features sets [Fig.4].

Fig.4 Old and New Body features

Just above, the picture is a screen shot of a Part document created before the R14. PartBody and Body.2 are features instantiated from the MechanicalTool StartUp, whereas Body.1 is a feature instantiated from the HybridBody StartUp. The icons enables the end user to differentiate them: the icon for the former body is gray, and for the new one it is green:

Fig.5 Comparison of Icons Between Old and New Body features

But excepted the icon color, what is the difference between the former body (a MechanicalTool) and the new one (an HybridBody) ? Let's us consider two parts with the same visual effect [Fig.6]. On left, PartBody (the main body) is a former body (the icon is gray), and on right it is a new body, its icon is green.

Fig.6 Comparison Between MechanicalTool and HybridBody

Offset.1 is holed in the two cases: the surface is based on the top face of Pad.1.

Now let us consider the following scenario: reorder Hole.1 to locate it after Pad.2, and compare the result on [Fig.7]. On left it is the result with the MechanicalTool, and on right the result with the HybridBody. 

Fig.7 Reorder Operation

On left, you can see that Offset.1 is always holed. The reason is that Offset.1 is always based on Hole.1. On right, you can see that Offset.1 is no more holed. The reason is that now, Offset.1 is based on the top face of Pad.1 which is not holed.

This modification of behavior, is due to the fact that the surfacic and solid features set is an ordered set.

Ordered Set

The Ordered Geometrical Set, and Body are geometrical features sets introducing two concepts:

This section is an overview on these two concepts, you are encouraged to read the referenced article [4] to find out more technical information.

  1. Ordered Concept

    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".  It has been interactively implemented by following these behaviors:

    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 only be features above it in the specification tree using the CATFeatureImportAgent class,
    4. Only features above the current feature are visualized in the 3D viewer.

  2. Absorption Concept

    The goal is having a set inside which only the relevant features are taken into account. Let us consider the following sample:

    Fig.8 Split Operation

    On the [Fig.8], just above, you can see in the 3D viewer, even if Extrude.1 is not hidden (its icon is not grayed), that only one surface is drawn. it is Split.1, the surface coming from the split operation. Extrude.1 has been like visually "absorbed" by Split.1. So feature such as Extrude.1 are named absorbed features, and those as Split.1 are named absorbent features. 

    So the main particularities of an absorbed feature are:

    The interface which defines the type of a feature, is CATIInputDescription.

In all Mechanical Modeler articles, the wording to designate both the OGS and the Body feature, is "ordered set" in reference to these two concepts. 

Mechanical Feature Insertion

This section answers to three questions:

What Type of Mechanical Features can you Integrate into Geometrical Features Sets?

The following table [Tab.1] summarizes the possibilities, depending on the type of the geometrical features set (first row), and the type of the mechanical feature (the first column).

Tab.1 What is it Possible to Insert into Sets 
  Part  GS OGS Body Solid Body (obsolete)
GS X  X    

 X

OGS X   X X  
Body X   X  
Solid Body (obsolete)  X
Sketch X X X X
Solid features X X
Point, Wire, Surface X X X
Volume X X

This above table essentially shows:

  1. The Part feature [5] can contain any kind of geometrical feature sets.
  2. A Geometrical Set (GS) can only be included into a non ordered set.
  3. An ordered set (OGS/Body) can only be included into an ordered set.
  4. A volume, although a surfacic feature, cannot be included into a Body feature.
How Insert a Geometrical Features Set into Another One?

The CATIMechanicalTool interface creates the set and inserts it depending on the arguments of the methods. The usage of this interface is detailed in the referenced article [2]. 

How Insert a Geometrical Feature into a Geometrical Features Set?

For DS solid feature, the CATIPrtFactory interface manages the insertion, otherwise for DS surfacic features, or for your CAA features, the insertion into a geometrical features set is of yours responsibility. Here it is the methodology to follow depending on the type of the geometrical features set:

How to recognize this case: the GS implements CATIGSMTool and the GetType method of this interface returns 0, or you can check that the set implements CATIMmiNonOrderedGeometricalSet [Fig.1].

You aggregate the new geometrical feature (only a surfacic feature) with CATIDescendants, or you can also use the InsertInProceduralView method of the CATIGSMProceduralView interface. Then you update the feature.

How to recognize this case: all the ordered sets implement CATIGSMTool and the GetType method of this interface returns 1. [Fig.1]

You must respect the following steps:

  1. Aggregate the feature in the set 

    You have three possibilities depending on the type of the geometrical feature

    • With the CATIDescendants interface for a surfacic feature
      • At the end of the set, if the current feature is not inside this set
      • After the current feature otherwise   
    • With the InsertInProceduralView method of the CATIGSMProceduralView for a surfacic feature. This method manages the position of the feature.
    • With InsertInProceduralView method of the CATIPrtProceduralView for a solid feature. This method manages the position of the feature.
  2. Update the new instance
  3. Call Insert, the static method of the CATMmrLinearBodyServices class

This last method enables us to ensure the concept of absorption into the ordered set.

Copy and Result Behavior

The aim of this section is to present the behaviors of the geometrical features sets in term of result and copy. The following table [Tab.2] summarizes the result of a copy as result (with or without link), and the contents of the list returned by the GetResults method of the CATIBodyRequest interface.

Tab.2 Copy/Result Behaviors depending on the Set's Configuration 
Set Configuration (1) Copy As Result without Link  Copy As Result with Link 

CATIBodyRequest 

Solid Body Solid feature

Solid feature

Solid feature + sketches
Solid Body1

   BoolOp

     Solid Body2

Solid feature Solid feature

Solid feature

+ sketches of Solid Body1

+ sketches of Solid Body2

Body Solid feature + surfacic feat. (- abs)  Solid feature Such as Copy without link
OGS Surfacic features (- absorbed) 

NA

Such as Copy without link
GS All surfacic features 

NA

Such as Copy without link
OGS1
   OGS2
surfacic feat.(-abs.) of OGS1 & OGS2 

NA

for OGS1: Such as Copy without link
for OGS2 : E_FAIL
GS1
   GS2
All surfacic elements of GS1 & GS2 

NA

for GS1: All surfacic elements of GS1 
for GS2: All surfacic elements of GS2 
Body
   OGS
Solid feature of Body +
surfacic features (- abs.) of Body +
surfacic features (- abs.) of OGS
Solid feature for Body: Such as Copy without link
for OGS : E_FAIL
OGS
   Body
surfacic features (- abs.) of OGS + 
Surfacic features (- abs.) of Body 

NA

for OGS: Such as Copy without link + solid feature 
for Body : E_FAIL
Body1
   OGS
       Body2
Solid feature of Body1 +
surfacic features (- abs.) of Body1 + 
surfacic features (- abs.) of Body2 +
surfacic features (- abs.) of OGS
Solid feature for Body1 : Such as Copy without link + solid feature of Body2
for OGS and Body2 : E_FAIL

Abbreviations or annotations:

This above table shows:

  1. The absorbed feature are always excluded of the copy and of the result of an ordered set
  2. For the copy without link, the operation is recursive 
  3. CATIBodyRequest is recursive (excepted for the GS) 

You can read the "Specification/Result Mechanism Applied to Mechanical Features" to have a complete view of the result of a set [6].

The Volume, a New Surfacic Feature

Since R13, with a Gso license, you can interactively create volumes. The following picture [Fig.9] is an illustration.

Fig.9 Volumes

These features can only be inserted into a surfacic features set: On [Fig.9] you can see that Volume Extrude.1, defined from the blue sketch, is inside an Ordered Geometrical Set, and Volume Sweep.1, defined from the yellow features, is inside a Geometrical Set. It is not possible to create one in a Body. 

Since R14, you can create them with CAA API. 

To create Add, Remove, Intersect, Union Trim operations. The result of this operation is itself a volume. Remove.1 [[Fig.9] is a volume. 

Volumes are surfacic features. The implementation of the IsAShape method of CATIMf3DBehavior interface, answers S_OK. To distinguish them from the other surfacic features (point, wire and surface), there is the CATIMf3DBehavior2 interface and its IsAVolume method, which answers S_OK for them.

Refer to the "Creating volume form features" and "Inserting boolean operation on volume features" use cases of the Generative Shape Design for more details about the volumes, their creation, and their usage. 

The Specification Tree Represents the Internal Modelization

Since R14, the specification tree reflects the internal modelization. It means that if a feature A is represented below a feature B, the feature A is aggregated by B. Have a look to the following picture [Fig.10] for an illustration of this new principle.  

Fig.10 Specification Tree Novelties
About the Sketches:
  • Sketch.2 is below Pad.1, it means that Sketch.2 is aggregated by Pad.1. Before R14, a Pad referenced its Sketch but did not aggregate it. 
  • Below Pad.2 no sketch although Pad.2 is based on Sketch.1 such as shown by the Parent/Children command see [Fig.11,left]. Sketch.1 is only referenced by Pad.2.

About the boolean operations:

  • Add.3 is the result of a boolean operation between Body.4 and PartBody. Before R14, the operated Body feature was located under the feature representing the boolean operation, but it was not aggregated by it. The Body feature was always aggregated by the Part feature.  Now, in R14, the operated feature is aggregated by the feature representing the boolean operation. 
  • Add.2 is the result of a boolean operation between Body.3 and Add.1. Body.3 is aggregated by Add.2 too. see [Fig.11, right]
  • Add.1 is the result of a boolean operation between EdgeFillet.1 and Body.2. Add.1 pointes (references) EdgeFillet.1 and Body.2, both of them are not below Add.1. see [Fig.11, middle]

Here are the screen shots of the Parent/Children command applied on Pad.2 (left), Add.1 (middle), and Add.2 (right).

Fig.11 Parent/Children

[Top]


In Short

Since the R13, the main novelties in the Mechanical Modeler are: 

[Top]


References

[1] Mechanical Modeler Novelties - Impact
[2] The Contents of the Specification Container- Geometrical Features Sets
[3] The Contents of the Specification Container- Geometrical Features
[4] Order and Absorption Concepts
[5] The Contents of the Specification Container- The Part Feature
[6] Specification/Result Mechanism Applied to Mechanical Features
[Top]

History

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

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