
###########################
A3DAsmModelFileLoadFromFile
###########################

.. c:function:: A3DStatus A3DAsmModelFileLoadFromFile(const A3DUTF8Char *pcFileName, const A3DRWParamsLoadData *pLoadParametersData, A3DAsmModelFile **ppModelFile)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DAsmModelFileLoadFromFile(*const* :c:type:`~A3DUTF8Char`\ \* **pcFileName**\ , *const* :c:struct:`~A3DRWParamsLoadData`\ \* **pLoadParametersData**\ , :c:type:`~A3DAsmModelFile`\ \*\* **ppModelFile**\ )
   
   Load an ``A3DAsmModelFile``\ from a physical file, returning a handle to the new model file.
   
   Successfully calling this function will always create a new model file, even if the call is made several times with the same input path. Once loaded, a handle to the new model file is stored in ``ppModelFile``\ and you can query its content with ``A3DAsmModelFileGet``\ .
   
   
   ::
   
      A3DRWParamsLoadDataparameters=A3D_MAKE_DATA(A3DRWParamsLoadData);
      A3DAsmModelFile*model_file=A3D_NULL_HANDLE;
      
      A3DStatusresult=A3DAsmModelFileLoadFromFile(
      "/path/to/file.stl",&parameters,&model_file
      );
      
      assert(result==A3D_SUCCESS);
      assert(model_file!=0);
   
   **Parameters**
   
   
      **pcFileName**\ : The system path to the input file. Must be a valid UTF-8 string.
   
      **pLoadParametersData**\ : A set of options used to customize the behaviour of the loading.
   
      **ppModelFile**\ : A pointer to the handle of the new model file, in case of success.
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ or an error code in case of failure.
   
   




