Running the CATDMUBuilder
Batch Process

The CATDMUBuilder is intended to save DMU loading time by:
  • Feeding the cache with tessellated data corresponding to given product structures
  • Creating CATProducts corresponding to these product structures and storing them on dedicated local directories
  • Using local machine resources when they are not used (night, week-end)

This capability fills the local cache with all necessary data to avoid tessellation or access to the PDM cache during interactive loading of given product structures. This loading will use only the local and release cache.

The extracted CATProducts allow the user to quickly load working or predefined session without mandatory PDM connection while working in visualization mode. The loading of these CATProducts will benefit from the cache feeding. 

The product structure file can be any one of the following: 

  • a product (*.CATProduct) 
  • a Dynamic PSN (*.psn)
  • the identifier of an ENOVIAVPM node (*.CATVpm)
  • a Multi-CAD assembly 
  • a Navigator 4D file
  • a Clash file (*.xml)  Important: The interferences described in the xml file must point to a VPM V4 product structure and you must be connected to VPM V4. Interferences described in the xml file pointing to product structures in file format or to VPM V5 product structures are not supported.

DLNames are now supported for the CATDMUBuilder batch process.

CATDMUBuilder can now generate 3D XML files.
When using input data that contains references to a PDM system, it is imperative that you be connected to that PDM system while the CATDMUBuilder process is running.
On Windows, it is always necessary to specify the -env and -direnv options. Note also that these options should always be specified at the end of the command line. For more information, see the Infrastructure User's Guide, Starting a Session on Windows.
When you build a product using CATDMUBuilder with a PSN file and the selected instances option, all documents attached to Parts on the branches of the selected leaves are taken into account.
  1. To retrieve the help information, run the command:

CATDMUBuilder -h

  1. To feed data to the cache, run the command:

CATDMUBuilder inputlocation
[-user user -spwd cryppwd -role role -server srv] [-product dir]

  1. To build the product, run the command:

CATDMUBuilder inputlocation
-product dir -onlyone -nocache

  1. To feed the local cache, run the command:

CATDMUBuilder inputlocation -copycache

  1. To force re-calculation, run the command:

CATDMUBuilder inputlocation -force


Windows Examples

CATDMUBuilder -h
CATDMUBuilder c:\u\input.txt -product c:\proddir

Unix Examples

Invoking the CATDMUBuilder help:

CATDMUBuilder -h

Feeding the cache with tessellated data corresponding to product structures contained in a directory /u/product

CATDMUBuilder /u/product

Moving CATProducts corresponding to product structures contained in a distant directory /distant/product, storing them on a local directory /local/product and feeding the local cache:

CATDMUBuilder /distant/product -product /local/product

Feeding the cache with tessellated data corresponding to product structures contained in a directory /u/product, which refers to VPM documents:

CATDMUBuilder /u/product -user XXX -spwd YYY -role VPMDESIGNER  -server ZZZ


When using CATDMUBuilder in conjunction with ENOVIAVPM, it is necessary to first launch the ENOVIAVPM server:
  1. When launched, the CATDMUBuilder will try to execute on the server side an ENOVIAVPM shell called . This shell name must not be changed. This shell must be in the $PATH variable of the ENOVIAVPM user declared in the mapping (Ex: /V15/vpmadm/code/bin).

  1. The shell has to be created by the ENOVIAVPM administrator and should look as follows:

!# /bin/ksh
if [ -f $HOME/.profile ] ; then
. $HOME/.profile
. /V15/vpmadm/env/ >/tmp/traces 2>&1
VX0SERV >>/tmp/traces 2>&1

  1. The following is an example of a command line used for treating a CATVpm file: -batch "CATDMUBuilder /tmp/CATVPM
-db VPMServer -user vpmadm -spwd vpmadm -server server_name
-role VPMADMIN -product /tmp"

where server_name is the name of the server defined in the ENOVIAVPM interoperability settings (Tools -> Options -> Infrastructure -> Product Structure -> ENOVIAVPM tab -> click Database Administration icon).



