############
Building PRC
############

This section describes the process required to build a PRC file programmatically.
The example built includes B-rep.
If all of your models are loaded from existing files, you may skip this section.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   building_prc_1
   building_prc_2
   building_prc_3
   building_prc_4
   building_prc_5
   building_prc_6
   building_prc_7

HOOPS Exchange lets you create a representation item for a boundary representation that is optionally accompanied by tessellation data.
Boundary representations with or without tessellation data can represent curves, or open or closed solids.

For developers who have the ability to export ACIS, IGES, Parasolid, or STEP data from their application, the recommended approach for creating a boundary representation model is to build up the assembly tree using the Exchange APIs.
Then, for each part in the assembly, provide the definition in an ACIS, IGES, Parasolid, or SAT file.
This will avoid the need for developers to work at a very low level to define their boundary representation model and should be a fairly straight-forward implementation.
There is some minor pre-processing of the ACIS data that developers need to do prior to providing the data to HOOPS Exchange.
For directions on this please contact the HOOPS Developer Support team.

This section explains how to create a PRC file that represents a circular band (a co-edge) that is UV-mapped to a clear cylinder surface (pictured below).
More specifically, the solid in this 3D image contains a single face, which in turn contains a cylinder and a loop.
The loop contains a single co-edge that contains two circular curves.
The co-edge is UV-mapped to the cylinder.
The following images show the resulting image from different perspectives.

.. image:: /_assets/images/A3D_API_ProgGuide_22.1.jpg

