HOOPS Exchange 2024
Version 2024.0
Format Updates
| Format | Updated Version |
|---|---|
| Solid Edge | 2024 |
| Parasolid | 36.0 |
See File Formats for the list of all supported formats.
32-bit support deprecation
Windows and Linux x86 binaries have been removed from the standard delivered packages. Please contact the Support team to get them.
They will not be available starting with HOOPS Exchange 2025.
CATIA V5: Publications Support
Since this version our support for reading CATIA V5 publications from CATIA files is no longer in beta state.
For more information look at our dedicated section in the Programming Guide.
JT: Support for Incremental Loading
The latest release introduces support for load struct only and incremental load workflows for the JT format. This enhancement ensures compatibility with the intended behavior and limitations observed in other formats that support similar features.
Notably, incremental load for JT format is now extended to include support for JT monolithic files, providing users with added flexibility in managing and loading their data.
See also
New Usability API
Introducing a more intuitive and efficient way to navigate model files, the New Usability API now offers a set of functions designed for seamless traversal.
The newly introduced entities, A3DTree and A3DTreeNode, present an abstract representation of a model file, enhancing usability through a standardized tree structure.
Explore the capabilities of these new functions in our dedicated programming guide section: Tree Traversal API.
To help you integrate these features seamlessly into your workflow, we have updated the following tutorials to showcase the use of these functions:
- Traverse CAD Structure (sample code: he_basic_viewer)
- Write a CAD Viewer (sample code: he_basic_viewer)
Documentation Change
We are pleased to announce a comprehensive update to the Getting Started section of the HOOPS Exchange Documentation. This update includes new tutorials and aims to provide a more user-friendly experience for developers.
More additional enhancements will be added in upcoming releases.
API Changes
- Android x86 binaries are no longer delivered.
- Support for material physical properties:
- A new field
m_dYieldStrengthhas been added to A3DMiscMaterialIsotropicData and is supported in our CATIA V5 reader. Also, the value of the Shear Modulus in our CATIA V5 reader was actually the value of the Yield Strength: this has been corrected as the Shear Modulus is not available in CATIA V5. - Three new fields
m_dTensileStrength,m_dThermalConductivityandm_dSpecificHeathave been added toA3DMiscMaterialIsotropicData. All the fields fromA3DMiscMaterialIsotropicDataare now supported in our NX reader. Some properties, such as Yield Strength, are sometimes expressed in a table as a function of temperature: by default, we retrieve the first value, i.e., the first line of the table.
- A new field
- Removed the unused
A3DMiscPhysicMaterialDatastructure. m_ppuiNormalIndicesPerFaceis removed fromA3DMeshData(point coordinates and normals now share the same indices array:m_puiVertexIndicesPerFace)- Renamed members:
- Renamed the
m_uiContraintsSizemember of theA3DAsmProductOccurrenceDatastructure tom_uiConstraintsSize. - In
A3DMeshDatam_ppuiPointIndicesPerFaceis renamedm_puiVertexIndicesPerFace(indices now are continuous) - In
A3DMeshDatam_ppuiTextureUVIndicesPerFaceis renamedm_puiTextureUVIndicesPerFace(indices now are continuous)
- Renamed the
- Added new structures and functions:
A3DRiComputeMeshDataParametersA3DRiComputeMeshDataParametershas been added to theA3DRiComputeMesh()functionA3DTreeComputeParametersA3DTreeCompute()A3DTreeGetRootNode()A3DTreeNodeGetChildren()A3DTreeNodeGetParent()A3DTreeNodeGetEntity()A3DTreeNodeGetName()A3DTreeNodeGetTransformation()A3DTreeNodeGetNetTransformation()A3DTreeNodeGetNetVisibility()A3DTreeNodeGetNetStyle()A3DTreeNodeGetGeometry()
API Deprecation
As a reminder these functions, structures, members and types are deprecated and will be removed in future versions of HOOPS Exchange, at the latest in HOOPS Exchange 2025:
m_iNbMultiProcessm_dMinimalTriangleAngleDegm_bSewBrepModelskA3DTessLODControlledPrecision- The whole draw module:
- kA3DDraw3D
- kA3DDrawMarkups
- A3DCallbackDrawPushMatrix
- A3DCallbackDrawPopMatrix
- A3DCallbackDrawMultMatrix
- A3DCallbackDrawBegin
- A3DCallbackDrawEnd
- A3DCallbackDrawSetTessellationPoints
- A3DCallbackDrawProject
- A3DCallbackDrawUnProject
- A3DCallbackDrawTriangle
- A3DCallbackDrawTriangleFan
- A3DCallbackDrawTriangleStripe
- A3DCallbackDrawTriangleOneNormal
- A3DCallbackDrawTriangleFanOneNormal
- A3DCallbackDrawTriangleStripeOneNormal
- A3DCallbackDrawTriangleTextured
- A3DCallbackDrawTriangleFanTextured
- A3DCallbackDrawTriangleStripeTextured
- A3DCallbackDrawTriangleOneNormalTextured
- A3DCallbackDrawTriangleFanOneNormalTextured
- A3DCallbackDrawTriangleStripeOneNormalTextured
- A3DCallbackDrawColor
- A3DCallbackDrawMaterial
- A3DCallbackDrawBeginMaterial
- A3DCallbackDrawEndMaterial
- A3DCallbackDrawGetDrawContext
- A3DCallbackDrawMarkupTriangle
- A3DCallbackDrawBeginFrameDraw
- A3DCallbackDrawEndFrameDraw
- A3DCallbackDrawBeginFixedSize
- A3DCallbackDrawEndFixedSize
- A3DCallbackDrawCylinder
- A3DCallbackDrawPolygon
- A3DCallbackDrawBeginLineWidth
- A3DCallbackDrawEndLineWidth
- A3DCallbackDrawPoint
- A3DCallbackDrawFont
- A3DCallbackDrawBeginLineStipple
- A3DCallbackDrawEndLineStipple
- A3DCallbackDrawSymbol
- A3DCallbackDrawPolyLine
- A3DCallbackDrawText
- A3DCallbackDrawPattern
- A3DCallbackDrawPicture
A3DDrawCallbacksDataA3DDrawInitCallbacks()A3DDraw()A3DDrawRepresentationItem()A3DDrawMarkup()A3DDrawGetBoundingBox()
A3DDisableHandleSIGSEGV()A3DEnableHandleSIGSEGV()A3DGetCurveAsAnalytic()A3DGetCurveAsAnalyticFromCoEdge()A3DGetSurfaceAsAnalytic()A3DProjectPointCloud2()A3DComputeOrthoHLROnModelFile()A3DComputeOrthoHLROnModelFile2()A3DAsmPartDefinitionFeatureTreesGet()A3DSurfBaseGetAsNurbs()A3DMkpRTFFieldDataA3DMkpRTFInit()A3DMkpRTFGetField()A3DMkpRTFDelete()A3DSimplifyModelFileCurveAndSurfaceAsAnalytic()A3DAsmProductOccurrenceUnload()m_usValidDisplayFields
Fixed Bugs
The list of fixed bugs can be found on the fixed bugs page.