Mechanical Modeler

Verifying the Validity of a Geometrical Feature

Using the CATMmrVerifyUpdate Application 
Technical Article

Abstract

This article shows the usage of the CATMmrVerifyUpdate application. This application enables you to validate a new geometrical feature [1] or to verify the feature update's stability after code modifications. 


CATMmrVerifyUpdate Application Principles

The CATMmrVerifyUpdate Application can be used in two steps:

  1. When you are developing a new feature.
  2. At first, it enables Feature Modeler [2] rules verification. Next, the application allows you to verify that the result provided by the CATIBuild implementation on the feature is correct [3].

  3. When the code creating a feature is modified.
  4. The application allows you to check the update's stability of the feature for which the contents of the CATIBuild implementation [3] (or its included methods) has been changed.

[Top]

How to Launch the CATMmrVerifyUpdate Application

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

mkrun -c "CATMmrVerifyUpdate [InputPart |-L PartList] [-specs] [-valid] [-stab] [-o OutputPath] [-feat FeatureName] [-cat CatalogName] [-noforce] [-h]"

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

catstart -run "CATMmrVerifyUpdate [InputPart |-L PartList] [-specs] [-valid] [-stab] [-o OutputPath] [-feat FeatureName] [-cat CatalogName] [-noforce] [-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 CATMmrVerifyUpdate application carries out checks on Part documents. You can online set one document (InputPart), or you can specify a list of documents in a text file (PartList). This file is pre-fixed with the -L option. If a txt file is given, the InputPart argument is not taken into account. In two cases, the Part document format is the complete path with the .CATPart suffix.

Whatever the options, CATMmrVerifyUpdate checks the update of the Part features. 

The options are the following, the first three being afterwards named the "check options":

In addition to the update check, CATMmrVerifyUpdate also makes a comparison, between some specific values, before and after the feature's update: Update Stability.

This option enables you to check the validity of the modifications done in a CATIBuild implementation [3].

[Top]

Checks in Details

In this section, you will find in details the check meaning and the list of tests done for each of them. 

Update

This check enables you to validate the update of the geometrical features. In other words, it tests that the construction of the result associated with the feature is generated without error [5]. 

There are two reasons for an update error:

The results are displayed in the PartSummary files and 

Specifications

This check allows you to validate the Feature Modeler rules: attributes without valuation, feature not aggregated and other rules such as links to document not resolved and so on. To do that, CATMmrVerifyUpdate uses the Data Upward Assistant. Refer to CATIA Infrastructure > CATIA Infrastructure User Guide > Advanced Tasks > Using the Data Upward Assistant for complete details about this tool and how to analyze the output errors. 

CATMmrVerifyUpdate launches the CATDUAV5 command with the two first priorities:

The results are displayed in the CheckSpecifications.txt file

Topological Report

This check tests that the topological journal is valid. Refer to the CGM Journal article [7] for more details about the journal.

The results are displayed in the CheckJournalVerdict.html and CheckJournalMoreInformation.html files. 

Generic Naming

The update mechanism builds the result of the geometrical features. This result is a topological object (a CATBody) and an internal object (the scope). This scope ensures the access stability of each cell of the CATBody. It must contain a node for each followed cell [4].

There are several kinds of check:

  1. Test that each feature has a scope and its scope has a link to a CATBody.

  2. Test the bijection between nodes and followed cells, in other words:

  3. Test that each cell is selectable.
  4. The "Journal Debug" interactive command can help you to check such error. [6]

The results are displayed in the CheckNaming.html file. 

Update Stability

The aim of this check is to verify the update stability of a given Part. The Part, created at the creation feature step, has been stored to be the reference. At each code modification:

it is important to test that the feature is stable from the update viewpoint. A none update stability can break another feature which have for input a cell (a BRep feature [4]) of the modified feature.

There are several kinds of check:

  1. No regression in the topological cell naming (only if -cat option)
  2. It is important to guaranty the naming stability, so that the following features, that are laid on the feature geometry, will continue to update themselves even if the feature is modified.

  3. No addition nor suppression of nodes (only if -cat option)

  4. The geometrical results are still the same:

The results are displayed in the CheckStability.html file. 

[Top]

Output Files in Details

This section describes in details the contents of each output files. It enables you to see their presentation, and the most important, to understand the check result signification.

