User Guide (Future)

Latest Release: Version 24.1

The 3DExperience to NX Bi-directional Translator

The 3DExperience to NX translator may be installed on a number of machines each accessing a central network-floating license.

The 3DExperience to NX Translator is a bi-directional direct database converter between the Dassault Systemes 3DExperience Modelling Application and Siemens NX file format.

It enables the user to convert all forms of 3D Mechanical Design Geometry and Assembly data together with system defined attribute information and colour information, between these two systems. This product is designed for companies using 3DExperience who have selected NX to be their main method of collaboration and communication between OEMs and their customers or suppliers.

The translator can be invoked either interactively or in batch mode.

Primary Product Features

  • Converts all types of geometry, wireframe, surfaces, trimmed surfaces (faces) and solid models.

  • Converts assembly structure between both systems.

  • Converts attribute data including colour and layer information.

  • Integrated with the 3DExperience installation.

  • The conversion process can be run interactively or in Batch mode.

  • Data can be filtered by layer and entity type during processing. Geometry can be filtered and selectively processed.

  • Uses the 3DExperience API and Siemens NX API to read and write data.

Primary Product Benefits

  • Being a direct database converter, all pre and post processing is eliminated, saving time.

  • Reduce costs due to processing time and increase overall conversion success levels by filtering input data and focusing the conversion to only those elements required.

  • Reduce costs and risks associated to accessing the wrong version of data by integrating the conversion process into a related business process.

  • With over 20 years industrial use Theorem’s product robustness and quality is well proven, reducing your business risk.

This document will focus specifically on guidance for the use of the translator for the 3DExperience to NX bi-directional product. For information regarding any of Theorem’s product ranges please contact sales@theorem.com

Getting Started

Installation

The installation is run from the .msi file download provided. For full details of the installation process, visit Product Release Notes.

License Configuration

To run any product a valid license file is required. The Flex License Manager is run from the .msi file download provided. This can be accessed from the Product Release Notes. For full details of the installation process, visit Product Release Notes.

Running the Product

Once configured and licensed, the product is ready to be run. There are 3 distinct ways of running the translator:

  • Interactively from within 3DExperience

    • The Interactive Interface provides a direct method of importing to and exporting from 3DExperience.

  • In Batch via CATUtil - DataExchangePLMBatch

    • The 3DExperience DataExchangePLMBatch Interface provides a direct method of invoking the translator. It can be used on an On Demand basis to translate single or multiple files.

  • On the Command Line

    • A command line method of invoking the translator is possible. (3DExperience to NX only)

Translating Interactively from within 3DExperience

Launching 3DExperience with Theorem Plug-ins

The 3DExperience to NX bi-directional translator allows an opened 3DExperience part or assembly to be exported directly to NX, and for an NX part or assembly to be imported directly into the 3DExperience application.

In order to translate from within 3DExperience, the application must be started using a Theorem environment, so that the appropriate Theorem partner plug-ins are available. (See 3DExperience Environment files.)

3DExperience can be started from a desktop shortcut created during installation.

Alternatively, it can be started via the script provided in the Translator installation located in:

<installation_directory>\bin

The script name is:

start_3DEXPERIENCE_Theorem_Multi-CAD_NX<xxxx>_CATIAV6R<version>.cmd

(where <xxxx> should be substituted with the version of NX that you have installed – e.g. 1926, 1953, 1980, 2007, 2206)

(where <version> should be substituted for the version of 3DExperience that you have installed – e.g. 2020x, 2021x, 2022x)

Theorem Interactive Conversion Settings

The 3DExperience interface does not currently require the user to apply any specific settings for the translation. There are some general settings that should be checked if required (e.g. for PMI conversion.) These are accessed through Preferences > Legacy Preferences > General > Compatibility > External Native 3D Formats. There are also some options that can be applied within the Theorem setting. These are accessed through Preferences > Legacy Preferences > Infrastructure > Theorem.

External Native 3D Formats 3D annotations toggle

3DExperience 2018x

3DExperience 2019x onwards

This page is a standard Dassault Page that sets the preferred mode of conversion (in this case Exact), and also the general options “Convert coordinate systems” and “3D Annotation”. Both of which are toggled on.

Preferences menus

Note – Toggle off 3D Annotations to ensure that the Read PMI option is respected when using the Theorem import, i.e. PMI is displayed on the imported part when it is toggled on and is not displayed when it is toggled off.

