.. _group__a3d__publish__bom__module:

#####################
BillOfMaterial Module
#####################

**(HOOPS Publish Advanced)** \ Module to calculate a BOM on a modelfile. 

This module describes the functions and structures that allow you to calculate a Bill Of Material on a modelfile. 

**Parameters**


   **pModelFile**\ : The model file to work with. 

   **pPrcWriteHelper**\ : Used to get PRC data such as unique identifiers for PRC nodes. 

   **bHierarchical**\ : True if the BOM is hierarchical, false if it is flattened. 

   **piNbElements**\ : The number of elements in the BOM. In a bom table, it would be the number of lines. 

   **ppBomElementInfo**\ : Array of details of the elements in the BOM. 

   **pp3DNodesReferences**\ : Array of details of the node references for elements in the BOM.


**Returns**


   A3D_SUCCESS in case of success or an error code


.. rst-class:: kind-group kind-record

.. rubric:: Structures
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:struct:`~A3DPDF3DNodesReferencesData`
* :c:struct:`~A3DPDFBomElementInfoData`

.. rst-class:: kind-group kind-function

.. rubric:: Functions
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:func:`~A3DPDFGetBOMInfo`
* :c:func:`~A3DPDFFreeBOMInfo`

.. toctree::
   :maxdepth: 1
   :hidden:

   ../structures/A3DPDF3DNodesReferencesData
   ../structures/A3DPDFBomElementInfoData
   ../functions/A3DPDFGetBOMInfo
   ../functions/A3DPDFFreeBOMInfo