CheckSummary.txt / CheckSummary.html 

These files sum up on a row and for each processed Part the result of each specified checks. The TXT file is always provided whenever the HTML file is only provided when at least one check option is given (-specs, -valid, -stab).

These files contain three parts:

  1. The list of processed Parts and for each of them the name of the sub-directory containing their specific results:

  2. The global result of each check in table form

  3. It can have three kinds of output presentations:

    1. The CheckSummary.html file
    2. The CheckSummary.html gives the link of each PartSummary.html file in the first column. The Update column is always here, whenever the Specs, Naming, Journal and Stability column are displayed only if the dedicated option is specified.

    3. The CheckSummary.txt file with at least one check option always displays seven columns. 
    4. The CheckSummary.txt file without check option always displays three columns:

    In the three cases, the meaning of each cell of these tables are the following:

     

  4. The List of Parts where an error has been detected

  5. There are several kinds of errors:

    This last part can be empty if no error occurs.

PartSummary.txt / PartSummary.html

These files sum up for each processed Part's feature the result of each specified checks. The TXT file is always provided whenever the HTML file is only provided when at least one check option is given (-specs, -valid, -stab). 

These files contain three parts:

  1. The first error update detected (if any)

  2. These files give the feature in error (Combine.7 here) and displays the same NLS error message that you will find in the Update Diagnosis Dialog Box [5] in an interactive session:

    This part can be empty if the build of all the features is all right.

  3. The global result for each requested check.
  4. This part is displayed only if a check option is specified. 

    If one result is KO, a link to the detailed file is generated too.

  5. The check's status for each feature in table form 
  6. It can have three kinds of output presentations:

    1. The PartSummary.html
    2. The PartSummary.html file gives the name of each feature in the first column. The Update column is always here, whenever the Specs, Naming, Journal and Stability column are displayed only if the dedicated option is specified.

    3. The PartSummary.txt file with at least one check option always displays six columns:
    4. The PartSummary.txt file without check option always displays three columns:

    In the three cases, the contains of each column is the following:

    For the Update check column, each cell value signifies:

    For the Specs check column, each cell value signifies:

    For the Naming and Journal  check columns, each cell value signifies:

    For the Stability check column, the following table shorts in the cell value signification:

    Before/After Update OK Update not Done Update KO
    Update OK

    OK

    KO KO
    Update not Done W OK KO
    Update KO W KO OK

CheckSpecifications.txt

Refer to CATIA Infrastructure > CATIA Infrastructure User Guide > Advanced Tasks > Using the Data Upward Assistant for complete details about this tool and how to analyze the output errors given in this txt file.  

CheckNaming.html

This file is generated if the -valid check option is requested. The structure of this file is the following:

Between these two lines you can found such messages:

  1. When the check is OK - 

  2. When the check is K0 -  

  3. When the feature has no scope nor body

CheckJournalVerdict.html

This file is generated if the -valid check option is requested. The structure of this file is the following:

CheckJournalMoreInformation.html

This file is generated if the -valid check option is requested. The structure of this file is the following:

CheckStability.html

This file is generated if the -stab check option is requested. The structure of this file is the following:

Between these two lines you can found such messages:

  1. When the update comparison is OK
  2. Curve.1 and Surface.2(*SKI2) are the alias names of the features. 

  3. When the Update was KO before and successful now
  4. In this case, the Stability check column displays a warning for the Sketch.5 feature.

  5. New nodes have been created 
  6. The scope associated with the Sketch.4 feature contains two new nodes with the new code. 

[Top]

 Return Codes of the CATMmrVerifyUpdate Application

If you make objects of test (odt) you can check the returned code of the application:

[Top]


In Short

The CATMmrVerifyUpdate application enables you to check a new geometrical feature or to validate code modifications. 

[Top]


References

[1] Creating a New StartUp deriving from a Mechanical StartUp
[2] Feature Modeler Overview
[3] Integrating a New Geometrical Feature in the Update Mechanism
[4] Generic Naming Overview
[5] A Description of Update Error
[6] Verifying the Combined Curve's Sub-Element Selectability
[7] The CGM Journal
[8] Building and Launching a CAA V5 Use Case
[Top]

History

Version: 1 [Dec 2002] Document created
Version: 2 [Sep 2003] Launching Update
[Top]

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