Mechanical Modeler

Geometrical Backup StartUp

Principles & how to update existing geometrical StartUps and features

Technical Article

Abstract

This article first explains what is a geometrical backup StartUp and what is its utility. Second and third parts are devoted respectively to describe the usage of tools which enable you to update existing StartUp's catalogs and Part documents. 

To take full advantage of this article, a pre-requisite knowledge of Mechanical StartUp principles [1] is essential. 


Principles

Exchange of V5 Part with CAA Geometrical Features 

Suppose you have a Part document with instances of CAA geometrical StartUp, and you send this Part to a supplier. In most cases, your suppliers do not have the code (dll) and StartUp's catalog which would enable them to find the behaviors that you defined on your CAA features. Your Part documents are quiet useless in this context.

This matter is illustrated with a Part document containing a CombinedCurve instance [2]. The two following pictures are screen shot of the CAACombinedCurve.CATPart file located in the InputData directory of the CAAMechanicalModeler.edu framework.

Fig.1 CAA Feature with CATfct
This picture shows the CombinedCurve (yellow and bold curve) in an environment with dll and the catalog (a CATfct file) which defines the CombinedCurve StartUp.
  • The feature is 3D visualized,
  • Its icon is displayed in the specification tree,
  • It has all the specific behaviors which were allowed to him by the implementation of some interfaces, and the default behaviors of geometrical features. 
Fig.2 CAA Feature without CATfct
On this picture you have the same Part but in an environment without dll and CATfct file. You can see that the CombinedCurve is not visualized, its specific icon is replaced by the "broken" icon. Moreover, the picture does not show it, but you cannot:
  • edit the feature,
  • update it,
  • execute Copy, Cut and Paste operations
  • used it as input for other features,
  • ....

The feature is such as "dead". 

One thus set up a system which aims at:

  1. Having a minimum of behaviors when the CAA feature is used without its CATfct file.
  2. That the dll are there or not, that does not change anything. On the other hand if the catalog file is there but not the code, it is considering as a wrong installation.

  3. Re-reading modified documents in complete environment 

This system is possible thanks to a backup StartUp, and since its concerns the geometrical features [3], it is precisely named the geometrical backup StartUp.  

What is a Geometrical Backup StartUp?

All instances of a CAA geometrical StartUp know the name of a specific Dassault Systèmes StartUp. This StartUp is the geometrical backup StartUp. When the CATfct file defining the CAA StartUp is present, the StartUp's instances will have the complete behaviors. But otherwise, they will have the behaviors of the backup StartUp.

Fig.3 Instance Used With CATfct

This picture shows:

Fig.4 Instance Used Without CATfct

This picture shows:

In the above example, Fig.3, the CAA StartUp derives from GeometricalElement3D, but if it derives from MechanicalFormFeature, MechanicalContextualFeature or GSMGeom [1], the three other derivable geometrical StartUps, the instance will have the same geometrical backup StartUp. It means the same behaviors whether the feature is solid or surfacic [3]. 

Now that the geometrical backup StartUp is defined, the way to associate the backup StartUp name with the geometrical instances can be studied.

How is the Geometrical Backup StartUp Managed?

Each CAA geometrical StartUp should know its backup StartUp. The association between StartUp and backup StartUp is automatically set in the global function which creates CAA StartUp, it means in the CATOmsSUFactory global function. The CAA StartUp having a backup StartUp, all its instances will have it too. 

The "Updating Existing CAA Geometrical StartUps"  section explains how to update your old CATfct files (those defined before R13), and the "Updating Existing CAA Geometrical Features" concerns the Part documents containing instances created with these old catalogs.

Geometrical Backup StartUp Behaviors 

The geometrical backup StartUp has behaviors defined by the GeometricalElement3D StartUp, since it derives from Fig.4, and has specific behaviors. There are illustrated with a Part document containing a CombinedCurve with a backup StartUp. The following pictures are screen shots of the CAACombinedCurveWithBackup.CATPart file located in the InputData directory of the CAAMechanicalModeler.edu framework.

The CombinedCurve.1 has for inputs Line.1. This line is defined by Point.1 and Point.2. Try to change Point.2 by Point.11. If you try to update the CombinedCurve, you have the following message:

