#########################################
Creating Representation Item PRC Entities
#########################################

The Exchange API Reference groups the PRC entities that specify individual objects present in the CAD file into the representation item module.
Representation items define a particular aspect of the geometric data.
The B-rep model representation item is one of the PRC entities available for packaging distinct 3D objects.
Some of the other representation items include set, point set, poly B-rep model, and polywire.

* Declare a pointer to a B-rep model entity.

.. code-block:: c

   A3DRiBrepModel* pBrepModel = NULL;

* Create a pointer to a populated topology B-rep data entity. (:doc:`building_prc_4`).
  The `createTopoBrep` function in the following example is a private function that returns a reference to a populated topology B-rep data entity.

.. code-block:: c

   A3DTopoBrep* p = createTopoBrep();

* Declare and initialize a B-rep model data structure, and set its member values. In the following example, the `m_pBrepData` member references the B-rep data entity created in the previous step, and the `m_bSolid` member is set to `FALSE`, indicating that the B-rep model is a shell.

  .. code-block:: c

   A3DRiBrepModelData sData = A3D_MAKE_DATA(A3DRiBrepModelData);
   sData.m_pBrepData = p;
   sData.m_bSolid = FALSE;

* Package the B-rep model data as a PRC entity by invoking the `A3DRiBrepModelCreate` function. The first argument is a pointer to the B-rep data structure, and the second is a pointer to the B-rep model created in Step 1.

  .. code-block:: c

   ASInt32 iRet=A3DRiBrepModelCreate(&sData, &pBrepModel);