Export NX / Import NX tabs

Two dedicated tabs under ‘Infrastructure > Theorem’ allow the user access to Theorem Configurations for import and export. From this Panel, the user can select a predefined configuration or create a new configuration. To create a new configuration, select the ‘LaunchConfigurationManager’ command.

LaunchConfigurationManager button

In the configuration manager window, select New. Rename as required.

Configuration Manager - New

Configuration Manager - New Option

Any new configurations created will be displayed in the Active Configurations list once it has been refreshed. To do this select ‘RefreshConfigurationList’.

RefreshConfigurationList

Configuration Manager

3DExperience to NX

Within the Configuration Manager, the options that are available to use are grouped into the following 3 areas when translating data from 3DExperience to NX.

  • 3DExperience Read – Those options that affect how data is read from 3DExperience.

  • NX Write – Those options that affect how data is written to NX.

  • General – Those options that are common to ALL translation activities regardless of source data. Advanced arguments are added in this tab.

3DExperience Read

Configuration Manager - 3DExperience Read

Each of the options displayed in the image above are described below:

Option

Description

Preferred Read Data Type

The setting options are EXACT (default) or TESSELATED.

Command Line Syntax:

  • read_tess

Read PMI

Enables PMI data read. (Default is OFF.)

Command Line Syntax:

  • dont_read_pmi – default

  • read_pmi – to turn on

Note – When ‘read_pmi’ is enabled it also enables the ‘fill_pmi_arrows’, ‘fill_pmi_text’ and ‘pmi_filled_text’ options. These can be overridden by setting the Advanced arguments ‘dont_fill_pmi_arrows’ and/or ‘dont_fill_pmi_text’.

Read Captures

A secondary argument to ‘Read PMI’ and allows control over whether captures are read as part of the process. Default is ON when ‘Read PMI’ is marked as ON. Captures can ONLY be read when ‘Read PMI’ is ON.

Command Line Syntax:

  • read_captures – default

  • dont_read_captures – to turn off

Read FTA Reference Geometry

Enables reading of FTA Reference Geometry. (Default is OFF.) FTA Reference Geometry can ONLY be read when ‘Read PMI’ is ON.

Command Line Syntax:

  • read_geometry – to turn on

Read NOSHOW Entities

Read any entities that are in NOSHOW. Default is to not read NOSHOW entities.

Command Line Syntax:

  • noshow

Disable Points

Switches off Point processing.

Command Line Syntax:

  • disable_points

Disable Axis Systems

Switches off Axis System processing.

Command Line Syntax:

  • disable_axes

Disable Wireframe

Switches off Wireframe processing.

Command Line Syntax:

  • disable_wireframe

Disable Surfaces

Switches off Surface processing.

Command Line Syntax:

  • disable_surfaces

Disable Solids

Switches off Solids processing.

Command Line Syntax:

  • disable_solids

Read As Torus

Read Toroidal surfaces in analytical form (default is NURBS.)

Command Line Syntax:

  • read_torus

Read As Cylinder

Read Cylindrical surfaces in analytical form (default is NURBS.)

Command Line Syntax:

  • read_cylinder

Read As Cone

Read Cone surfaces in analytical form (default is NURBS.)

Command Line Syntax:

  • read_cone

Read As Conics

Read surfaces generated from a Conic in analytical form (default is NURBS.)

Command Line Syntax:

  • read_conics

Export Body Names

Maintains body names for parts that consist of multiple bodies.

Command Line Syntax:

  • body_names

NX Write

Configuration Manager - NX Write

Each of the options displayed in the image above are described below:

Option

Description

Delete Existing Sub-parts

Delete existing assembly subcomponents. (Default is OFF.)

Command Line Syntax:

  • delete_parts

Concatenate Assembly Name

Concatenate top level assy name to all subcomponents. (Default is OFF.)

Command Line Syntax:

  • concat_assy

Produce Tessellated Output

Produce Tessellated NX file. (Default is OFF.)

Command Line Syntax:

  • tess_output

General

Configuration Manager - General

Each of the options displayed in the image above are described below:

Option

Description

Mass Properties

Allows mass property information to be read.

Command Line Syntax:

  • mprops

Advanced

Allows any advanced arguments to be added to the configuration manager and applied during the translation.

NX to 3DExperience

