Mechanical Modeler |
Backup StartUp PrinciplesPrinciples & how to update existing StartUps and features |
|
Technical Article |
AbstractThis article first explains what is a Mechanical backup StartUp and what is its utility. The second part details the behaviors and the specificity of the GeometricalElement3D backup StartUp. The last part is devoted to describe the usage of tools which enable you to update existing StartUp's catalogs and Part documents when a backup StartUp is newly added to a DS mechanical feature. 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 Mechanical 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 ( a CAA feature deriving from the
GeometricalElement3D 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 Mechanical features, it is precisely named the Mechanical backup StartUp.
All instances of a CAA Mechanical StartUp know the name of a specific Dassault Systèmes StartUp playing the role of backup StartUp. When the CATfct file defining the CAA Mechanical StartUp is present, the StartUp's instances will have the complete behaviors, otherwise, they will have the behaviors of the backup StartUp.
![]() |
This picture shows:
![]() |
This picture shows:
When the end user retrieves the modified Part in the complete context, it can work again with it.
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.
Among the Mechanical features that you can derive [1] to create your own CAA feature, those having a specific backup StartUp are:
About MechanicalFormFeature, MechanicalContextualFeature or GSMGeom, there is no specific backup StartUp associated with those mechanical features, but since they derived from GeometricalElement3D, the backup StartUp of the GeometricalElement3D will be associated with your new CAA feature.
In brakets you have access to the articles describing the features, and the behaviors of their backup StartUp. For the GeometricalElement3D, the explanations are just below.
The backup StartUp of the GeometricalElement3D feature has behaviors that are illustrated with the CombinedCurve [2]. 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 instances of the CAA 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.
If your CAA feature derives from a "geometrical startup" ( GeometricalElement3D or GSMGeom ) , you need to define and store its type according to CATIInputDescription implementation. This information, stored on the instance, will be useful in BackUpStartUp Mode to determine which behaviours are authorized.
This operation is done just after instantiation, calling CATMmrFeatureAttributes::SetFeatureType
... CATIInputDescription* pInputDescriptionOnInstance = NULL; rc = (*pISpecObjectOnInstance)->QueryInterface( IID_CATIInputDescription, (void**) &pInputDescriptionOnInstance); ... CATIInputDescription::FeatureType Feature_type = CATIInputDescription::FeatureType_Unset; rc = pInputDescriptionOnInstance -> GetFeatureType(Feature_type); ... rc = CATMmrFeatureAttributes::SetFeatureType(*pISpecObjectOnInstance, Feature_type); ... |
where pISpecObjectOnInstance
is the newly
created feature.
This step is not to do if your CAA feature is not geometrical or if it is a "Solid feature" i.e. derivate from MechanicalFormFeature, MechanicalContextualFeature.
[Top]
The "Updating Existing CAA Mechanical StartUps" section explains how to update your old CATfct files (those defined before R13), and the "Updating Existing CAA MechanicalFeatures" concerns the Part documents containing instances created with these old catalogs.
As of today, it only involves CAA StartUp and their instances deriving from GeometricalElement3D.
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 mechanical features when they are used without their StartUp's catalog. It is enough that each instance knows the name of the mechanical backup StartUp. Thanks to this specific StartUp, you can:
Two tools are important:
[Top]
Version: 1 [oct 2003] | Document created |
Version: 2 [Dec 2008] | Generalize the principle, not only Geometrical feature can have Backup StartUp |
[Top] |
Copyright © 2003, Dassault Systèmes. All rights reserved.