The Catia Node is used to wrap a Catia V5 document, transferring data from and to it, and executing macro files on it. A Catia document is either a CATPart, a CATProduct or a CATAnalysis.
In order to use the node during the analysis, to open the document in a new Catia session and to use the introspection, you need to have installed Catia V5 on your computer and the PATH environmental variable must be properly setted. Usually the PATH variable must contain the path to the cnext.exe executable on Windows platforms and the path to the catstart script on Unix platforms.
You can also configure the correct Catia COM options in the modeFRONTIER preferences, see Section B.4.3, "Catia" for further details.
Configuring a Catia node requires setting several parameters:
Name: the name that will be used throughout modeFRONTIER to identify the node. The name must be unique within the set of node names, and must follow the guidelines for node names.
Description: the node description will appear as tooltip when the mouse stops over the node in the Work Flow canvas.
Document: the Catia document to be used, it can be either a CATPart, a CATProduct or a CATAnalysis.
Script File: a macro file to be executed after all the input variables have been inserted in the document, but before the output variables are extracted from it. The filename can have any extension, but usually it has one of the following: CATScript or vbs. The script file must contain a macro named CATMain without input parameters. For a sample script file content see Section 4.1.20, "Sample Script File".
Verbose Mode: if set additional information is written to the verbose log file. Useful for debugging, slows down the execution.
Store Document in Working Dir: if set, before returning the Catia document is stored in the job working directory, using the same name as the original document. The file can then be transferred out to another Catia node for further processing, or can be manually inspected by an user. This option is available only for CATPart documents.
Timeout: if differs from 0, the Catia process will be killed by modeFRONTIER after the number of seconds indicated here.
KeepAlive(Windows only): if set, the Catia process will be istantiated via COM object, instead of running a script file; besides, the CATIA process is reused fo each design.
Export as 3DMAP: if selected the model is exported in the 3DMAP format. This option is available only for CATPart documents.
Export as CGR: if selected the model is exported in the CGR format.
Export as IGS: if selected the model is exported in the IGS format. May not work in some old Catia versions, see compatibility notes for more information. This option is available only for CATPart and CATProduct documents.
Export as Model: if selected the model is exported in the Model format. This option is available only for CATPart documents.
Export as Session: if selected the model is exported in the Session format. This option is available only for CATProduct documents.
Export as STL: if selected the model is exported in the STL format. This option is available only for CATPart documents.
Export as STP: if selected the model is exported in the STP format. This option is available only for CATPart and CATProduct documents.
Export as TXT: if selected the model is exported in the TXT format. This option is available only for CATProduct documents.
Export as VPS0: if selected the model is exported in the VPS0 format. This option is available only for CATPart documents.
Export as WRL: if selected the model is exported in the WRL format. This option is available only for CATPart and CATProduct documents.
Screen Capture As CGM: if selected a screen capture of the model is exported in the CGM image format.
Screen Capture As EMF: if selected a screen capture of the model is exported in the EMF image format.
Screen Capture As TIFF: if selected a screen capture of the model is exported in the TIFF image format.
Screen Capture As TIFF GreyScale: if selected a screen capture of the model is exported in the TIFF greyscale image format.
Screen Capture As BMP: if selected a screen capture of the model is exported in the BMP image format.
Screen Capture As JPEG: if selected a screen capture of the model is exported in the JPEG image format.
If you have specified a valid CATPart, CATProduct or CATAnalysis document, you could take advantage of the following features:
Opening the indicated document by clicking on . A new Catia session will start and load the selected document. Keep in mind that Catia may take some seconds to start.
Using the selection by introspection, this facility lets you to specify Catia parameters by selecting the parameter names directly in the introspection dialog.

You can start the introspection process by clicking on the small folder near the parameter name. A dialog will immediately report you about the introspection progress.

At the end of the introspection process, just click the button and the introspection dialog will appear.

