Distributing Your Application

Windows Redistributables

HOOPS Exchange being an explicitely shared library, the impact occurs at runtime. Any application running HOOPS Exchange must have at least Visual Studio 2019 redistributable.

Binaries

HOOPS Exchange and HOOPS Publish share the same binaries folder. Not all binaries are used by both products; therefore, developers who want to minimize the size of their application should only include those items with the functionality they are using.

The following table lists the binaries in the _bin_ folder that are required for distributing a HOOPS Publish application. All items listed as “Core logic” must be included with your product - all others are optional. If you are a HOOPS Publish developer who also uses HOOPS Exchange, you must also include the relevant binaries from the HOOPS Exchange distribution list.

Windows

Component

Library file

Associated 3rd-Party Software

Core logic

A3DLIBS.dll

Assimp 5.2.5
Boost 1.76
FreeType 2.10.4
LZMA 19.00
Nlohmann’s JSON 3.9.1
OpenNURBS SDK 7.0.5
STB Image 2.23
STB Image Write 1.13
TinyGLTF 2.5.0
TinyXML 2.6.2
TwoFish
ZLib 1.2.12

TFKGEOM.dll

TFUGEOM.dll

Boost 1.76
FreeType 2.10.4
STB Image 2.23
STB Image Write 1.13
TinyXML 2.6.2
ZLib 1.2.12

TfFontMgr.dll

FreeType 2.10.4
Boost 1.76
TinyXML 2.6.2

DL180ACE.dll

Adobe PDFL SDK 18.0.4PlusP1

DL180AGM.dll

DL180ARE.dll

DL180AXE9SharedExpat.dll

DL180AdobeXMP.dll

DL180BIB.dll

DL180BIBUtils.dll

DL180CoolType.dll

DL180JP2K.dll

DL180Libpdfl.dll

TfKernel.dll

icudt67.dll

icuuc67.dll

FBX reader

aistep30.dll

3MF writer

w3mf.dll

Lib3MF 2.0.0

IGES writer

wiges.dll

JT writer

wjt.dll

STEP writer

wstp.dll

STL writer

wstl.dll

U3D writer

wu3d.dll

VRML writer

wwrl.dll

Extract PDF data for HTML export

PDFParser.dll

PDFium chromium/5418
abseil
lodepng

HTML and SCS export (64-bit only)

libprc2sc.dll

HOOPS Communicator

Poster generation

D3DCompiler_47.dll

a3dpostergeneration.dll

libjpeg 9e

TableToPDF

QtCore4.dll

Qt 4.8.2

QtGui4.dll

QtNetwork4.dll

QtWebKit4.dll

tabletopdf.dll

Linux

Component

Library file

Associated 3rd-Party Software

Core logic

libA3DLIBS-<version>.so*
libA3DLIBS.so
Assimp 5.2.5
Boost 1.76
FreeType 2.10.4
LZMA 19.00
Nlohmann’s JSON 3.9.1
OpenNURBS SDK 7.0.5
PDFium chromium/5418
STB Image 2.23
STB Image Write 1.13
TinyGLTF 2.5.0
TinyXML 2.6.2
TwoFish
ZLib 1.2.12

libDL180ACE.so.18.0.0

Adobe PDFL SDK 18.0.4PlusP1

libDL180AGM.so.18.0.0

libDL180ARE.so.18.0.0

libDL180AXE8SharedExpat.so.18.0.0

libDL180AdobeXML.so.18.0.0

libDL180BIB.so.18.0.0

libDL180BIBUtils.so.18.0.0

libDL180CoolType.so.18.0.0

libDL180JP2K.so.18.0.0

libDL180pdfl.so.18.0.0

libicudata.so.67

libicuuc.so.67

Extract PDF data for HTML export (Windows only)

libpdfparser.so

PDFium chromium/5418
abseil
lodepng

HTML and SCS export (64-bit only)

libprc2sc.so

HOOPS Communicator

Poster generation

liba3dpostergeneration.so

TableToPDF

libQtCore.so

Qt 4.8.2

libQtCore.so.4

libQtCore.so.4.8

libQtCore.so.4.8.2

libQtGui.so

libQtGui.so.4

libQtGui.so.4.8

libQtGui.so.4.8.2

libQtNetwork.so

libQtNetwork.so.4

libQtNetwork.so.4.8

libQtNetwork.so.4.8.2

libQtWebKit.so

libQtWebKit.so.4

libQtWebKit.so.4.9

libQtWebKit.so.4.9

libQtWebKit.so.4.9.2

libtabletopdf.so

Note

Linux NODWG package

If you are using Linux, the following 3rd-party licences are part of the Core binary:

  • CS-Map 14.20/15.10

  • Curl 7.75.0

  • FreeImage 3.18.0

  • FreeType 2.10.4

  • LibXl 3.8.2

  • Oless 3.12

  • OpenCollada 1.6.68

  • OpenSSL 1.1.1l

  • PDFium chromium/5418

  • QPDF 8.4.0

  • TBB 4.0

  • TinyXML 2.6.2

  • UTF (BSD-style)

  • Wchar 1.30.4.1

  • ZMQ 4.3.1

  • libXML 2.9.7

  • zlib 1.2.11

If you use the Linux NODWG package, the depedency to ODA is removed and the above depdencies are not part of libA3DLIBS.so.

Please note, HTML and SCS export are only available on 64-bit platforms.

Developers who are using a CAD import with HOOPS Publish may need to add additional DLLs in their binaries directory for integration purposes. See Distributing Your Application in the Exchange documentation for more information.

Linux developers: The bulk of HOOPS Publish is delivered as a single .so file, libA3DLIBS-<version>.so. A symbolic link named libA3DLIBS.so pointing to libA3DLIBS-<version>.so will also be included in the bin directory.

Resources

The resource directory is to be used by HOOPS Publish. It is advised to always include this directory in a HOOPS Publish distribution, to avoid unpredictable behavior on specific customer platforms. Only restricted minimal usage of HOOPS Publish that produces PDF files without any texts could be supported without the resource directory and its subfolders.

Also, resourceFont contains the Adobe MyriadCAD OpenType font which is provided with HOOPS Exchange and HOOPS Publish to ensure standard GD&T symbols are available. This font must be installed to ensure accurate display of PMI data. The MyriadCAD font may only be redistributed with HOOPS Exchange and HOOPS Publish enabled applications.

TableToPDF

TableToPDF is a free add-on for HOOPS Publish that enables the creation of HTML-based tables in PDF documents.

Certain functions in Publish require the TableToPDF add-on, including: A3DPDFTableCreate(), A3DPDFDefineSlideTable(), A3DPDFDefineSlideTable2().

TableToPDF uses third-party libraries that require LGPL conformance for distribution. TableToPDF can be downloaded at http://developer.techsoft3d.com/add-ons/tabletopdf/. TableToPDF binaries have to be redistributed in the same folder as HOOPS Publish binaries.