:orphan:

##############################
CATIA V6 / 3DExperience Reader
##############################

.. rst-class:: format-title-block

+------------------------------------------------------------------------------------------+
|                    **CATIA V6 / 3DExperience**                                           |
+-----------------------------------------+------------------------------------------------+
| **File Extension**                      | 3DXML                                          |
+-----------------------------------------+------------------------------------------------+
| **Supported Versions**                  | Up to V5_6R2024                                |
+-----------------------------------------+------------------------------------------------+
| **Platforms**                           | |wy| |ly| |my| |an| |iy|                       |
+-----------------------------------------+------------------------------------------------+
| :ref:`catiav6_tessellation`             | |t_green| Supported                            |                     
+-----------------------------------------+------------------------------------------------+
| :ref:`catiav6_brep`                     | |c_green| Supported                            |
+-----------------------------------------+------------------------------------------------+
| :ref:`catiav6_pmi`                      | |c_green| Supported                            |                     
+-----------------------------------------+------------------------------------------------+

The CATIA V6 Reader provides full access to the assembly, visualization, views, and PMI data that is stored within a particular CATIA V6 file. 

A file does not need to have a particular extension to be read correctly by HOOPS Exchange. However, the file extensions of CATIA V6 files that you can expect to be loaded by HOOPS Exchange include:

* `.3DXML`

The version specification for the `.3DXML` format is **4.3**. This format contains data exported from both CATIA V5 and V6 / 3DExperience.

How to Import From CATIA V6 
===========================

To load a CATIA V6 file, use :cpp:func:`A3DAsmModelFileLoadFromFile`.
The :cpp:struct:`A3DParamsLoadData` structure is used to customize the loading behavior:

.. code-block:: c

   A3DAsmModelFile* pModelFile = 0;

   A3DRWParamsLoadData sReadParam;
   A3D_INITIALIZE_DATA(A3DRWParamsLoadData, sReadParam);
   sReadParam.m_sGeneral.m_bReadSolids = true;

   // ... set other A3DRWParamsLoadData fields as necessary

   A3DAsmModelFileLoadFromFile("path/to/file.3dxml", &sReadParam, &pModelFile);

See :doc:`/guide/basic_operations/load_model` for more about loading model files.

.. _catiav6_tessellation:

Tessellation
============

The CATIA V6 reader accesses and interprets the tessellation data in the file.
CATIA V6 can contain tessellation in a few different forms.
Our reader can read XML and static tessellation, but dynamic tessellation is not supported.

.. _catiav6_brep:

B-rep
=====

The CATIA V6 reader supports import of B-rep data. However, there are some limitations.

For more information, please contact `Developer Support <https://developer.techsoft3d.com/developer-support/>`_.

.. _catiav6_pmi:

PMI
===

The CATIA V6 reader provides access to the PMI information within a 3DXML file. The PMI data is only presented in visual form. As such, a semantic definition is not available. 

The specific PMI types supported are listed below:

* Datum
* Datum Target
* Dimension
* Dimension (Basic)
* Dimension (Coordinate)
* Dimension (Cumulated)
* Dimension (Curvlinear)
* Dimension (Stacked)
* Distance
* Flags
* Feature Control Frame
* Geometrical Tolerance
* Note Object Attribute (Text)
* Note Object Attribute (Ditto)
* Roughness
* Weld

Markup linked items are supported with limitations.

Assembly
========

The full definition of the assembly tree is supported. However, we don't currently support incremental load for our CATIA V6 reader.

Views
=====

Two types of views are supported within CATIA V6:

* **Annotation views:** a view plane in addition to visibilities that are applied to the PMI entities,
* **Capture views:** a full camera definition, plus visibilities applied to PMI, visibilities and transformations that can be applied to components in the assembly and the optional definition of section planes.

HOOPS Exchange fully supports both types of views.


.. _catia_v6_misc:

Miscellaneous
=============

Construction geometries are handled by the reader.

Import Options Specific to CATIA V6
***********************************

None

Limitations
***********

No support for multiple sections views.

No support for markup links to edges. No support for links from markups defined in an assembly to items defined in parts. A link to a geometrical set is presented as links to the elements of the set.
