HOOPS Exchange Plugin


HOOPS Exchange is the leading CAD import library. It can import over 30 CAD file formats into your application with the HOOPS Exchange SDK for CAD data translation including CATIA®, SOLIDWORKS®, Inventor™, Revit™, Creo®, NX™, Solid Edge®.

The HOOPS Exchange plugin utilizes the full HOOPS Exchange SDK and provides tessellated model data from the supported CAD files. See the list of supported formats at: https://docs.techsoft3d.com/exchange/latest/start/supported-formats.html


The plugin will provide

  • Tessellated parts

  • Edges

  • Part colors

  • Part transparency

  • Part names

To use the HOOPS Exchange data provider plugin, you need your own version of the HOOPS Exchange libraries and a HOOPS license key with Exchange support. The license key and HOOPS Exchange library path must be set before opening a CAD file. For both EnvisionWeb and EnvisionDesktop, you can specify the CEW_TECH_SOFT_LICENSE_CODE and HOOPS_LIBRARY_PATH environment variables for this purpose.

Alternatively, for EnvisionDesktop, use the cee::imp::cae::ReaderSettings::addDataProviderSettings() to specify these options before opening a file.


The HOOPS Exchange plugin is built using HOOPS Exchange HOOPS Exchange 2023 SP1. You must use a binary compatible version! Also remember that HOOPS Exchange requires at least Visual Studio 2019 redistributable. (https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist)

HOOPS Exchange Data Provider Plugin has been developed using Data Provider Framework.

Use in Envision for Desktop

Load the HOOPS Exchange data provider plugin using loadDataProviderPlugin() or load multiple plugins at once using loadDataProviderPluginsFromWildcard().

Use the ReaderSettings::addDataProviderSettings() to specify the necessary options before opening a file.

The following options are supported by the HOOPS Exchange Data Provider:






HOOPS Exchange license key string



Path to folder containing HOOPS Exchange libraries (A3DLIBS.[dll|so]). If
left empty, the data provider plugin will look for the HOOPS Exchange
libraries in the executable folder and in the PATH.


for (size_t i = 0; i < cee::imp::cae::DataSourceCae::readerSettings().dataProviderSettingsCount(); ++i)
    cee::imp::cae::ReaderSettingsDataProvider& settings = cee::imp::cae::DataSourceCae::readerSettings().dataProviderSettings(i);

    if (settings.providerIdString() == "ExchangeProvider")
        settings.setStringValue("HOOPS_LIBRARY_PATH", "C:\\HOOPS_Exchange_Publish_2023_U1\\bin\\win64_v142");
        settings.setStringValue("HOOPS_LICENSE", "MyLicenseString");

Use in Envision Demo Analyzer Desktop

To use your data provider with CEETRON Demo Analyzer Desktop. When installed, the data provider plugins are in the DataProviders folder below the Analyzer executable. You can change this location by defining the environment variable CEE_DATA_PROVIDERS_FOLDER to point to the folder where your cdp_ExchangePlugin is located. Envision Demo Analyzer will load the data providers from the specified folder.

Envision Demo Analyzer expects the HOOPS Exchange binaries to be in the PATH or in the same folder as the Analyzer executable. To specify another location, set the environment variable CEE_HOOPS_EXCHANGE_FOLDER and specify the folder path to the HOOPS Exchange libraries (A3DLIBS.[dll|so]).

Use in Envision for Web

Data providers can be used with the RemoteModel server (UgServer). To load your data provider, set the CEW_UG_DATA_PROVIDER_FOLDER environment variable to point to the folder with your data provider. The UgServer will load all data providers in the specified folder. The data provider needs to comply to the following naming scheme:



cdp_ExchangePlugin.dll (Windows), cdp_ExchangePlugin.so (Linux)

The server will list the registered HOOPS Exchange data provider plugin when a file is opened.

Lastly, use the CEW_TECH_SOFT_LICENSE_CODE and HOOPS_LIBRARY_PATH environment variables for your UgServer to specify the license string and the path to a folder containing HOOPS Exchange libraries. An alternative to the CEW_TECH_SOFT_LICENSE_CODE variable is to specify a CEW_TECH_SOFT_LICENSE_FILE environment variable which points to a file containing the license string.