Within the Configuration Manager, the options that are available to use are grouped into the following 3 areas when translating data from NX to 3DExperience. Some options are selectable, some require a file input.

  • NX Read – Those options that affect how data is read from NX.

  • 3DExperience Write – Those options that affect how data is written to 3DExperience.

  • General – Those options that are common to ALL translation activities regardless of source data. Advanced arguments are added in this tab.

NX Read

Configuration Manager - NX Read

Each of the options displayed in the image above are described below:

Option

Description

Reference Set

Enables reference set processing. (Default is ON.)

Read Attributes

Read NX attributes on entity/part/instance. (Default is OFF.)

Read NX Names

Read NX entity names (if they exist). (Default is OFF.)

Read PMI

Enables PMI data read. (Default is OFF.)

3DExperience Write

Configuration Manager - 3DExperience Write

Each of the options displayed in the image above are described below:

Option

Description

PLM Connection File

The PLM Connection file is one of the xml files defining the connection parameters to the PLM database. It is required for creating a connection and logging into a PLM session programmatically.

Axis System – Show

Display all axis systems on the imported model.

Property Mapping File

A mapping file is used to control which properties are converted from NX to 3DExperience by setting a control value.

Setting the control value to 0 will stop a specific property from being exported. Alternatively you can switch the property name that is found in the input data to a different name specified by the user in the output file. This is performed by switching the name between the input name = field 1 and the output name = field 2.

The File Line Format is as follows:

SourceName, TargetName, Control, Dummy, Dummy, Dummy

  • SourceName – is the input attribute name.

  • TargetName – is the output attribute name (NULL means use SourceName).

  • Control – is flag to control conversion:

    • 0 – Do not convert

    • 1 – Do convert

  • Dummy – unused fields

Examples:

  • MPARTNAME,,0,,, – attribute not exported

  • MPARTNAME,NULL,1,,, – attribute exported using the SourceName

  • MPARTNAME,Part Name,1,,, – attribute exported using the TargetName specified

General

Configuration Manager - General (NX to 3DExperience)

The option displayed in the image above is described below:

Option

Description

Advanced

Allows any advanced arguments to be added to the configuration manager and applied during the translation.

Interactive Export to NX

Once the 3DExperience application has been launched, open the product or representation that is going to be exported to NX.

3DExperience part open for export

Select the arrow in the top right corner, then from the list displayed select Export.

Export menu

In the Export dialog box displayed, ensure the “Format” is set to NX_THEOREM (*.prt). Select the required location for the file and ensure the Filename displayed is correct. Click OK to initiate the translation.

Export dialog box

NX Template Files

If, when a representation is read from 3DExperience, no geometry is found in the representation, all the geometry is hidden or a major write error occurs preventing a NX file being produced, then an empty NX file (named by default as template.prt), will be copied to the expected output file name.

This enables the conversion process to complete successfully and maintains the expected file outputs.

This behaviour is implemented via environment variables set in the Theorem CATEnv file e.g. %TS_INST%\B422\win_b64\CATEnv\Theorem_Multi-CAD_NX<xxxx>_CATIAV6R<version>.txt file, typically as follows:

TS_NX_TEMPLATE_FILE=<installation_directory>\data\ug\template.prt

The user can change the content of these NX files, or their location and names as required.

Interactive Import from NX

Once the 3DExperience application has been launched it is possible for a model to be imported from NX. To do this select the ‘+’ icon in the top right corner, then from the list displayed select import.

Import dialog box

Import dialog box is displayed. Ensure the “Format” is set to NX_THEOREM (*.prt). Click on the folder icon next to the Filename field to choose the required file for import, then click OK to initiate the translation. NX data will be imported into the 3DExperience database and when complete will be opened into a new tab in the user’s session.

Import menu

3DExperience Multi-CAD

This is an interactive solution that allows users to work with NX parts or assemblies in an active 3DExperience session. This process enables the user to import the NX data and use it for design in context activities. This eliminates the need for a separate translation process.

In order to use the NX data in an active session, firstly the data will need to be imported into 3DExperience. (See Interactive Import from NX.)

When complete an import successful message will be displayed along with an operation report, with the data opened into a new tab in the user’s session.

Imported data in 3DExperience

To incorporate the imported data into an existing assembly, select the tab where the assembly is displayed, right click on the required node (typically the top node) and select Insert > Existing Product.

Insert > Existing Product menu

