TECHNICAL OVERVIEW
HOOPS Publish is a software development kit which enables developers to easily author or read 3D data from the industry standard PDF format. It is the only SDK in the market based on the same technologies used in Adobe Reader and as a result offers developers 100% compatibility with Adobe Reader and the Acrobat family of products. Developers can author advanced, interactive 3D PDFs by using PDF templates or by creating PDF documents directly via the HOOPS Publish API.
The 3D data can be defined directly via an API or by providing a 3D file. The API can also be used to enrich the data coming from a file. Examples of enriching the data could include adding Product Manufacturing Information [PMI], Javascript, or Animation data.
HOOPS Publish can create a document in any of Acrobat's supported 3D formats (U3D, PRC and PDF). An unlimited number of images and text can be added. If PDF is chosen as the file format, the developer can use the default PDF document or provide a customized PDF template.
The preferred way of defining your 3D data is via an API however you can also do so by providing a PRC, U3D or VRML file. When the data is embedded in the PDF document you have a choice of saving it as either U3D or PRC data. PRC is Adobe's preferred 3D format and is a more engineering focused format. A more detailed review of the PRC file format can be found below.
Developers who want to embed native CAD formats directly into a PDF can use the HOOPS Exchange technology in conjunction with HOOPS Publish to do this. For a complete list of HOOPS Exchange supported file types, see the HOOPS Exchange supported file formats page.
When imported into HOOPS Publish, all of the rotation, zoom, and pan controls are already in place. The end-user is able to manipulate the model in a standard way with no additional effort from your developers.
In addition to encapsulating a 3D model in a context that can be manipulated via pan, zoom, and rotation, HOOPS Publish also allows the developer to add the following elements to the PDF document:
You have full control over the position, size, and formatting of these elements.
PDF templates can be used if you want to create documents which have interactive elements or if your document has sophisticated formatting needs, such as displaying tabular data. Templates also allow you to include interactive elements for interactivity. An interactive document contains familiar GUI widgets which can be programmed to affect other parts of the document. For example, if your document needs to have a button which causes an object to be highlighted in the 3D window, a PDF template is an appropriate choice. Through templates, you can create an unlimited number of tables and text boxes which you can populate dynamically. These widgets support advanced font styling characteristics which may also be desirable to your users.
You are provided with several sample templates with the HOOPS Publish package. However, you are free to create your own PDF templates for use with HOOPS Publish. You can also take any of the templates or images included on the HOOPS Publish media and use them as a basis for your own template. Using templates is completely optional.
Adobe Acrobat Standard and Acrobat Pro both allow you to create PDF templates. You can either start from a blank page or use an existing PDF document which you can then turn into a form via the Acrobat Forms menu. Once you've created a form you can add as many text fields and buttons to the document as you like. You should then save this file out as a PDF document and use it as your PDF template. The form objects you created will then be accessible to you via the HOOPS Publish API so that you can populate them with your data.
Product Manufacturing Information [PMI] refers to the lines, text, symbols, and other annotations that convey non-geometric information necessary for the real-world manufacturing of a product. PMI is fully supported by HOOPS Publish. Developers may use the PMI imported with a source file or can create it directly via our APIs.
You can also add any number of images and text to the PDF file to convey the necessary information.
The end user is able use the context menu to highlight datum surfaces associated with particular PMI:
HOOPS Publish gives the developer the ability to create a 3D PDF file with multiple pages, 3D windows, and Views. This allows you the option to distribute a single PDF with all required information instead of distributing a group of files.
Javascript is the language used to create interactive PDF documents. If you want to have a user action (a button click or otherwise) cause something to happen in the 3D window, you need to use the Acrobat 3D Javascript interface. HOOPS Publish allows users to embed their javascript into the PDF document. The HOOPS Publish media also includes a number of sample programs which include Javascript which developers can use for reference. These samples show how to do common tasks like change the rendering mode, highlight an object, or set a camera on a scene.
HOOPS Publish lets you query the PDF unique identifiers for all the objects in the 3D model. These unique identifiers can then be used in a your Javascript code to do a variety of tasks like highlighting specific objects, moving objects in the 3D scene or implementing advanced animations.
Developers can support animation in one of two ways. First, they can provide a U3D file which already contains an animation. Secondly, a developer can embed Javascript within the PDF document which implements animation. The SDK provides the ability to find the unique identifiers of 3D objects which can be used to write sophisticated animations.
HOOPS Publish allows developers to create 2D image snapshots of the 3D model. These images can be predefined or can be created from user defined positions and of a user defined width and height. This allows developers to create poster images for the 3D window and to also use these images for other reasons in other portions of the document.
Developers can password-secure their PDF documents. This is based on the standard password security mechanism available in Acrobat. Thus, users will be presented with a very familiar interface for unlocking the document.
The PDF document has 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. See the PRC File Format section below for further information on this topic.
The toolkit uses Adobe PDF library to create the PDF data and so the security and compression provided is similar to that available in the Acrobat product. Developers can also attach files to the PDF document. This could be used, for example, by a developer who wishes to include the original CAD data in the PDF document.
The PDF file version generated is 1.6, which is compatible with Adobe Reader 7.0 and above. But there's also a limiting factor regarding 3D data which is the format chosen for the 3D inside:
PRC format stands for Product Representation Compact Format. PRC is a highly accurate and highly compressed format for describing 3D CAD models including assemblies and product manufacturing information (PMI). A PRC file is a sequential binary file, written in a portable way.
The PRC format is an openly published format subject to ISO certification ISO/AWI 14739-1.
PRC supports PDF-based documentation workflows and can also be used as an independent 3D visualization file format. By using PRC, documents can be created that are interoperable with Computer Aided Manufacturing (CAM) and Computer Aided Engineering (CAE) applications. PRC supports documentation requirements for design reviews as well as distribution of detailed design documentation to supply chains. In addition, its use can help support regulatory mandates which require the use of open standards.
Specifically, PRC supports the following data forms:
PRC is currently used in 3D documentation workflows for several large industries, including aerospace, automotive, and architecture. The manufacturing industry has come to rely on PDF for the exchange of manufacturing documentation, distribution of service and parts manuals, and capture and submission of regulatory documentation.
The release of PRC to ISO has accelerated innovation around PRC, driving even broader adoption of PRC, and is helping to ensure that PRC evolves to meet the 3D documentation needs of product manufacturing and related industries.
While there are a number of other 3D file formats, PRC integrates well with document formats such as PDF and XML.
Specifically, PRC supports:
PRC has direct support for a wide variety of high order primitives that correspond to those used by CAD applications. This permits more of the original design intent of the file to be retained. Compared to other 3D file formats, PRC retains more information about the product structure and relationships defined in the original design application. Other 3D formats take a more general or display-oriented approach to product structure. This may make it harder or impossible to reconstruct aspects of the original design relationships needed to support “manufacturing from a file” or maintenance workflows.
PRC captures meshes and compresses them far more efficiently than native CAD formats. Files containing both precise geometry and tessellated geometry can be significantly smaller when converted to PRC. This results in great benefits when transporting and storing the data, particularly over limited bandwidth or to wider groups of reviewers and consumers of this data. Even large 3D models can be easily shared over email.
PRC can represent Product Manufacturing Information (PMI), which is used to primarily communicate the full design intent to suppliers and their shop floors. Without PMI embedded in the file format, OEMs are required to send many 2D drawings to their suppliers to communicate the full design intent. The use of PRC can reduce the need to create 2D drawings from 3D models for distribution to the supply chain.
In December 2008 Adobe Systems released the PRC format to the AIIM (http://www.aiim.org). AIIM is an ANSI (American National Standards Institute) accredited standards development organization. AIIM also holds the Secretariat for the ISO (International Standards Organization) committee focused on information management compliance issues, TC 171. TC 171 is the ISO committee that developed the existing ISO standards relating to Adobe PDF/A and PDF/E. Accordingly, AIIM is an authority that ANSI uses to submit proposed standards to ISO.
In June 2010 Adobe transitioned future development of the PRC standard to Tech Soft 3D, who is committed to working together with AIIM to develop the PRC specification as an open ISO-certified standard. The current expectation is that the standard will have completed the ISO process and be a formal standard in September, 2013.
Files stored in the PRC format can be highly compressed. A compressed PRC file written by HOOPS Exchange can be typically 100 times smaller than the original proprietary CAD file and is typically three times smaller than U3D, a legacy 3D format still used in PDF.
Regular compression refers to directly representing the CAD data without loss or transformation from the original CAD system. Regular compression includes:
Both parametric and tessellated geometry can be stored in a compressed form in the PRC file to a specified physical tolerance relative to the original shape. This tolerance is typically 0.001mm for parametric data and 0.01mm for tessellated data.
For NURBS data knot vectors, multiplicities, control points and weights are all stored in a compressed format. NURBS can also be approximated using simpler canonical surface forms such as planes and cylinders. For tessellated data triangle meshes, vertex coordinates, normals and textures are all compressed.
A variety of lossy techniques are used including variable coordinate basis, elimination of redundant coordinates and storage of floating point numbers in reduced numbers of bits depending on required precision.