Mechanical Modeler

Mechanical Modeler Novelties- Impacts

 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 first one presents the novelties [1], and the current one exposes the consequences in term of code for each kind of CAA applications.

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


Read Part Contents

You are an application consulting the contents of a Part document in order to perform analysis or to do data transfers. You should know how to retrieve the geometrical features of a set [2], and their topological result [3].

To retrieve the contents of a set in order to retrieve its result, do not more use the CATIDescendants interface, but use the CATIBodyRequest interface. There are, at least, two reasons:

  1. The CATIBodyRequest interface returns the relevant features of the set by excluding the absorbed features [4]. These features are not drawn, and even if they have a geometrical result, you must not take them into account. 
  2. The CATIBodyRequest interface directly retrieves the Solid feature which is the feature holding the result of a Body feature.  Since the Body feature [2] can also contain surfacic features, its result is not more the last feature of the set, easily retrieval by CATIDescendants, but it is the last solid feature of the set.

Read the referenced article [3] for more information about the behavior and usage of the CATIBodyRequest interface.

Nevertheless, if you need all the aggregated geometrical features of a set, you can always use the GetDirectChildren method of CATIDescendants with the CATIGeometricalElement3D interface as filter. 

Geometrical Feature Instantiation

You are an application instantiating Dassault Systemes (DS) or CAA geometrical features. The first question to solve is: where will be inserted the new feature? Answering this question enables you to know the valid geometrical features sets to insert your feature. Then, you could know the impacts in your existing code. This section is divided in two parts:

Surfacic Feature Instantiation

You are an application instantiating Dassault Systemes (DS) or CAA surfacic features. You can have three strategies to choose the valid geometric features set:

  1. You do not care of the geometrical features set 
  2. It means that the surfacic feature can be inserted equally into a Body, into an Ordered Geometrical set, or into a Geometrical Set. Using this solution, you are DS compliant.  

  3. You do not want an insertion into a solid and surfacic features set
  4. (Body feature)

    It means that the surfacic feature can be only inserted into a surfacic features set: either into an Ordered Geometrical set, or into a Geometrical Set, but not into a Body feature.

  5. You only want an insertion into a Geometrical Set
  6. It means that the surfacic feature will be always inserted into a non ordered surfacic features set. You may choose this solution if do you not want to disturb your clients, or your end users. They will have the same interactive behavior as before V5R13.

Now, for each strategy, the following table [Tab.1] summarizes the checks to do in your existing code.

Tab.1 Surfacic Feature Instantiation Impacts 
Strategic choice CATIGSMProceduralView  use Interface to filter a valid set Insert the feature into the set Migration between V5R13 and V5R14
You do not care of the geometrical features set  possible CATIGSMTool impact no
You do not want an insertion into a solid and surfacic features set no more possible CATIMmiGeometricalSet impact R14 only
You only want an insertion into a Geometrical Set no more possible CATIMmiNonOrderedGeometricalSet no impact no

Whatever the choice, you must check that the feature to insert implement CATIInputDescription. It is mandatory for any surfacic features. For DS surfacic features, the implementation has been done. You have only to check your CAA surfacic features.

You can refer to the Combined Curve use case [5], where the three choices have been implemented. 

Solid Feature Instantiation

You are an application instantiating Dassault Systemes (DS) or CAA solid features. There are two cases to consider:

Geometrical Feature Usage

You are an application handling geometrical features, in other words your application modifies the contents of a set, modifies inputs of a feature, or delete a feature. The following table [Tab.2] summarizes the prohibited operations, and the new line of code to write depending on the type of the set where the operation is done. 

Tab.2 Impact Depending on the Type of Set
Operation Types  OGS  Body  GS
Moving surfacic features coming from a GS to

impossible

impossible

no impact

Moving surfacic features coming from an OGS/Body to impossible impossible impossible
Reordering features  into

impossible

impossible

no impact

Modifying feature inputs into

After the update of the feature,
add an Insert call

no impact

no impact

Deleting features into impossible impossible

no impact

Some explanations:

Consequently, in your existing code, you must check the type of the set, and then execute the code depending on its type such as described just above [Tab.2].

User Feature and Power Copy Instantiation and Usage  

If you have an application instantiating Power Copy or User feature [6] you have nothing to do since the software of instantiation automatically manages the insertion into a set whatever its type. 

For a User feature, solid or surfacic, you do not have to implement the CATIInputDescription interface. It is automatically managed by the User Feature software.

If you have implemented the CATIEdit interface on your "typed" surfacic User Feature, the only one impact is to manage the current feature in the edition command. You should set as current the edited instance, and restore the old current feature once the edition is ended. Otherwise (for a solid User Feature), you have no impact, because the current feature must be already managed by your command. 

The following table [Tab.3] summarizes these purposes:

Tab.3 User Feature and Power Copy Impacts
Operation CATIInputDescription   implementation Edition
Power Copy no implementation always impossible
Surfacic User Feature no implementation manage the current feature such as described below
Solid User Feature  no implementation no impact

For a surfacic User Feature, you can refer to the CAAMcaUdfEdition use case [7], for a detailed implementation. This use case highlights the added lines in the existing command. 

If you have already done the migration in R13, your code is still valid for the R14.

CAA Geometrical Feature Creation

If you have an application creating CAA geometrical feature [8], the following table [Tab.4] summarizes the impacts in your existing code.

Tab.4 CAA Geometrical Feature Creation Impacts
CATIInputDescription      implementation

Creation Command 

Edition Command (CATIEdit implementation)
Solid feature NO * Manage the valid set - see the Solid feature Instantiation section 

* Add an Insert call after the update of the feature 
no impact
Surfacic feature  YES  * Manage the valid set - see the Surfacic Feature Instantiation section. 

* If creation into an OGS/Body :
   - Manage the current feature (1)  
   - Add an Insert call after the update of the feature 
If feature is into OGS/Body :

  - Manage the current feature (2)
  - Add an Insert call after the update of the feature 

Otherwise no modification

Some explanations:

You can refer to the Combined Curve use case for the implementation of the CATIInputDescription interface [9], and a sample of existing command of creation and edition, updated to integrate the R13 and R14 novelties[10].

[Top]


In Short

V5R13 and V5R14 have introduced novelties which can involved your existing code. The main code impacts are:

[Top]


References

[1] Mechanical Modeler Novelties - Presentation
[2] The Contents of the Specification Container- Geometrical Features Sets
[3] Specification/Result Mechanism Applied to Mechanical Features
[4] Order and Absorption Concepts
[5] Instantiating Combined Curves
[6] An Overview of Power Copies and User Features
[7] Creating a Command to Edit a User Feature
[8] Creating a New StartUp Deriving from a Mechanical StartUp
[9] Integrating Combined Curves inside Ordered Sets
[10] Editing Combined Curves
[Top]

History

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

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