
####################################
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
   
   