-h : Help.
inputlocation : To define the list of documents to process. It can be the path of:

  • a file containing a list of documents. It must contain one path of document per line.
  • a directory containing documents

Documents of the following types are treated: CATProduct, CATVpm, psn, xml.



-product dir : To extract products and store them in the directory dir

-nocache : To run the batch without generating cache content. Note: This option has no effect when the product needs to be built from scratch.

-copycache : To copy all cache content from released caches to the local cache.

-force : To force re-calculation of cache content.

-onlyone dircgr : To resolve all links to external products and save the resulting product locally as one unique product.


-static : To open a psn file with static option (valid only for psn). By default it is open with dynamic option.

-selins : To open a psn file with selected instances (valid only for psn). By default it is open with all instances.

-replacebycgr dircgr : To replace all components by related cgr copied in the directory dircgr.

-activate : To activate all shapes and save the activation state.

-deactivate : To deactivate all shapes and save the activation state.

-prefix prefix : To save all products with a prefix in their name.


  -db  : Input database type: For processing data stored in a PDM database.

For details on using the -db option, see Accessing Data in a PDM Database.


  -mp : To enable multi-processing for product building. Multi-process parameters must be set in : Tools -> Options -> Digital MockUp -> Multiprocess Settings.

-timeout :  -timeout time: set the time out. After this time, child processes will be killed, on the assumption that they've entered a CPU loop. Available with multi-process mode (-mp) only.

- outputformat wrl
: To generate a VRML file as output. Note: In batch mode, as there is no editor, the wrl file will not contain any viewpoints.

- outputformat 3dxml
: To generate a 3dxml file as output.

CATDMUBuilder saves the geometry in the 3D XML format (Exact, Tessellation, and Compressed Tessellation) currently specified in the user settings (see the Infrastructure User's Guide, Compatibility, 3D XML).


-listcomp : To list all the components of each product. The directory will contain one text file per product, the name of which will be the same as the product. Each file has one component per line.

-noreplace : During the running of the batch process, it could happen that a file has to be copied in a directory where it already exists. Without the noreplace option, the file will be overloaded. With the noreplace option, the file will not be  replaced.

-savedata: To save referenced data in the product directory (see -product above).


  A user interface is now available for running the CATDMUBuilder utility.
  1. In the menu bar, select Tools -> Utility.
    The Batch Monitor dialog box appears.

  1. Select the CATDMUBuilder batch from the proposed list.

A dialog box will appear in which you can enter the same information you would otherwise have entered in a line command:

  • Input documents
  • Treatment: build products, prepare cache or both
  • Product options
  • Cache options
  • VPM options
  • Miscellaneous options (options for dedicated document types)

  1. Click the Save button to save all input data in an XML file for later use

  2. Click the Run button to run the batch job immediately.

  3. In the Batch Monitor dialog box, click the Processes tab to monitor the batch job execution.

For more information on using the Batch Monitor, see the Infrastructure User's Guide, Basic Tasks, Running Batches, Running Batches Using the Batch Monitor.



Possible exit status values are:

  • 0: Successful completion.
  • 1: Failure due to any of the following:
    • license not available
    • cache management deactivated
    • missing arguments
    • invalid parameter
    • missing parameter after an option
    • missing input file
    • unable to find a file
    • unable to open an input file
    • bad type of document
  • 2 Processing error.
  • 3 Partially processed.


  • Exit status = 1: Modify the command line using information contained in the standard error file.
  • Exit status = 2: Contact you local support.
  • Exit status = 3: Fix the files that cause the problem: their names are contained in the  standard error file. An interactive use of files may inform about problem.


The utility can open an ENOVIAVPM assembly corresponding to all nodes under a given root or a CATProduct stored as Black-box. This is done using a new type of document CATVpm. This document is a text file:

  • First line: coid
  • Second line: compid
  • Third line: catenv
  • Fourth line: catab (part list or document)
  • Other lines: configuration information (one configuration handler per line)

Example 1: a simple node

Example 2: a simple node with two config handlers

Example 3: a Black box