HOOPS Exchange 2026.8.0

Technology Updates

Note

Upcoming Changes to Linux Binaries

HOOPS Exchange has upcoming changes related to how we distribute on GNU/Linux. The Linux binary will migrate from a single dynamic library to multiple dynamic libraries.

This aims to improve usability, flexibility and standard behaviour across operating systems and platforms.

Format Updates

Format Updated Version
Parasolid 39

See File Formats for the list of all supported formats.

Third-Party Library Updates

The following third-party libraries have been updated:

Library New Version
Nlohmann’s JSON 3.11.3

For more information about package content, see Acknowledgments and Distributing Your Application.

Platform Changes

iOS binaries are now distributed as shared libraries libA3DLIBS.26.8.0.dylib, libA3DLIBS.dylib (the symbolic link pointing to libA3DLIBS.26.8.0.dylib) and hepb.dylib. Please refer to distributing for more information about the iOS package content and usage.

Windows binaries no longer include TFUGEOM.dll. This legacy component has been removed from the package content.

Software Bill of Materials (SBOM):

Versioned SBOM artifacts are now available on demand in both SPDX 2.3 and CycloneDX 1.6 formats for all customer packages (except the ones under Related Technologies). This enhancement supports transparency, security review, and compliance workflows for our partners. A beta-version of the SBOM can be requested from this release onwards in order for partners to test integration into their CI/CD systems. In upcoming releases these SBOM files will be made available in the customer package directly. Please use the Support Portal to raise an info request to get the SBOMs needed.

Sample Build System

Since HOOPS Exchange 2026.6.0, the Linux and macOS packages no longer include standalone Makefiles for the samples. Build the samples with CMake instead.

See HOOPS Exchange 2026.6.0 and Building Code Examples.

New Features

JT Export Conforms to the JT Specification

As of HOOPS Exchange 2026.8.0, HOOPS Exchange exports fully compliant JT files.

JT files exported from HOOPS Exchange now meet stricter, safer and more reliable requirements, such as those of popular JT readers, including Siemens products starting with 2612 releases, and applications built on JT Open Toolkit 12.2 and later.

While JT files exported with earlier versions of HOOPS Exchange will still open in applications with less strict requirements, they may fail to open in applications implementing these stricter requirements.

To help you identify these files, the JT reader will report a warning in the log upon loading. A dedicated utility to update existing JT files to these new stricter requirements is planned for a future release. This utility will correct only the required data and leave everything else unchanged. While we complete and release this utility, you can re-export any affected files to JT with HOOPS Exchange 2026.8.0 or later, for example using the ImportExport sample. Re-exporting the JT files has the potential to change the file content, as the JT writer improves throughout releases.

See JT Specification Conformance.

JT Symbolic Thread Import Behavior Change

JT files can encode a threaded feature as a “Symbolic Thread” PMI entity: a lightweight point or polyline standing in for the real thread geometry. This entity used to be imported as a generic PMI markup. It is now imported as a point (kA3DTypeRiPointSet) or polywire (kA3DTypeRiPolyWire) representation item added to the part instead, matching how NX and JT2Go display it.

This geometry is now imported even when PMI reading is disabled (A3DRWParamsGeneralData.m_bReadPmis set to A3D_FALSE), since the thread data can only be recovered by parsing the PMI stream. As a result, code that iterates a part’s representation items may now see additional point or polywire items for JT files containing symbolic threads.

See JT Reader.

Creo Embedded Components Support

The Creo reader now supports embedded components, which are parts and sub-assemblies stored inside their parent assembly file. These embedded components include Creo Inseparable Assemblies, which are self-contained, embedded assemblies. Previously, Embedded Components were not imported and loading a file with this data could return a A3D_LOAD_MISSING_COMPONENTS error. Embedded Components are now imported as regular product occurrences, hence the assembly tree of Creo models containing Embedded Components may contain additional occurrences.

See Inseparable Assemblies and Embedded Components.

3DXML Capture Visibility Resolution Change

As of HOOPS Exchange 2026.8.0, capture visibility is resolved per piece of geometry rather than per product occurrence, and only for the pieces that differ from what’s visible by default, matching the 3DXML Player more closely.

A capture view can only show geometry that was loaded. If A3DRWParamsGeneralData.m_bReadHiddenObjects or A3DRWParamsGeneralData.m_bReadConstructionAndReferences is set to A3D_FALSE, capture views revealing hidden or construction geometry may no longer match the 3DXML Player.

See CATIA V6 / 3DExperience Reader.

Physical Properties Computation Behavior Change

A3DComputeModelFilePhysicalProperties() does not modify the input geometry anymore.

