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