Dassault 3DExperience (CATIA & Enovia)
Supported Functions:
Getting Started
The 3DExperience integration provides support for Dassault 3DExperience CATIA(V6) and Enovia, allowing users to extract data from and modify 3DExperience-CATIA CAD models.
Methods to Link to Istari Platform
Upload: No
Link: No
Product Identifier: Yes (name and revision)
Example:
{
"name": "prd00000080",
"major_revision": "1",
"minor_revision": "1"
}
Files Supported
The istari Platform can extract from the following file types:
3DExperience Products/Assemblies
3DExperience Parts
Note: 3DExperience does not permit local saving of models. The module interfaces directly with the Enovia platform to open/save 3DExperience models.
All other 3DExperience file/model types not supported at this time. Please submit a feature request if an important file type is not supported.
Version Compatibility
This software was tested with Dassault 3DExperience 2023x and 2022x, but is developed to be generally version agnostic. It is intended to run in a Windows environment and was tested on Windows 11.
Function Coverage and Outputs
This software can produce a number of artifacts extracted from the 3DExperience CATIA CAD model. The table below describes each output artifact and its type.
Route | Coverage | Artifact Content Example |
---|---|---|
Function: @istari:extract: | Yes | |
-Extract 6 orthographic model views - PNG | ||
-Extract the model isometric view - PNG | ||
-Extract an object file for dynamic model viewing - OBJ | ||
-Extract user defined parameters - JSON | ||
-Extract mass properties, bounding box, and material - JSON | ||
Function: @istari:extract_geometry: | Yes | |
-Extract model geometry to a neutral file format | ||
-Inputs: STEP , IGES3D , STL | ||
Function: @istari:extract_parameters: | Yes | |
-Extract a full list of model parameters - JSON | ||
Function: @istari:extractPublications: | Yes | |
-Extract list of published elements - JSON | ||
Function: @istari:update_parameters: | Yes | |
- Updates a set of parameters with user-specified values | ||
Function: @istari:execute_macro: | Yes | |
-Execute a custom VBA macro within 3DExperience | ||
Function: @istari:command_execute: | Coming soon | |
-Execute a custom macro from a preloaded library |
Tips and tricks for model extraction and Reuse
This section will guide users through creating a 3DExperience CATIA model for optimal interaction with the provided software (SDK/platform). Some artifacts supported for extraction from the model require specific steps.
1. User Defined Parameters: These are essential for extracting key values out of the 3DExperience CATIA file. This will allow upstream and downstream digital threading of the 3DExperience CATIA file. Refer to 3DExperience instructions or your company's best practices for best methods to create these.
2. Material Properties: Ensure the correct material is defined in the 3DExperience CATIA models.
3. Macros: Macros executed through the 3DExperience module should not display any UI elements (windows, dialog boxes, message boxes, etc.) since this may block execution. Also, macros should be prepared for remote execution, including modifying paths appropriately and eliminating references to local resources.
Setup for Administrators
Ensure that Dassault 3DExperience CATIA is installed on a Bare metal Machine with Istari Agent and appropriate Istari Software. Verify that the installation is up to date with the latest patches and updates from Dassault.
Also, if a session of 3DExperience is not running when jobs are submitted to the module (see below for a more detailed explanation), the registry entry:
HKEY_CLASSES_ROOT\CLSID\<CATIA_CLSID>\LocalServer32
where <CATIA_CLSID>
is the registered class ID for the CATIA application and
can be found in the following registry entry:
HKEY_CLASSES_ROOT\CATIA.Application\CLSID
The command line in the value of this registry key should be updated to include the following flags:
TODO: Add flags
The module requires a server license in order to perform various operations that interface with Enovia. The license is read from an xml file that can be generated using the CATUTIL.exe
batch utility provided by Dassault, which may be found in the following location:
<3DExperience_Install_Path>\win_b64\code\CATUTIL.exe
where <3DExperience_Install_Path>
should be replaced with the actual path to the 3DExperience installation. Within the utility, start the CAT3DExpBatch
tool:

Double click the tool, click the Save
button and save the config to ServerLicense.xml
within the module installation directory:

The module can be run with or without the 3DExperience application actively running on the host machine. If the 3DExperience application is not currently running, the module will start a session and close it when all functions have been executed. If the 3DExperience application is open when the module starts, it will use the existing session and leave it open after completing all function execution. Note that in the latter case, the module closes all models opened during function execution.
Configuration (Version 1.3.0+)
Starting with 3dexperience-module 1.3.0 and istari-agent 9.8.0+, the old configuration variables (dassault_install_dir
, product_attr_name
) are deprecated. While they remain supported for backward compatibility, we strongly encourage using the new standardized configuration variables and the centralized istari_digital_agent_module_configurations
approach.
Centralized Configuration (Recommended)
The Istari Agent is configured via the file istari_digital_config.yaml
. The Agent expects the file to be located at:
%LOCALAPPDATA%\istari_digital\
on Windows~/.config/istari_digital/
on RHEL/Ubuntu
Configure the 3DExperience module using the istari_digital_agent_module_configurations
section. The agent will pass this centralized configuration to the module:
agent:
istari_digital_agent_module_configurations:
"@istari:dassault_3dexperience":
"dassault_3dexperience_install_dir": "/path/to/3dexperience/installation"
"dassault_3dexperience_product_attr_name": "PLM_ExternalID"
Legacy Configuration (module_config.json)
For backward compatibility, you can still use the legacy module_config.json
file located at {istari_agent_dir}\istari_modules\dassault_3dexperience\resources\module_config.json
:
{
"dassault_3dexperience_install_dir": "/path/to/3dexperience/installation",
"dassault_3dexperience_product_attr_name": "PLM_ExternalID"
}
Configuration Parameters
dassault_3dexperience_install_dir
: Sets the installation path of the 3DExperience thick client to use. This is useful when executing on systems in which multiple versions of 3DExperience are installed.dassault_3dexperience_product_attr_name
: This is the attribute name associated with product identifiers used to locate products. In out-of-the-box installations, this will bePLM_ExternalID
, but can be configured with other options.
Troubleshooting
- For general Agent and Software Troubleshooting Click Here
- Missing Artifacts Or Data:
- 2.1 parameters.json: Check source file, are there user defined parameters defined in the file? If not, refer to the software's manual for defining appropriate parameters.
- 2.2 parts.json: Check source model for properly defined materials? Refer to the software manual for defining appropriate material assignment.