:orphan:

###################
Autodesk DWF Reader
###################


.. rst-class:: format-title-block

+--------------------------------------------------------------------------+
|                        **Autodesk Design Web Format**                    |
+-----------------------------------------+--------------------------------+
| **File Extension**                      | DWF, DWFX                      |
+-----------------------------------------+--------------------------------+
| **Supported Versions**                  | Any                            |
+-----------------------------------------+--------------------------------+
| **Platforms**                           | |wy| |ly| |mn| |an| |iy|       | 
+-----------------------------------------+--------------------------------+
| :ref:`dwf_tessellation`                 | |t_green| Supported            |
+-----------------------------------------+--------------------------------+
| :ref:`dwf_brep`                         | |c_grey| Unsupported by format |
+-----------------------------------------+--------------------------------+
| :ref:`dwf_pmi`                          | |c_grey| Unsupported by format |
+-----------------------------------------+--------------------------------+

DWF is a lightweight CAD publishing format intended for design visualization and distribution. 
When read by HOOPS Exchange, it provides access to tessellated 3D objects and associated visual attributes, but does not expose full CAD model definitions.

A file does not need to have a particular extension to be read correctly by HOOPS Exchange. 
However, the file extensions of DWF files that you can expect to be loaded by HOOPS Exchange are:

* `.DWF`
* `.DWFX`

How to Import From DWF
======================

Reading ``Autodesk`` files follows the same pattern as other formats: configure load parameters, then call the standard load function.

To load an Autodesk DWF file, use :cpp:func:`A3DAsmModelFileLoadFromFile`.
The :cpp:struct:`A3DParamsLoadData` structure is used to customize the loading behavior:

.. code-block:: c

   A3DAsmModelFile* pModelFile = 0;

   A3DRWParamsLoadData sReadParam = A3D_MAKE_DATA(A3DRWParamsLoadData);
   sReadParam.m_sGeneral.m_bReadSolids = true;

   // ... set other A3DRWParamsLoadData fields as necessary

   A3DAsmModelFileLoadFromFile("path/to/file.dwf", &sReadParam, &pModelFile);

See :doc:`/guide/basic_operations/load_model` for more about loading model files.

.. _dwf_tessellation: 

Tessellation
============

Triangle data, along with RGBA color and texture information, is parsed and provided by HOOPS Exchange.

.. _dwf_brep: 

Boundary Representation (B-rep)
===============================

Boundary Representation is unsupported by DWF.

.. _dwf_pmi: 

Product Manufacturing Information (PMI)
=======================================

Product Manufacturing Information (PMI) is unsupported by DWF.

Assembly
========

Incremental load is unsupported for DWF.

Views
=====

Views are unsupported by DWF.

Miscellaneous
=============

DWF-specific Import Options
***************************

There are no import options specific to the DWF format.

Limitations
***********

* Reading DWF is supported only on Windows and Linux platforms.
* Only 3D objects are supported during import.