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 |
||
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_25.8_16.dll
OdConstraints_25.8_16.dll
TD_AcisBuilder_25.8_16.dll
TD_Alloc_25.8_16.dll
TD_Br_25.8_16.dll
TD_BrepBuilderFiller_25.8_16.dll
TD_BrepBuilder_25.8_16.dll
TD_BrepRenderer_25.8_16.dll
TD_DbCore_25.8_16.dll
TD_DbRoot_25.8_16.dll
TD_Db_25.8_16.dll
TD_Ge_25.8_16.dll
TD_Gi_25.8_16.dll
TD_Gs_25.8_16.dll
TD_Root_25.8_16.dll
TD_SpatialIndex_25.8_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_25.8_16.dll
OdConstraints_25.8_16.dll
TD_AcisBuilder_25.8_16.dll
TD_Alloc_25.8_16.dll
TD_Br_25.8_16.dll
TD_BrepBuilderFiller_25.8_16.dll
TD_BrepBuilder_25.8_16.dll
TD_BrepRenderer_25.8_16.dll
TD_DbCore_25.8_16.dll
TD_DbRoot_25.8_16.dll
TD_Db_25.8_16.dll
TD_Ge_25.8_16.dll
TD_Gi_25.8_16.dll
TD_Gs_25.8_16.dll
TD_Root_25.8_16.dll
TD_SpatialIndex_25.8_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 |
Adobe PDFL SDK
lodepng
tcb-span
|
||
PDFThumbnail.dll |
||||
libprc2sc.dll |
||||
Poster generation |
D3DCompiler_47.dll |
|||
a3dpostergeneration.dll |
libjpeg |
|||
PDF Thumbnail |
PDFThumbnail.dll |
PDFium
abseil
|
||
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 |
Adobe PDFL SDK
lodepng
tcb-span
|
Adobe PDFL SDK
tcb-span
|
|
libpdfthumbnail.so |
||||
libprc2sc.so |
||||
Poster generation |
liba3dpostergeneration.so |
|||
PDF Thumbnail |
libpdfthumbnail.so |
PDFium | | PDFium
abseil | | abseil
|
||
TableToPDF (Deprecated) |
libQtCore.so |
|
||
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.