Select the tab where the imported data is displayed, then select the top node to add it to the assembly. If the Multiselection option is toggled on, click on the green tick.

Select imported data

Assembly with imported NX data

Translating in Batch using CATUtil – DataExchangePLMBatch

Launching DataExchangePLMBatch

The Dassault Systemes CATUTIL Batch Monitor tool can be launched with the correct Theorem enabled environment using the scripts provided in the Translator installation at:

<installation_directory>\bin\start_CATUTIL_Theorem_Multi-CAD_NX<xxxx>_CATIAV6R<revision>.cmd

(where <xxxx> should be substituted with the version of NX that you have installed – e.g. 1926, 1953, 1980, 2007, 2206)

(where <revision> should be substituted for the version of 3DExperience that you have installed – e.g. 2020x, 2021x, 2022x)

It can also be started from the Tools > Utility workbench within an Interactive 3DExperience session.

Tools > Utility

Batch Export to NX

Here is an example showing what is required in preparation for a 3DExperience database selection and export.

Double click on DataExchangePLMBatch to launch the command.

Batch Monitor

DataExchangePLMBatch - Export settings

Note selection of “Export” operation, usage “NX_THEOREM” and extension “prt”.

To add the required products to the batch for export, select the 3DEXPERIENCE Platform Object Search icon.

In the subsequent window displayed, add the products using the correct attribute, operator and value ensuring that the correct object type has been selected. (E.g. Physical Product.)

For multiple products ensure that the OR condition has been selected. Select Add results and click Apply to add the list of products to the Object Selection field.

Object search criteria

Products added to Object Selection

To change the location where both the report and NX files will be saved, select the icon next to the Report directory field, then select the required directory.

DataExchangePLMBatch - ready to run

Click Run to initiate the Batch Export to NX.

Exported NX files

Batch Import from NX

Here is an example showing what is required in preparation for an NX file selection and import.

Double click on DataExchangePLMBatch to launch the command.

Batch Monitor

DataExchangePLMBatch - Import settings

Note selection of “Import” operation, usage “NX_THEOREM” and extension “prt”.

To add the required products to the batch for import, select the 3DVIA – Live File Connector Object Search icon, next to the Object Selection field.

In the subsequent window displayed, add the products by clicking on Member and selecting the required NX files. These will then be added to the Object Selection field.

3DVIA Live File Connector - file selection

DataExchangePLMBatch - ready to import

Click Run to initiate the Batch Import from NX.

Imported products in 3DExperience

Translating on the Command Line

It is possible to run a 3DExperience to NX translation on the command line, however as all CAD data is saved in the 3DExperience database an XML file will need to be used as the input file instead of a CAD file. This is explained in more detail below. In order to run a translation on the command line the following inputs are required:

<TS_INST>\bin\catia6r<revision>_nx<xxxx>.cmd <input_file> <output_file> <options>

Where:

  • <TS_INST> is the Theorem Solutions software installation directory.

  • <revision> is the version of 3DExperience that you have installed – e.g. 2020x, 2021x, 2022x.

  • <xxxx> is the version of NX that you have installed – e.g. 1926, 1953, 1980, 2007, 2206.

<input_file>

Is an XML file defining access to a specific object in the 3DExperience database.

This file provides user login details (V6R2013x) or a Login Ticket (2015x onwards) (see Creating a Login Ticket), to a specified Enovia repository plus a set of 3 attribute names and values which will uniquely identify the input object required for the conversion.

Examples of the input file XML can be found in the <TS_INST>\samples\3dexperience folder. These can be modified and saved on your local drive.

Here is an example of the xml input file for 3DExperience:

<?xml version="1.0" encoding="utf-8"?>
<mc6_read>
  <!-- parameters must be in this ORDER -->
  <!-- parameters only the value passed to V6 -->
  <parameters>
    <attribute name="repository" value="PLM1"/>
    <attribute name="ServerName" value="3dspace.theorem.com"/>
    <attribute name="ServerPort" value="447"/>
    <attribute name="ServerRootURI" value="3dspace"/>
    <attribute name="LoginTicket"
      value="REEyNzM3M0Q1REM2NDgxQzlFNzk1QzIwNjZGRDYzODN8Um9iaW58Um9iaW58fHwwfA=="/>
    <attribute name="PLMType" value="VPMReference"/>
    <attribute name="ReportDirectory" value="C:\TEMP\V6Export"/>
    <attribute name="LicenseData" value="LIC"/>
    <attribute name="BatchXMLFileName" value="Default"/>
  </parameters>
  <!-- arguments both key and value are passed to V6 -->
  <arguments>
    <attribute key="PLM_ExternalID" value="prd-Interfix"/>
    <attribute key="V_version" value="A"/>
    <attribute key="minorrevision" value="1"/>
  </arguments>
