###################
HOOPS Exchange 2016
###################

New License Code
~~~~~~~~~~~~~~~~

HOOPS Exchange 2016 being a major release, the license code used
in previous versions will no longer work. Please generate a new license
code from the Tech Soft 3D `Developer Zone <https://developer.techsoft3d.com/hoops/exchange/downloads/latest/>`__.

File Reader Enhancements
~~~~~~~~~~~~~~~~~~~~~~~~

.. rubric:: Format Updates

============== ===============
Format         Updated Version
============== ===============
**Solid Edge** ST8
**SolidWorks** 2016
============== ===============

.. rubric:: Functionality Updates

.. rubric:: Creo

* The default behavior for loading a file with a family table has changed. Generic representations will no longer be loaded by default. See :doc:`/start/format/creo_reader` for details.
* New home view setting allows you to create a view that is equivalent to the state in which the file has been saved. See :member:`A3DRWParamsSpecificLoadData.m_sProE.m_bComputeHomeView`.
* Several bug fixes on reader and PMI
* Several enhancements related to memory leaks and PMI

.. rubric:: SolidWorks

* Several enhancements related to configuration, memory, and PMI
* Several bug fixes

.. rubric:: Inventor

* Several enhancements related to B-rep mode
* Several bug fixes
* Support added for using embedded tessellation instead of generating it from B-rep for Inventor file. See :doc:`/start/format/inventor_reader` for details.

.. rubric:: JT

* Support for JT file created from Daimler NX version (JT Version 10.0 DM 8.1.3.3)
* Enhancement density and PMI views

.. rubric:: CATIA V5

* Persistent IDs now supported
* Several enhancements related to reader performance
* Enhancement related to graphical PMI
* Enhancement related to markup linked items
* Several bug fixes

.. rubric:: NX

* Support for files created by NX Daimler version 10.0.4
* Several bug fixes to reader and PMI

.. rubric:: IGES

* Enhancement to orientation computation
* Several bug fixes

.. rubric:: Parasolid

* Support for persistent ID on topological entities
* Now supports connection between PMI and Parasolid B-rep
* Several bug fixes on both the reader and writer

.. rubric:: STEP, Solid Edge, PDF, IFC

* Several bug fixes to these readers

Enhancements
~~~~~~~~~~~~

* The HOOPS Exchange API will now avoid splitting parametric surfaces. You can now compute parametric curve that cross periodic surface boundaries. The result is better performance and a better overall model, as the topology of the B-rep doesn't change (previously, a split could cut a cylinder in two half cylinders).
* There are general improvements in performance and quality with our :func:`AdaptAndReplaceAllBrepInModelFile` function.
* HOOPS Exchange is now about to detect degenerate surfaces or continuous surfaces. See API functions :func:`A3DSurfIsDegenerated` and :func:`A3DSurfIsG1Continuous`.


* :func:`A3DMiscPKMapperGetPKEntitiesFromA3DEntity`
* :func:`A3DMiscPKMapperGetA3DEntitiesFromPKEntity`
* :func:`A3DSurfIsDegenerated`
* :func:`A3DSurfIsG1Continuous`
* :func:`A3DComputeOrthoHLROnModelFile2`
* :func:`A3DHLRRepresentationItemGet`
* :func:`A3DMkpLinkForAdditionalMarkupReferenceGet`



* :struct:`A3DMiscPhysicMaterialData`
* :struct:`A3DMiscMaterialFiberData`
* :struct:`A3DMiscMaterialHoneyCombData`
* :struct:`A3DMiscMaterialIsotropicData`
* :struct:`A3DMiscMaterialOrthotropic2DData`
* :struct:`A3DMiscMaterialOrthotropic3DData`
* :struct:`A3DMiscMaterialAnisotropicData`
* :struct:`A3DMaterialPhysicType`


* :struct:`A3DMiscPKMapper`
* :struct:`EA3DMDDimensionValueOption`
* :member:`A3DRWParamsInventorData.m_bUseTessForFile`
* :member:`A3DRWParamsPmiData.m_bAlwaysUseDefaultColor`
* :func:`kA3DMarkupIsNotRotatable`
* :struct:`A3DHLRRepresentationItem`
* :struct:`A3DProEFamilyTables`
* :member:`A3DRWParamsTranslateToPkPartsData.m_pMapper`
* :member:`A3DCopyAndAdaptBrepModelData.m_bAllowUVCrossingSeams`
* :member:`A3DCopyAndAdaptBrepModelData.A3DRWParamsProEData.m_eFamilyTables`
* :member:`A3DCopyAndAdaptBrepModelData.A3DRWParamsProEData.m_bBoolOpUseGenericIfNoTess`
* :member:`A3DCopyAndAdaptBrepModelData.A3DRWParamsProEData.m_bFlexCompUseGenericIfNoTess`
* :member:`A3DPromotedBodyUg.m_uiBaseTagOcc`
* :member:`A3DMaterialAndVisualisationInfos.m_ucType`
* :member:`A3DMDDimensionValueData.m_iOption`
* :member:`A3DMDDimensionValueData.m_dDeltaForMinMax`
* :member:`A3DRWParamsExportParasolidData.m_bExplodeMultiBodies`