The introspection dialog lets you specify the desidered parameter, selecting it on the table. Alternatively you can type the parameter name on the Selected Parameter textfield. The table contains all the parameters available in the document. You can filter the parameters by the typename or by the initial part of the name. Clicking on the table header you can sort the table rows according with the clicked column.
At any time you can refresh the introspection contents clicking the button. In any case, every time you open the introspection dialog modeFRONTIER will determine if it needs to refresh the instrospection data.
At run-time, several different operations are carried out behind the scenes:
modeFRONTIER creates an appropriate CATScript to drive the Catia execution.
A new Catia process is launched, the specified document is loaded and the CATScript is started. The environment in which Catia is launched contains the following variables:
PART_NAME: the full path name for the CATPart, CATProduct or CATAnalysis being used
APPL_PWD: the absolute path of the working directory for the Catia process
DESIGN_ID: the ID for the design being evaluated
PROJECT_NAME: The name of the modeFRONTIER project within which the script is being run
APPL_STDOUT: The name for the file where the standard output will be redirected
APPL_STDERR: The name for the file where the standard error will be redirected
APPL_PRIORITY: The priority with which the script will be executed (not available in COM mode)
ESTECO_USER: The username of the user that requested the execution. This is not necessarily the user that owns the script, because, for example, the script could be run by the Launcher on behalf of a remote user.
The CATScript assign the input variable values to the parameter indicated in the Data Input Connector panel.
All the parts involved are updated.
The script file is run (if any has been specified).
Output (or buffer) variables values are extracted from the parameters indicated in the Data Output Connector panel.
If the Store Document in Working Dir flag is set, the document is stored in the working directory for the node.
The document is exported in all the specified formats.
Catia process ends its execution.
If everything works correctly, the exit value for the node is zero. Otherwise, one of the following values is returned:
| 910 | A failure occurred while retrieving the output data |
| 912 | The job has been killed before it could terminate |
| 920 | The job was set-up incorrectly, and it was not possible to start it |
| 921 | The data extracted from the workspace could not be retrieved |
| 6015 | It was not possible to extract the value of a design variable |
The node has been fully tested with Catia V5R09 on HP-UX platform and with Catia V5R14 on Windows XP.
There are some known incompatibility issues:
The node doesn't work with Catia V5R07 for windows, see the problem decription.
With Catia V5R14 on Windows you cannot export the CATPart in the VPS0 format.
The Catia node input can be connected to one or more nodes. The connectable nodes are different for each connector. The process input connector can only be connected to the process output connector of nodes that belong to one of the following types:
The data input connector can be connected only to nodes that belong to one of the following types:
For each node belonging to one of the last four node types (i.e., for each node representing a design variable) that you connect, you must also indicate which parameter you want to set with the value. This requires specifying the parameter name.The Catia node output can be connected to one or more nodes, different for each connector. The process output connector can only be connected to the process input connector of nodes that belong to one of the following types:
The data output connector can be connected only to nodes that belong to one of the following types:
For each output and buffer variable connected, you must also indicate from which parameter (usually a measure) you want to read the value. This requires specifying the parameter name.
The following error messages can be associated with a Catia node:
| 239 | MISSING CATIA DOCUMENT | No Catia CATPart, CATProduct neither CATAnalysis has been selected, or the Catia document indicated does not exist |
| 231 | CATIA NODE NOT REACHEABLE | The Process Flow cannot be routed through the Catia node because an appropriate input connection is missing |
| 232 | NO EXIT PATH FOR CATIA NODE | The Process Flow cannot be routed past the Catia node because an appropriate output connection is missing |
| 230 | MISSING ADDRESS FOR CATIA PARAMETER | A legal parameter name has not been associated with one or more design variables connected to the Catia node |
| 233 | NO INPUT FILE OR VARIABLE FOR CATIA NODE | No design variable or file is supplied to the Catia node |
| 202 | INVALID EXIT CONDITION(S) | The conditions for the output nodes that support the Process Flow routing are not mutually exclusive |
Sub CATMain()
part = CATIA.SystemService.Environ("PART_NAME")
pwd = CATIA.SystemService.Environ("APPL_PWD")
id = CATIA.SystemService.Environ("DESIGN_ID")
project = CATIA.SystemService.Environ("PROJECT_NAME")
user = CATIA.SystemService.Environ("ESTECO_USER")
'in case of COM mode you should use the code commented below instead
'part = Environ(PART_NAME)
'pwd = Environ(APPL_PWD)
'id = Environ(DESIGN_ID)
'project = Environ(PROJECT_NAME)
'user = Environ(ESTECO_USER)
rseult = ""
result = result & "PART_NAME=" & part & vbCRLF
result = result & "APPL_PWD=" & pwd & vbCRLF
result = result & "DESIGN_ID=" & id & vbCRLF
result = result & "PROJECT_NAME=" & project & vbCRLF
result = result & "ESTECO_USER=" & user & vbCRLF
CATIA.SystemService.Print(result)
End Sub
The above macro will produce the following output:
Starting CNEXT -batch /work/scratch/bimbo/depot/benchmark_bimbo.CATPart -macro ... Remote Connection -------------- CATIA -------- PART_NAME=/work/scratch/bimbo/depot/benchmark_bimbo.CATPart APPL_PWD=/home/paolov/catia/a_000005/proc/DES_00000-00499/DES_00000/Catia53_00000 DESIGN_ID=0 PROJECT_NAME=a ESTECO_USER=mauro -----------------------------
Measure values
In order to extract the correct measure values you need to configure Catia for the automatic update of the measures in parts and products. To do so consult your Catia documentation, however the following steps could be sufficient:
Start Catia
Select ->
Select the node ++
Select the tab Measure Tools
Enable the checkboxes Automatic update in part and Automatic update in product