Mechanical Modeler |
Geometrical Backup StartUpPrinciples & how to update existing geometrical StartUps and features |
|
Technical Article |
AbstractThis 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. |
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.
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.
|
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:
The feature is such as "dead". |
One thus set up a system which aims at:
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.
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.
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.
This picture shows:
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.
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.
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:
If you double click the Combined curve, the following dialog box informs the end user that the feature edition is impossible.
If the end user first copies the Combined curve, then for the Paste operation, only the Paste with Result is possible.
Curve.1 (right picture) has been created with the Paste as Result operation on CombinedCurve.1 Note the "flash" sign to indicate an isolated feature (a datum) [3].
The end user can work with CAA geometrical features. He/she can:
A point (Point.10) is created along the Combined Curve.
Here is a picture of the the dialog box displayed by the Parent/Children command when the Combined Curve is selected.
With the Edit/Properties command, the thickness and the color of the combined curve have been changed.
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.
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.
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]
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)
CatalogName
The name of the StartUp's catalog to update. The name should contains the CATfct extension.
InputPath
The path of the directory containing CatalogName.
OutputPath
The path of the directory which will contain the updated catalog. This directory must not already contain the catalog. If the input catalog does not need an update, the updated catalog will be not provided.
UserClientId
The Unique Client Id defined at catalog's creation time. If the value is not specified, the default value is "SAMPLES"
-h
This option displays the help of the command
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]
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 update instances even though you do not have yet modified the StartUp. But if you create new instances, and if the Startup is still without backup StartUp, you should again update the Part document. So the best methodology is first to update the StartUp, and then to migrate the existing Part documents.
You cannot update instances if the Startup catalog (a CATfct file) is not present in the runtimeview. It means that you cannot update instances while they are "broken".
You can use the CATDUAV5 tool, in two modes:
Using Interactive Mode - CATIA Infrastructure > CATIA Infrastructure User Guide > Advanced Tasks > Using the Data Upward Assistant > Using CATDUA V5 in Interactive Mode
Using Batch Mode - CATIA Infrastructure > CATIA Infrastructure User Guide > Advanced Tasks > Using the Data Upward Assistant > Using CATDUA V5 Batch
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.
The following dialog box appears:
The following dialog box appears:
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.
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.
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]
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]
Version: 1 [oct 2003] | Document created |
[Top] |
Copyright © 2003, Dassault Systèmes. All rights reserved.