The end user can work with CAA geometrical features. He/she can:

In this incomplete context, applications such as Measure, Drafting, Manufacturing will always works. 

When the end user retrieves the modified Part in the complete context, it can work again with it. The picture below shows the CAACombinedCurveWithtBackup2 Part document, a saving of the CAACombinedCurveWithBackup file. This file is also located in the InputData directory of the CAAMechanicalModeler.edu framework.

On left, you can see that the Combined Curve is not visible due to the replace operation. Once the update is done, the feature is yet visible. 

Backup StartUp for Feature Inserted in Body or Ordered Geometrical Set

Before V5R16

When inserting a new DS or CAA feature into a Body or an Ordered Geometrical Set, if the replace implementation is not accessible on impacted feature (feature displayed by BackupStartup ), replace cannot be done. Because, the replace mechanism is mandatory to apply the order and absortion mechanism [5].

Thus the Part updated later on (Part saved and re-read in other context) is unpredictable . The integrity of the Part contents is then no more garanty in the system

To prevent this, CATIA until V5R16 detects at a Part document openning if features are displayed by backup Startup in Body or Ordered Geometrical Set, and in this case the system greys out all the commands creating features in Part Workshop (PartDesign, GSD , FreeStyle, ...). The Part document is on Read-Only. However, in Assembly context, the Part can be always used to select one of its feature, and its contents stays visible.

Since V5R16

General principle

BackupStartup(BS) is to allow users to be able design to continue the design even if features are displayed by BS in GS/OGS or Body .

The best simple methodology is to continue the design in a separate set, or non impact aera for all new created object. If users does not respect this general principle, he needs to get immediate feedback of a new feature insertion and life cycle management issue .

BS enhancements in V5R16 objective are to correctly handle impacts  on BS ,even if BS is in a GS or a Body,

 "backup startup" partner's features  impacted by new design creation  will  will be in update error , and therefore will provide user  an immediate feedback

Note : Recovery scenario if a part is saved not up to date :

If a Part is saved with the Backup Startup Feature in Update Error , The Part can be "repair" later on if it is re-load in a correct partners environment , nevertheless users will have to re-root the input of the partner feature to be sure to retrieve a correct design and allow update to be re-done in good conditions (see implementation principle)

Implementation principle - for the worst case : BS impacted by a new design OGS/Body (ordered Sets)

It is the case where Mechanical Modeler engine impacts  BS features  , Mechanical modeler  needs to perform replace action on  BS any how 

Because of the required implementations  for the feature BS are not available(Replace/Update/Absorbtion)  in session , a default modification on the feature  is performed :

It consist in "devaluate" the input in BS (feature "links" asked to be replaced in the system)  that is to say modify the BS input "Parent/Children" links

Consequences, System knows BS is impacted, BS is "Not Up to date"  , of course BS cannot be update :  CATPart is in "Update Error"

BUT :  Model Data stay  consistent

How to Solve?

What to do ,in R16, for partners  CAA code and on existing CAA features  before R16 

The Creating a New StartUp Deriving from a Mechanical StartUp [1] article recommends to create geometric feature either Solid or Surfacic/Wireframe

Solid feature contains enough informations for Mechanical Modeler to know its type in any case (Type solid and Modification in fact).

For others (if derivate from GeometricalElement3D /GSMGeom ), it's mandatory to explicitly set the feature type ( use CATMmrFeatureAttributes::SetFeatureType) on every geometrical feature instance. This feature type must be set during creation and each time its absorption type is modified,

For already existing features  in a CATPart if they have potentially to be displayed with BS , CAA application needs to upgrade as well the features  and sets their  type . To do so in  V5R16 , Mechanical Modeler propose a new tool to type the feature for  BackupStartup mechanism :

If the CAA feature is a solid feature and is derivating from MechanicalShapeFeature startup, nothing special has to be done.

If the CAA feature is a geometrical feature derivating from GSMGeom or  GeometricalElement3D  startup, CATMmrFeatureAttributes::SetFeatureType need to be  called  on every instances.

[Top]

Updating Existing CAA Geometrical StartUps

