Distributing Your Application

Windows Redistributables

HOOPS Exchange being an explicitly 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.

Some of the 3rd-Party Softwares used for the core logic are also used in some of HOOPS Exchange’s readers and writers. Those have not been mentioned.

Component

Library file

Associated 3rd-Party Software

Core logic

A3DLIBS.dll
TfFontMgr.dll
TfKernel.dll
TFKGEOM.dll
TFUGEOM.dll
Boost
FreeType
LZMA
Nlohmann’s JSON
OpenNURBS SDK
PugiXml
STB Image
STB Image Write
TinyGLTF
TwoFish
ZLib
ZLib minizip

DL180ACE.dll

Adobe PDFL SDK
Boost
BZIP 2
Expat
ICCPROFLIB
ICU
JPEG
PNG
MoreFiles
MoreFilesX
Tiff
Zlib

DL180AGM.dll

DL180ARE.dll

DL180AXE9SharedExpat.dll

DL180AdobeXMP.dll

DL180BIB.dll

DL180BIBUtils.dll

DL180CoolType.dll

DL180JP2K.dll

DL180Libpdfl.dll

icudt73.dll

icuuc73.dll

HOOPS Exchange extension

Readers

3DXML

r3dxmlstep30.dll
Xvlstep30.dll

3MF

3mfstep30.dll

Lib3MF

ACIS

satstep31.dll

Autodesk 3DS

aistep30.dll

Assimp

dccste30.dll

CATIA V4

catstep30.dll

CATIA V5

cgrstep30.dll
cv5step30.dll

Creo

prostep30.dll

CGR

cgrstep30.dll

Collada

aistep30.dll

DWF

dwf30.dll
a3dpostergeneration.dll

libjpeg

DWG

OdBrepModeler_24.12_16.dll
OdConstraints_24.12_16.dll
TD_AcisBuilder_24.12_16.dll
TD_Alloc_24.12_16.dll
TD_Br_24.12_16.dll
TD_BrepBuilderFiller_24.12_16.dll
TD_BrepBuilder_24.12_16.dll
TD_BrepRenderer_24.12_16.dll
TD_DbCore_24.12_16.dll
TD_DbRoot_24.12_16.dll
TD_Db_24.12_16.dll
TD_Ge_24.12_16.dll
TD_Gi_24.12_16.dll
TD_Gs_24.12_16.dll
TD_Root_24.12_16.dll
TD_SpatialIndex_24.12_16.dll
TD_Zlib.dll
dwgstep30.dll
libBuffer.dll
oless.dll
tbb12.dll
tinyxml.dll
emfrdr.dll
All *.tx files except TB_*.tx









CS-Map
curl
DWFToolkit
FreeImage
FreeType
gdtoa
libexpat
LibJPEG
libJXR
LibOpenJpeg
LibPNG
LibRawLite
LibTIFF4
LibWebP
libxl
libxml2
minizip
oless
oneTBB
openCOLLADA
OpenExr
openssl
PCRE
pdfium
qpdf
sqlite
stsflib
tinyxml
U3D
UTF
wchar
xerces
zlib

FBX

aistep30.dll

Assimp

GLTF

glstep30.dll

I-deas

Ideastep30.dll

IFC

stepstep30.dll

JT

JTstep30.dll

IGES

igestep30.dll

Inventor

Invstep30.dll

Navisworks

nwstep30.dll

NX

ugstep30.dll

OBJ

aistep30.dll
dcctep30.dll

Assimp

Revit

OdBrepModeler_24.12_16.dll
OdConstraints_24.12_16.dll
TD_AcisBuilder_24.12_16.dll
TD_Alloc_24.12_16.dll
TD_Br_24.12_16.dll
TD_BrepBuilderFiller_24.12_16.dll
TD_BrepBuilder_24.12_16.dll
TD_BrepRenderer_24.12_16.dll
TD_DbCore_24.12_16.dll
TD_DbRoot_24.12_16.dll
TD_Db_24.12_16.dll
TD_Ge_24.12_16.dll
TD_Gi_24.12_16.dll
TD_Gs_24.12_16.dll
TD_Root_24.12_16.dll
TD_SpatialIndex_24.12_16.dll
TD_Zlib.dll
libBuffer.dll
oless.dll
rvtstep30.dll
tbb.dll
tinyxml.dll
All *.tx files