</mc6_read>

Note

In some cases, the “minorrevision” value is not required in the XML file, only the V_version value is required. This value could be A.1 for example.

<output_file> is the required output NX file name.

<options> – Options displayed in the configuration manager can be added at the end of the command using the correct syntax, e.g. read_pmi. (See Configuration Manager – 3DExperience to NX for list of command line syntaxes.)

Progress_file <file name> – The path and file name for the log file e.g. C:\TEMP\progress.log

Command line execution example

Log File Generation

Export Process Log Files

In the process of exporting the selected 3DExperience part or assembly, the following log files are generated by the NX Export plug-in.

The process log and error messages are recorded in a .err file located in the DassaultSystemes CATReport directory. The file is named after the active CATIA component.

e.g. %CATReport%\model1.err

Additional log files are created in the TSC_TEMP_DIR directory. This directory is defined in the %TS_INST%\ts_env.bat file.

%TSC_TEMP_DIR%\Read_to_viewer_<input_part_name>.log

Where: <input_part_name> is the name of the input part (or the active part name in interactive usage).

This contains information describing the 3DExperience ‘data read’ processing into Theorem Intermediate data format. Normally a list of entities.

Log file example

%TSC_TEMP_DIR%\viewer_<part-name>_screen_output.log

Where <part-name> is the selected output file name.

This contains the screen output of the process of writing the data to NX. The status of the translation can be found here.

%TSC_TEMP_DIR%\viewer_<part-name>.log

Where <part-name> is the selected output file name.

This contains detailed process information of the write of the data to NX and contains additional information such as modifiers and options used.

Import Process Log Files

In the process of importing an NX file, the following log files are generated by the NX Import plug-in.

  • nist_ctc_05_asme1_nx800_rd.err – provides the full processing list of errors, warnings and information

  • nist_ctc_05_asme1_nx800_rd.log.rpt – provides a short list of the entities created and failed

  • nist_ctc_05_asme1_nx800_rd.log.summary – provides start and finish times and the status message code (these can be customised)

  • nist_ctc_05_asme1_nx800_rd.log – provides a single file with data from the other three logs

The process log and error messages are, by default, located in the DassaultSystemes CATReport directory. The files are named after the selected input file name. e.g. Mypart.prt would produce the log file names Mypart.err, Mypart.rpt etc.

3DExperience Environment Files

As part of the Theorem installation process, a set of 3DExperience environment files are created which are subsequently used in the launch of 3DExperience and CATUtil sessions to support the Theorem partner plug-ins for NX file imports and exports.

A ‘CATEnv’ file is created for each installed version of 3DExperience.

These environment files are located in the 3DExperience revision specific folder within the Theorem install e.g.

  • <installation_directory>\B422\win_b64\CATEnv\Theorem_MultiCAD_NX2206_CATIAV6R2020x.txt

  • <installation_directory>\B423\win_b64\CATEnv\Theorem_MultiCAD_NX2206_CATIAV6R2021x.txt

  • <installation_directory>\B424\win_b64\CATEnv\Theorem_MultiCAD_NX2206_CATIAV6R2022x.txt

These files consist of the current 3DExperience settings with the required Theorem settings appended at the bottom.

CATEnv file example

Creating a Login Ticket

Use a browser link (similar to the one below) to your 3DExperience Server:

https://3dspace.2017x.theorem.com:447/3dspace/common/emxNavigator.jsp

A page will appear in the browser.

3DEXPERIENCE login page

Login as normal, e.g.

User

Password

Select Collaboration and Approvals > Experience Configuration > Manage Login Tickets

Manage Login Tickets

Login Ticket Creation

Select the values required for your user:

User and Security Context should already be set, make sure that Ticket Type: Infinite is selected. Then click on ‘Create’.

“Create” will produce the ticket:

REEyNzM3STE1MER2NDgxQzlFNzk1QzIwNjZGNATzDAN8Um9iaW58Um9iaW58fHwwfA==

This can then be used as the ‘LoginTicket’ value explained previously.