
################
A3DPDFGetBOMInfo
################

.. c:function:: A3DStatus A3DPDFGetBOMInfo(A3DAsmModelFile *pModelFile, A3DRWParamsPrcWriteHelper *pPrcWriteHelper, A3DBool bHierarchical, A3DInt32 *piNbElements, A3DPDFBomElementInfoData **ppBomElementInfo, A3DPDF3DNodesReferencesData **pp3DNodesReferences)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DPDFGetBOMInfo(:c:type:`~A3DAsmModelFile`\ \* **pModelFile**\ , :c:type:`~A3DRWParamsPrcWriteHelper`\ \* **pPrcWriteHelper**\ , :c:type:`~A3DBool` **bHierarchical**\ , :c:type:`~A3DInt32`\ \* **piNbElements**\ , :c:struct:`~A3DPDFBomElementInfoData`\ \*\* **ppBomElementInfo**\ , :c:struct:`~A3DPDF3DNodesReferencesData`\ \*\* **pp3DNodesReferences**\ )
   
   Function to automatically compute a bill of material (BOM) from a modelfile.
   
   The function returns an array of elements in the BOM. Each element is the set of components in the assembly associated with the part.
   
   **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
   
   




