Useful Tips  


  • You can add properties to a .CATPart or a .CATProduct document by using the Properties command. To do so, click Define other properties... in the Product tab then click New parameter of type. The dialog is similar to the f(x) dialog. See the Product Structure User's Guide for more information. The properties you define that way are also displayed in the parameter list of the f(x) dialog box.  

  • Parameters belonging to a parameter set can be reordered by using Reorder... from the contextual menu.
  • Parameters added by using the Parameters Explorer are displayed right below the feature they are assigned.
  • CATIA users working with non-latin characters must check the Tools>Options>Knowledge>Parameter Names>Surrounded by' option. Otherwise,  parameter names must be renamed in latin characters when used in formulas.
  • You can specify that a parameter is constant by using Properties from the contextual menu. This command also enables you to hide a parameter.

  • When copying parameters sets containing hidden parameters, these parameters are automatically pasted when pasting the parameters sets and appear as hidden parameters.

  • Parameters have 2 different names: The local one and the global one.
    • The local name is the name attributed to the parameter when it was created in the Formula Editor or in the Parameters Explorer. Note that this name will not be modified if you perform a Reorder using the contextual menu.
    This name can be modified using the Parameters Explorer and the Edit>Properties command.
    • The global name (name) is the name attributed to the parameter by Knowledge Advisor. It is the path of the parameter + its type. If you select the parameter and reorder it, the path contained in the name will be modified. If you double-click the parameter in the specification tree, and enter a new name in the Edit Parameter dialog box, the global name will be changed. If, after renaming the parameter in the Edit Parameter dialog box, you reorder the parameter the path will not appear any more.
    This name can be modified in the Edit Parameter dialog box.
  • When renaming parameters using the Edit>Properties command,  do not apply names similar to the parameters types available in the Formula Editor. For example, if you rename a Length parameter into Time, the name will be converted into Time.1.
  • Deleting parameters used in a relation: If you delete a parameter used in a relation, a "clone" parameter will be created.
  • When renaming parameters, bear in mind that these names must not contain any special characters (/, \, ...).
  • Applying the same formula to several parameters: If you want to apply the same formula to several parameters, use the Equivalent Dimensions feature and value this feature by a formula. For more information, see  Using the Equivalent Dimensions Feature.
  • The external parameters created at a product level are not fully integrated to the update process. Synchronize the external parameters manually before updating your document.
  • Nothing prevents you from attributing the same name to a parameter and to a feature like a Geometrical Set for example. But it is not recommended to do so as it may lead to errors.
  • Parameters and Design Tables: if in the current configuration, a parameter is associated to an empty cell in the .xls or .txt file (see picture below), its value is not constrained and it can therefore be valuated by the user.


Incremental mode () allows you to restrict the list of parameters displayed in the dictionary. Click a feature either in the tree or in the geometry area. Only the first level of objects right below the selected feature will be displayed in the dictionary. If the Incremental mode button is unchecked, all the objects below the selected feature are displayed.

The Incremental mode is useful when you work with large documents and when the parameter lists are long.

To help you write a formula, the formula editor provides you with a dictionary. This dictionary exposes the list of parameters and functions you can use to define a formula. Depending on the category of objects to be referred to in the formula, the dictionary is divided into two or three parts. To insert any definition in the formula editor, double-click the object either in the dictionary or in the tree. If you double-click a function in the dictionary, its signature is carried forward to the formula editor. Only the argument definitions are missing.

Syntax errors in relations message
When loading a document, the message opposite can display. It means that during the load, some relations appeared as broken.

These relations use functions that are not recognized by the dictionary because the library containing the definition of the function is not still loaded. That's why you are asked if you want to load all the libraries containing functions definition. But loading all libraries may have an impact on performance. So, we recommend you to load only the libraries you are interested by. To do so, select the required libraries in the Knowledge Environment tab (Tools>Options>General>Knowledge>Knowledge Environment.)

When working with the Boolean value parameters true and false, make sure to use these values in English. Do not use the equivalent of true and false in your own language.

  • When loading a Product containing a synchronous formula (located at the Product level) that valuates a parameter located in a Part of the Product, this Part is automatically loaded even in Product mode.
  • When a formula is created on a property, it is not displayed in the specification tree because it is located below the Product of the Part. If the Part is in an assembly context, the Product of the Part is displayed and also the formula.

Design Tables  

  • In terms of performance, it is recommended to use .txt design tables instead of .xls ones.
  •  A design table can only be created from non-constrained parameters, i.e. from parameters which are neither referred to in an active design table nor used  in any other active relation.
    If you keep the Activity option checked for DesignTable0 and you try to create another design table, you will have to select the parameters to add to your second design table among a restricted parameter list.   Uncheck the Activity option if you want to deactivate a design table and reuse its parameters in another design table. 
  • Anytime you modify a design table, the relations that refer to this design table detect the modification and turn to a to-be-updated status.
  • If a design table is active, the parameters which are declared in it are constrained parameters and you are not allowed to modify them.
    Double-clicking a design table in the specification tree displays the design table with its set of configurations and allows you to select a new configuration.
  • Only parameters which are not already constrained by any other relation or by any other design table can be used to create a design table. If a parameter is already constrained, it does not appear in the Parameters to insert list in the design table dialog box.
  • Selecting the parameters to be inserted  in a design table
    The Filter Name and Filter Type filters can be used to restrict the display of a parameter list. If you specify x in the Filter Name field of the Select parameters to insert dialog box, you will display all the parameters with the letter x in their name (xA, xB, xC, xD, xE). If you select the Renamed Parameters in the Filter Type list, you will display all the parameters you have renamed in the Formulas dialog box (yA, xB, xA, yC, xC, yB, yD, xD, yE, xE, TangE).
    Parameters to be inserted can be multiselected. Keep on pressing the Ctrl key when you select parameters. If you do this, the group of multiselected parameters will be carried forward onto the Inserted parameters list in the order in which they are displayed in the initial list.
    When the design table is created, the rank of the columns fits the rank of the parameters in the Inserted parameters list. If you want to have columns ordered in a given way in the design table, you must insert the parameters one by one.
  • Accessing the functions related to the design table
    In the formula (rule or check) editor, select the Design Table item in the dictionary, the list of the methods that can be applied to a design table is displayed. Select a method, then click F1 to display the associated documentation.
  • When opening the file (CATPart, CATProduct ...) which contains the Design Table, the file (.txt, .xls) content is parsed and stored in memory. To avoid reading the file completely (there are many cells in an Excel file), we stop parsing after the first empty cell of the first row (= row containing titles), which determines the number of columns of the Design Table. Then:
    • if the first cell of the first column is empty, the Design Table is supposed to have no column and no association can be made.
    • if the first 3 cells of the 3rd column are empty, the Design Table is supposed to have 2 columns and only the first two ones can be associated.
  • When working in a french environment, make sure that the decimal numbers contained in the text file linked to the design table are not written with a comma "," but with a decimal point.  (This way, you will be able to move to an english environment easily.)
  • Reading performances of .xls files are lower than those of .txt files. So when working with large files, it is recommended to work with .txt files. Also, when working with independant parameters, it is recommended to split files.


  • The Evaluate method is to be used to calculate a parameter value when this parameter is defined by a Generative Shape Design law.
  • The result of a law depends on the initial lines. You can replay the scenario with different lines and see how it affects the result.
  • For a parallel curve constrained by a law to be correct, the type of this law must be C2.

Rules Syntax Length

  • To get the most when typing rules we suggest to split your syntax as much as possible. A rule containing a large amount of lines may display error messages. For example, Syntax error line ###: invalid structure: yacc stack overflow (near token: < == >).