##########
SC and PRC
##########

In this chapter, we will discuss the relationship between the SC Format and PRC, which is the native model format of HOOPS Exchange.


What is PRC?
============

As mentioned above PRC is the native model format for HOOPS Exchange meaning that all native CAD files that Exchange supports are turned into PRC data structures during the conversion process. You can also use the Exchange API to create PRC models from scratch. PRC is also an ISO standard and is the underlying format behind 3D PDF.


What is HOOPS Exchange?
=======================

HOOPS Exchange is a set of software libraries that provide developers with the ability to read and write popular 2D and 3D formats from within their application. Exchange reads CAD data from the most popular 3D file formats and converts that 3D data to the PRC data format.


How does HOOPS Exchange and PRC relate to |HCNOW| and Stream Cache?
===================================================================

When developing |HCNOW| and the Stream Cache format, many of the CAD-related concepts were adopted from PRC and Exchange. One of the main paths to get CAD data into |HCNOW| is through HOOPS Exchange, which "powers" our conversion tools. The Stream Cache format essentially consists of two pieces; the optimized streaming ready "visualization" part, and the engineering focused product structure data which can be viewed as "PRC Light".

As you have seen in the last chapter, when using the "shattered" workflow, you will come in more direct contact with many of the concepts found in HOOPS Exchange. This is because we are leveraging the PRC XML format for storing product hierarchy information for shattered, as well as when exporting assembly tree information via our conversion tools.


PRC as an archive format
========================

If your workflow involves CAD conversion via our conversion tools, you should consider using PRC as your archival format. While the Stream Cache format extracts most of the relevant product structure information from a CAD model, it does not retain all its data, such as precise B-REP data and certain feature information. |HCNOW| also flattens and simplifies the model tree. In addition, PRC is an ISO certified format which makes it well suited as an archival format.

A typical workflow would be to convert your CAD model to both Stream Cache and PRC and treat the Stream Cache format as a non-permanent "Cache" while retaining the PRC file permanently (perhaps alongside the original CAD model). Generating a SC model from a PRC file is very fast because most of the CAD model conversion time is spent on translating the proprietary CAD format to PRC.


Using |HCNOW| in conjunction with HOOPS Exchange
================================================

If you require more granular access to the data in a CAD model or need some of the modeling related capabilities of HOOPS Exchange, you may want to directly interface with Exchange via its API.

If you are using the HOOPS Web Platform or HOOPS Platform, you have full access to not only the CAD Conversion capabilities of |HCNOW| which are powered by HOOPS Exchange, but can also use HOOPS Exchange directly.

We have provided a mechanism to map between Exchange entities and Stream Cache nodeids. You can find more information here: :doc:`Exchange SC Mapping </prog_guide/data_import/cad_conversion/converter_app/external_data/exchange-sc-mapping>`

To find out more about HOOPS Exchange please see the following link: `HOOPS Exchange <https://docs.techsoft3d.com/exchange/latest/build/technical_overview.html>`_

