##################
Technical Overview
##################

HOOPS Exchange is an SDK designed for the development of 3D engineering applications that require access to and reuse of 3D data created by **CAD** and **BIM** design applications. 

Through a single interface, HOOPS Exchange facilitates the **Import**, **Adapt**, and **Export** of 3D data from :doc:`more than 30 native and standard formats </start/supported-formats>`, including:

  * **MCAD space**: CATIA, NX, Creo, SOLIDWORKS, Inventor, Solid Edge, JT, STEP, glTF, OBJ, 3MF, IGES
  * **AEC/BIM space**: Revit, Navisworks, IFC, and DWG

The 3D data model at the core of HOOPS Exchange 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 CAD file such as 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.

Compatible with Desktop, Mobile, and Web platforms, HOOPS Exchange can **integrate seamlessly into various applications** in the CAD, CAE/Analysis, CAM, Manufacturing as a Service, CMM, PLM/Viewing, Digital Factory, Architecture, Civil Applications markets, and more.
It **addresses a variety of needs and workflows**, encompassing Visualization, Design, Analysis, Document Management, Collaboration, Design Review, Quotation, 3D Printing, Manufacturing, AR/VR, and beyond.

Featuring a versatile structure **capable of handling diverse data types** from various formats, HOOPS Exchange supports Assembly and Parts structures, Exact Geometry: Boundary Representation (B-rep) - Tessellation, Configurations, Meta-Data, Product Manufacturing Information (PMI), Views, Markups, Design Features, and more.

HOOPS Exchange is a highly customizable API available :doc:`on different development platforms </start/supported-platforms>`, designed to seamlessly integrate into your application, whether or not utilizing a modeling kernel.
It offers a **set of geometric functions** for querying your models and **adapting the geometry to meet your requirements**. 
The API can generate various types of tessellation, repair, sew, heal inconsistent geometries, adapt B-rep definition & surfaces for reuse by different modelers. Additionally, it can evaluate and project points on surfaces, compute Physical Properties, and can be paired with third-party libraries such as geometric kernels (Parasolid, ACIS, OpenCascade) or Mesh Repairs API (Polygonica) to enhance your market needs and workflow.

Finally, HOOPS Exchange enables you to **export your 3D model** in memory to the most common standard formats, including STEP, JT, 3D PDF, STL, glTF, and more.

Advanced Publishing to 3D PDF
=============================

The Advanced Publishing module can embed your model into a PDF file in full 3D. 

HOOPS Exchange is the only SDK with functions based on the core technologies used in Acrobat Reader. Advanced Publishing 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 Exchange enables developers to create advanced interactive 3D PDFs with minimal time and effort.

.. image:: /guide/publish/publish_architecture_diagram.png

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 loaded with Advanced Publishing typically contain the following elements: assembly trees, boundary representation, tessellation, markup (such as PMI), views, and animations.

After loading the model, 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.

Discover More
=============

If you want to know more about HOOPS Exchange, we invite you now to delve into the :doc:`CAD formats supported by HOOPS Exchange </start/supported-formats>`.