* `A3D_TOOLS_INVALID_SECTION_PLANE`
* `A3DPDF_SLIDETABLE_SLIDER_ERROR`
* `A3DPDF_SLIDETABLE_TEXT_FIELD_ERROR`

Functional Changes
~~~~~~~~~~~~~~~~~~

* :member:`A3DAsmProductOccurrenceData.m_uiAssemblyMaterialAndVisualisationSetupSize` removed
* :member:`A3DAsmProductOccurrenceData.m_psAssemblyMaterialAndVisualisationSetup` removed


HOOPS Exchange 2015 Service Pack 2


.. rubric:: File Reader Enhancements

.. rubric:: Format Updates

============ ================
Format       Updated Version
============ ================
**Inventor** 2016
**CATIA**    V5-6 R2015 (R25)
============ ================

.. rubric:: Enhancements

.. rubric:: Creo

* Skeleton entities are now set as hidden by default, however, there is a new import parameter to set them as visible, if needed: `m_bHideSkeletons`.

.. rubric:: SOLIDWORKS

* Several enhancements related to configuration management
* Bug fixes

.. rubric:: Inventor

* Several enhancements related to B-rep
* Bug fixes

.. rubric:: JT

* Enhancement related to markup linked item
* Enhancement related to PMI cross highlighting with geometry
* Enhancement related to PMI filtering

.. rubric:: Solid Edge

* Enhancement related to assembly feature support
* Bug fixes

.. rubric:: CATIA

* Several performance enhancements with buffered data support
* Enhancements on graphical PMI data
* Enhancements on markup linked item
* Bug fixes

.. rubric:: NX

* Enhancements on tree structure
* Better support of reference sets
* Better support for PMI
* Bug fixes

.. rubric:: IGES

* Enhancements on orientation computation
* Bug fixes

.. rubric:: STEP

* Enhancements on orientation computation
* Bug fixes

.. rubric:: Functional Changes

* HOOPS Exchange on Windows can now be built with either Visual Studio 2012 and 2013 - you will have to provide the corresponding redistributable on the target machine. Visual Studio 2008 is no longer supported. On Linux, HOOPS Exchange is now built with gcc 4.8.2 and glib 2.5.

.. rubric:: Enhancements

* HOOPS Exchange now provides original file paths and located file paths using `A3DAsmProductOccurrenceGetOriginalFilePathName`.
* HOOPS Exchange now provides fields representing density. The density fields `A3DAsmProductOccurrenceData::m_dDensityVolumeUnit` and `A3DAsmProductOccurrenceData::m_dDensityMassUnit` have been designed to work with the following formats: CV5, NX, Creo, JT, SOLIDWORKS, SolidEdge, Inventor.
* HOOPS Exchange now offers a function to compute hidden lines, `A3DComputeOrthoHLROnModelFile`.
* A new function, `A3DMiscGetBoundingBox` enables you to compute the AABB of a native CAD file. This function works with the following formats: CV5, NX, JT, SOLIDWORKS, Solid Edge, Inventor.
* HOOPS Exchange now provides the function `A3DGetFileInformation` to get file information from CV5 or SOLIDWORKS files without the need to perform a full conversion.
* HOOPS Exchange now provides the function `A3DExtractFileThumbnail` to extract the file thumbnail image from CV5 or SOLIDWORKS files.
* HOOPS Exchange now provides new functions to easily access `A3DTopoBrepData` sub-items:

* :func:`A3DTopoBrepDataGetFaces`
* :func:`A3DTopoBrepDataGetEdges`
* :func:`A3DTopoFaceGetShell`
* :func:`A3DTopoLoopGetFace`
* :func:`A3DTopoCoedgeGetLoop`
* :func:`A3DTopoEdgeGetCoEdges`
* :func:`A3DTopoEdgeGetSurfaces`
* :func:`A3DTopoEdgeGetOrCompute3DCurve`
* :func:`A3DCrvEvaluatePointAndNormal`

* The HOOPS Exchange Parasolid direct export has been enhanced to better manage accurate edges for better performance.

* `Face_Self_Int` consistency issues have been reduced
* A new option to better respect the assembly structure has been added - :member:`A3DRWParamsExportParasolidData.m_BStringAssemblyStructure`



