HOOPS Publish Technical Overview
HOOPS Publish is a powerful SDK that enables authoring of rich engineering data and model file export to a variety of industry-standard formats, including PDF, STEP, JT, and 3MF. The 3D data model at the core of HOOPS Publish is the ISO-certified format PRC (ISO 14739-1:2014), which provides support for engineering concepts like Assembly Tree, Topology & Geometry, Product Manufacturing Information, and Views.
Developers can define their 3D model via an extensive API or by providing a file, like STEP or JT. Once the model is defined, it's easy to export the model into any of the supported formats with the richness of the source data maintained.
HOOPS Publish is the only SDK based on the core technologies used in Acrobat Reader. HOOPS Publish has additional functionality that enables the creation of rich, interactive PDF documents. You can do this either by populating a pre-existing PDF template or by using the APIs to create a PDF from scratch. Extensive APIs are made available to add interactivity to the PDF document. For example, developers can add events to a document's text that, when clicked, will cause a particular part of the 3D model to be highlighted.
By leveraging and extending the built-in features of Adobe Reader and the PRC file format, HOOPS Publish enables developers to create advanced interactive 3D PDFs with minimal time and effort.
Defining a 3D Model
There are two methods for creating 3D models in HOOPS Publish: 3D data can be authored using the Publish API, or it can be imported from a number of native CAD file formats.
Depending on the import file format, 3D models in HOOPS Publish typically contain the following elements: assembly trees, boundary representation, tessellation, markup (such as PMI), views, and animations.
When a CAD model is loaded into HOOPS Publish, all of the rotation, zoom, and pan controls are already in place; this gives your end users a rich set of features for manipulating 3D models with no additional effort from your development team.
3D data can be defined directly through a CAD file; HOOPS Publish supports import via IFC, IGES, JT, SAT, STEP, XT, PRC, STL, VRML, and U3D formats.
Developers who want to embed other native CAD formats directly into a PDF (e.g., SolidWorks or CATIA files) can use HOOPS Exchange in conjunction with HOOPS Publish to perform file conversions. For a complete list of HOOPS Exchange–supported file types, please see the HOOPS Exchange supported file formats page.
By Direct API
HOOPS Publish can also be used to author a CAD model from scratch. For instance, it can be used to create geometry, faces, parts, assembly nodes, and, finally, a model file, complete with PMI and other metadata.
The Publish API creates 3D data using the PRC format, an open, ISO-certified file format directly supported by Adobe Acrobat.
PRC is capable of storing geometry in both precise and tessellated forms and is highly compressible, dramatically reducing file size for large 3D models.
Finally, the Publish API can be used to enrich the data coming from an imported file. This mode is often used to add Product Manufacturing Information (PMI) to an existing model. It can also be used to add metadata, animations, an exploded view, or to attach a file to a Technical Data Package.
A typical use case would involve building a PRC model from an imported Parasolid or STEP file. This model would then be traversed and enriched using our direct API, adding, for example, manufacturing data for each part in an assembly.
See ProductOccurenceEdit and RepresentationItemEdit for more information.
Exporting a 3D Model
3D models can be exported from HOOPS Publish to the following formats:
|Assembly Tree||B-rep||Tessellation||PMI||View||Props Validation|
† HTML and SCS export are only available on Linux & Windows 64 bit. For HTML and SCS, B-rep is only available for exact measurements (and not for faceted B-rep).
= this concept is not supported by this format
Visualizing and Interrogating a 3D Model in the Browser
HOOPS Publish can also export a monolithic HTML file that embeds all the required components so that the 3D model can be viewed in a browser even without a connection to a web server.
Creating Rich PDF Documents
In addition to encapsulating a 3D model in a context that can be manipulated via pan, zoom, and rotation, HOOPS Publish can be used to create rich documents. After all, PDF offers more than 3D visualization and manipulation – it's also a container for engineering data that might be used for documents such as RFPs or Engineering Releases.
With HOOPS Publish, developers can insert 3D, pictures, text, tables, and attach files (e.g., a Word doc or an Excel spreadsheet).
Creating Your PDF Document
Because HOOPS Publish is based on native Adobe technology, it can open any existing PDF file. These PDFs can be merged, enriched, or used as a template. It's also possible to create a PDF file from scratch.
Any existing PDF file can be used as a template, and if you're already generating PDF files in your application, you can enrich these PDFs with HOOPS Publish, replacing, for instance, simple 3D-on-a-page with an interactive 3D model that users can rotate, pan, and zoom.
The Publish API can retrieve any field inside a 3D PDF, such as field names and field positions, and then modify them. For instance, it can insert text into a text box, or change the icon of a button.
Handling Security, Attachments, and File Compression
With HOOPS Publish, developers can leverage Acrobat's standard security tools, offering users a familiar interface for unlocking password-secured PDFs or adding digital signatures.
The generated PDF document uses the standard file-wide compression that Adobe implements via the PDF Library SDK. Additionally, the PRC file format includes advanced compression to significantly reduce the size of the 3D data, often 20 to 100 times smaller than a native CAD file.
Lastly, it's possible to attach files to the PDF document. This feature is used, for example, by developers who wish to include the original CAD data in the PDF document.
Adding Interactivity to Your PDF
Interactive PDFs are frequently used for work instruction documents, training materials, or reports with interactive charts and graphs.
These PDFs typically make use of simple widgets like buttons, check boxes, list boxes, dropdowns, filters, or more advanced customized widgets like view carousels or sliding tables. By clicking one of these widgets or by selecting data in the 3D model, users can change the information displayed and replicate behavior of a native application or web page. This dynamic interface makes it possible to consolidate into a single page all of the information that would traditionally span dozens of PDF pages, while at the same time reducing the risk of errors often introduced during the document production process.
If you've defined a rich 3D model, HOOPS Publish can auto-generate PDF objects (such as a parts list or view carousel) to interact with the model.
These interactions are defined programmatically using the C++ API.
Tetra 4D Enrich
PDF templates generated using the Tetra 4D Enrich Acrobat plugin are a simple and easy way to add interactivity to your documents.
Tetra 4D Enrich templates support advanced functionality such as view carousels, but require no extra coding from your development team.
As a full-featured SDK built on top of Adobe Acrobat's native 3D technology, HOOPS Publish offers a workflow to meet just about every need. To help familiarize yourself with the available functionality, the samples project is a good place to start.