You may update, and not regenerate, the catalogs containing CAA geometrical StartUps without backup StartUp. There is the CATMmrBackupStartUpTool Tool for this purpose.

To launch CATMmrBackupStartUpTool, you will need to set up the build time environment, set up the run time environment, and then execute the command [4] such as:

mkrun -c "CATMmrBackupStartUpTool [CatalogName InputPath OutputPath UserClientId] [-h]"

or if you have only the run time environment, you can use the catstart command to launch the tool. 

catstart -run "CATMmrBackupStartUpTool [CatalogName InputPath OutputPath UserClientId] [-h]"

The usage of catstart is explained in the interactive documentation. Refer to CATIA Infrastructure > CATIA Infrastructure User Guide > Basic Tasks > Starting Version 5 > Starting a Session on Windows (method 5) or Starting a Session on Unix (method 2)

The Unique Client Id defined at catalog's creation time. If the value is not specified, the default value is "SAMPLES"

The possible returned values are:

Once the tool has been executed, the updated catalog should be located in the framework which defines the StartUp [1].

[Top]

Updating Existing CAA Geometrical Features

The goal of this section is to give you the step to be followed if you have or you think of having Part documents containing CAA instances without geometrical backup StartUp.

To check or update a document, the CATDUAV5 tool will be used. For more details about this tool, refer to the following interactive documentation: CATIA Infrastructure > CATIA Infrastructure User Guide > Advanced Tasks > Using the Data Upward Assistant.

When updating a Part document:

You can use the CATDUAV5 tool, in two modes:

The BST_1 rule has been added to this tool. It specifies that all CAA geometrical features should have a backup StartUp. This rule being not mandatory, neither a risk of data corruption, it has the lowest priority (3).

These articles explain how to launch the tool according to the mode. The current article does not explain again the way to launch it.

Interactive Mode

  1. Launch CNEXT
  2. Open a Part Document 
  3. On the File menu, select Desk...
  4. Right click on the Part Document, and select CATDUAV5 
  5. The following dialog box appears:

    Fig.5 Interactive Mode -CATDUAV5 

Batch Mode

  1. mkrun -c "CATUTIL -Name CATDUAV5"  
  2. The following dialog box appears:

    Fig.6 Batch Mode - CATDUAV5

In the two cases you have always two options: Check or Clean. Once one option is chosen, you can push Run to execute the action. Reports sum up the operations. There are detailed just below.

  1. Check
  2. In interactive mode, once the check operation is done, in the left editor of the dialog box, Fig.5 , a message specifies the report location. In Batch mode, the location report is entered by the Output Directory editor Fig.6.

    Here is an example with a Part document containing a CombinedCurve Fig.1 without backup StartUp. 

    It is an extract of the report, the OutputCATDUA.htm file.

    There is only one error, with the priority 3

    If you click on the Part document you have more details:

    You retrieve the name of the document, and for each not respected rule, a long or short message, depending on the chosen option Fig. 5,  is written. 

  3. Clean
  4. In interactive mode, once the clean operation is done, in the left editor of the dialog box, Fig. 5,  a message is displayed. If there is at least one correction, the location of the report is specified otherwise the message specifies that there is zero modification. In Batch mode, the location report is always entered with the Output Directory editor. Fig.6

    Here is an example with a Part document containing a CombinedCurve Fig.1 without backup StartUp.. 

    It is an extract of the report, the OutputCATDUA.htm file.

    There is only one correction of an error of priority 3

    If you click on the Part document you have more details:

    ,

    The first part of the file contains the check pass report, and the second part concerns the clean operation. 

    If you re-clean the same Part document, you have no the following report:

[Top]


In Short

This article explains that it is possible to have a minimum of behaviors for CAA geometrical features when they are used without their StartUp's catalog. It is enough that each instance knows the name of the geometrical backup StartUp. Thanks to this specific StartUp, you can:

Two tools are important:

[Top]


References

[1] Creating a New StartUp Deriving from a Mechanical StartUp
[2] Creating a New Geometrical Feature: the Combined Curve
[3] The Contents of the Specification Container - Geometrical Features
[4] Building and Launching a CAA V5 Use Case
[5] Order and Absorption Concepts
[Top]

History

Version: 1 [oct 2003] Document created
[Top]

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