CS-Map
DWFToolkit
FreeImage
FreeType
gdtoa
libexpat
LibJPEG
libJXR
liblzma
LibOpenJpeg
LibPNG
LibRawLite
LibTIFF4
LibWebP
libxml2
minizip
oless
oneTBB
openCOLLADA
OpenExr
openssl
PCRE
pdfium
qpdf
sqlite
stsflib
tinyxml
U3D
UTF
wchar
xerces
zlib

Rhino

rdmstep30.dll

Opennurbs

Solid Edge

sestep30.dll

SolidWorks

slwstep30.dll

STEP

stepstep30.dll

STEP XML

stepxmlstep30.dll

STL

stlstep30.dll

U3D

u3dstep30.dll

VDA

Vdastep30.dll

VRML

wrlstep30.dll

XT

xtstep30.dll

Writers

3MF

w3mf.dll

Lib3MF

FBX

aistep30.dll

IGES

wiges.dll

JT

wjt.dll

OBJ

aistep30.dll

Assimp

SAT

wsat.dll

STEP

wstp.dll

STL

wstl.dll

U3D

wu3d.dll

VRML

wwrl.dll

XT

hepb.dll
wxt.dll

HTML and SCS export (64-bit only)

PDFParser.dll

PDFium
abseil
lodepng

libprc2sc.dll

HOOPS Communicator

Poster generation

D3DCompiler_47.dll

a3dpostergeneration.dll

libjpeg

TableToPDF (Deprecated)

QtCore4.dll
QtGui4.dll
QtNetwork4.dll
QtWebKit4.dll

Qt4

tabletopdf.dll

Component

Library file

Associated 3rd-Party Software

Linux

Linux NO DWG

HOOPS Publish core with HOOPS Exchange extension
(also contains ODA extension for Linux package)
libA3DLIBS-<version>.so
libA3DLIBS.so
Assimp
Boost
CS-Map
Curl
DWFToolkit
FreeImage
FreeType
Lib3MF
LibXl
libXML2
LZMA
Nlohmann’s JSON
Oless
oneTBB
OpenCollada
OpenNURBS SDK
OpenSSL
PCRE
PDFium
PugiXml
QPDF
STB Image
STB Image Write
TinyGLTF
TinyXML
TwoFish
UTF
Wchar
ZLib
ZMQ
Assimp
Boost
FreeType
Lib3MF
LZMA
Nlohmann’s JSON
OpenNURBS
PugiXml
STB Image
STB Image Write
TinyGLTF
TwoFish

libDL180ACE.so.18.0.4

Adobe PDFL SDK
Boost
BZIP 2
Expat
ICCPROFLIB
ICU
JPEG
PNG
MoreFiles
MoreFilesX
Tiff
Zlib
Adobe PDFL SDK
Boost
BZIP 2
Expat
ICCPROFLIB
ICU
JPEG
PNG
MoreFiles
MoreFilesX
Tiff
Zlib

libDL180AGM.so.18.0.4

libDL180ARE.so.18.0.4

libDL180AXE8SharedExpat.so.18.0.4

libDL180AdobeXMP.so.18.0.4

libDL180BIB.so.18.0.4

libDL180BIBUtils.so.18.0.4

libDL180CoolType.so.18.0.4

libDL180JP2K.so.18.0.4

libDL180pdfl.so

libicudata.so.73

libicuuc.so.73

HTML and SCS export (64-bit only)

libpdfparser.so

PDFium
abseil
lodepng
PDFium
abseil
lodepng

libprc2sc.so

HOOPS Communicator

HOOPS Communicator

Poster generation

liba3dpostergeneration.so

TableToPDF (Deprecated)

libQtCore.so

Qt4

Qt4

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

HOOPS Exchange’s Parasolid support

libphepb.so libpsbodyshop.so HEPBML.so

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 sub-folders.

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.

Note

As of HOOPS Publish 2024.2.0, TableToPDF is deprecated in favor of the new lightweight APIs, without external dependencies. See the Table From API Module reference for more information.