Previously, when A3DPhysicalPropertiesData.m_bUseGeometryOnRiBRep was set to A3D_TRUE, computing physical properties from B-Rep data automatically split faces at seams and computed UV parameterization on the input B-Rep, as if A3DAdaptAndReplaceAllBrepInModelFile() had been called with A3DCopyAndAdaptBrepModelData.m_bSplitFaces and A3DCopyAndAdaptBrepModelData.m_bForceComputeUV set to A3D_TRUE. This happened for both A3DComputeModelFilePhysicalProperties() and A3DComputePhysicalProperties().

As of 2026.8.0, the computation runs on an internal copy instead, and the input geometry is left untouched.

If your workflow relied on the above described implicit modification of the geometry, call A3DAdaptAndReplaceAllBrepInModelFile() explicitly with the same options to continue obtaining the same result.

See Converting B-Rep to NURBS.

CATIA V5: names of the geometrical sets without user-defined name

HOOPS Exchange names the geometrical sets that carry no user-defined name after their internal CATIA V5 type, for instance Open_body.1, whereas CATIA V5 displays Geometrical Set.1, Ordered Geometrical Set.1, External References, or Isolated External References. The new reading option A3DRWParamsCatiaV5Data.m_eGenericNames, set to kA3DCatiaV5GenericNamesDisplayed, returns the labels displayed by CATIA V5 in the model tree and in the feature tree. The default value keeps the historical names.

See CATIA V5 Reader for CATIA V5 assembly-tree naming, and A3DRWParamsCatiaV5Data for the other CATIA V5-specific read options.

Revit Loading Performance Improvement

Improved loading performance of large Revit files when views are read. The performance gains increase with the number of 3D views and elements in the model: large models with many 3D views can load more than ten times faster, while the loading times of small files are mostly unchanged.

See Revit Reader.

DWF Model Tree Names and Order

As of HOOPS Exchange 2026.8.0, the model tree of DWF and DWFX files is closer to the tree displayed by Autodesk viewers.

  • HOOPS Exchange matches each product occurrence with its object in the XML content of the DWF file more reliably. Product occurrences take the label of that object as their name, and its properties as attributes. Fewer product occurrences keep a numeric name or receive the name of another object.
  • Sibling product occurrences are sorted by their node number in the DWF graphics.
  • Unnamed product occurrences without child occurrences are removed when they are directly below the root product occurrence.

As a result, code that walks the assembly tree of a DWF file, or that finds product occurrences by name, may see different names, a different order of siblings, and fewer product occurrences.

See DWF assembly section.

API Changes

Documentation Changes

The glTF Writer page now has a Wireframe section clarifying the scope of A3DRWParamsExportGltfData.m_bExportEdgeWires.

The Autodesk DWF Reader page has a Model Tree Names and Order section that describes how HOOPS Exchange names and orders DWF product occurrences.

Deprecations

Fixed Bugs

Issue Description
SDHE-23916 Fixed unexpected behavior when importing multiple IFC files in a row
SDHE-23831 Fixed incorrect UTF8 text in PMI of JT files
SDHE-23808 Fixed missing triangles on some faces with grid-aligned tessellation
SDHE-23780 Fixed unexpected behavior in experimental tessellation at low angle tolerance
SDHE-23723 Added a CATIA V5 option to keep geometrical set names as shown in CATIA
SDHE-23649 Fixed incorrect visibility of hidden bodies in 3DXML views
SDHE-23593 Fixed symbolic thread curves incorrectly imported as PMI in JT files
SDHE-23518 Fixed incorrect pattern instances in some SolidWorks configurations
SDHE-23368 Fixed child parts wrongly excluded in nested Creo simplified representations
SDHE-23328 Fixed incorrect step value of SolidWorks equal-spacing circular patterns
SDHE-23279 Fixed missing semantic feature control frame values in STEP PMI export
SDHE-22911 Fixed missing meshes when exporting CATIA V5 scan bodies to Parasolid
SDHE-22903 Fixed wrong parts imported in SolidWorks assemblies
SDHE-22892 Fixed incorrect placement of Solid Edge adjustable components
SDHE-22841 Fixed hidden SolidWorks helix curves imported when hidden objects are off
SDHE-22815 Fixed DGN extrusion solids imported as open shells
SDHE-22814 Fixed DGN extrusion solids imported as open shells
SDHE-22632 Fixed missing textures when importing some Inventor files
SDHE-22540 Fixed incorrect tessellation of some periodic surfaces in Parasolid files
SDHE-22440 Fixed part deformation when exporting Inventor files to ACIS with Simplify
SDHE-22379 Fixed missing spheres when importing IGES files
SDHE-22079 Fixed loading of some STEP AP242 files exported from Inventor
SDHE-21967 Fixed incorrect placement of parts when importing Solid Edge files
SDHE-20007 Fixed DWF model tree nodes showing numeric IDs instead of part names
SDHE-19894 Fixed incorrect model tree structure when importing DWF files
SDHP-3115 Fixed incorrect DL180pdfl.dll file name in the Distributing page