######################
HOOPS Exchange - v5.20
######################

.. rubric:: Format Updates

A number of file formats were updated to support more current
software versions. These format updates include:

============== ===============
Format         Updated Version
============== ===============
**CATIA V5**   V5-62012 (R22)
**CATIA V6**   2013
**Solid Edge** ST5
============== ===============

.. rubric:: B-Rep Enhancements

.. rubric:: Global Copy and Adapt B-Rep

A new function has been added to globally adapt geometry and topology
to your modelers specific needs. This function provides the
capability to programmatically control the following repair
behaviors:

* Convert curves and surfaces to NURBS
* Shrink surfaces
* Remove UV curves that cross the bounds of periodic surfaces
* Recompute UV curves
* Recompute 3D curves

For more information, please see the
:func:`A3DAdaptAndReplaceAllBrepInModelFile` function.

.. rubric:: Physical Properties

A new function has been added to return the physical properties of a
B-Rep model. These properties include:

* Center of Gravity
* Surface Area
* Volume

For more information, please see the :func:`A3DComputePhysicalProperties`
function.

.. rubric:: Point in FACE classification

A function has been added to determine whether a point lies inside or
outside of a given FACE. For more information, please see the
:func:`A3DFaceUVPointInside` function.

.. rubric:: Geometry Simplification

A function has been added for globally simplifying spline curves and
surfaces to their analytic form (such as planes, cylinders, spheres,
etc.). For more information, please see the
:func:`A3DSimplifyModelFileCurveAndSurfaceAsAnalytic` function.

.. rubric:: PMI Enhancements

.. rubric:: Semantic PMI

The data structure for returning semantic P}{MI have been enhanced to
return the values of the semantic PMI data. This allows applications
to easily read the numeric data associated with feature control
frames and other PMI. For more information, please see the
:func:`A3DMDSemanticFeatureControlFrameGet` function.

.. rubric:: Associative Datum

A new structure has been added that contains direct links between
Datum and other associated entities such as other Datum and model
geometry. For more information, please see the
:struct:`A3DMDFCFDrawingRowData` data structure.

.. rubric:: Text Bounding Box

A function has been added to calculate the 2D bounding box (height
and length) for a text string. For more information, please see the
:func:`A3DGlobalFontTextBoxGet` function.

.. rubric:: Font File Path

A new data member for specifying the font file path has been added to
the :struct:`A3DFontData` structure.

.. rubric:: Import Enhancements

.. rubric:: Reading Files from Memory

A new function has been added to allow PRC data to be read directly
from a memory buffer. Please see :func:`A3DAsmModelFileLoadFromPrcStream`
for more details.

.. rubric:: IFC Enhancements

An import option has been added for the IFC reader. You can now
specify the code page to use when converting 3D text to Unicode. For
more information, please see the :struct:`A3DRSParamsIFCData` structure.
