
####################################
A3DAdaptAndReplaceAllBrepInModelFile
####################################

.. c:function:: A3DStatus A3DAdaptAndReplaceAllBrepInModelFile(A3DAsmModelFile *pModelFile, const A3DCopyAndAdaptBrepModelData *psSetting)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DAdaptAndReplaceAllBrepInModelFile(:c:type:`~A3DAsmModelFile`\ \* **pModelFile**\ , *const* :c:struct:`~A3DCopyAndAdaptBrepModelData`\ \* **psSetting**\ )
   
   Entity Convert to NURBS facility.
   
   These are the steps performed, according to the settings in :c:struct:`~A3DCopyAndAdaptBrepModelData`\ :
   
   
   - For each face, the bearing surface is converted and then the 3D curves that are present
   - Surfaces are shrinked.
   - Cross-period UV curves are deleted if needed.
   - Faces are split at periodic seams and/or mid-parameter for closed surfaces.
   - Final UV curves are computed.
   - A second surface shrink is performed with new UVs.
   - Final 3D curves are computed.
   
   In case where ``psSetting->m_bContinueOnError``\ is ``A3D_TRUE``\ , the function does not return any error code, unless it is considered as a fatal error. In that case, if you wish to know when an error occurs, use :c:func:`~A3DAdaptAndReplaceAllBrepInModelFileAdvanced`\ instead. Then check its ``puiNbErrors``\ parameter.
   
   
      :c:func:`~A3DAdaptAndReplaceAllBrepInModelFileAdvanced`
   
   
   
      5.2
   
   
   
      When the function A3AdaptAndReplaceAllBrepInModelFile ends in error, you may try to set the parameters m_bSplitFaces and/or m_bForceComputeUV to ``A3D_FALSE``\ and retry the conversion.
   
   
   **Parameters**
   
   
      **pModelFile**\ : The source model file to adapt.
   
      **psSetting**\ : The structure that defines which types of B-rep you would like to convert to.
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




