:orphan:

#################
Solid Edge Reader
#################

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

+------------------------------------------------------------------------------+
|                          **Solid Edge**                                      |
+---------------------+-------------------+------------------------------------+
| **File Extension**                      | ASM, PAR, PWD, PSM                 |
+---------------------+-------------------+------------------------------------+
|  **Supported versions**                 | 1 to 20, ST1 to ST10, 2019 to 2025 |
+-----------------------------------------+------------------------------------+
| **Platforms**                           | |wy| |ly| |my| |an| |iy|           |
+-----------------------------------------+------------------------------------+
| :ref:`sle_tessellation`                 | |c_green| Supported (computed)     |
+-----------------------------------------+------------------------------------+
| :ref:`sle_brep`                         | |c_green| Supported                |
+-----------------------------------------+------------------------------------+
| **PMI**                                 | |c_red| Unsupported                |
+-----------------------------------------+------------------------------------+

Originally developed by Siemens Digital Industries Software, Solid Edge is a powerful 3D CAD software portfolio widely used in the manufacturing, engineering, and architecture industries.
Known for its robust modeling capabilities and synchronous technology, Solid Edge enables precise and efficient design of complex products.
Its proprietary file formats ensure detailed and accurate representation of 3D models, making it ideal for advanced manufacturing and collaborative engineering projects.

Our support for Solid Edge covers reading most versions of the format in B-rep.

Solid Edge files usually have one of the following file extensions: *.par*, *.asm*, *.dft*, or *.cmp_xml*.


How to Import from Solid Edge
=============================

To load a Solid Edge file, use :cpp:func:`A3DAsmModelFileLoadFromFile`.
The :cpp:struct:`A3DParamsLoadData` structure is used to customize general loading behavior.
Additionally, the :cpp:struct:`A3DRWParamsSolidEdgeData` structure can be used to specify load options specific to the Solid Edge format.
This structure is available as a field of ``A3DParamsLoadData``:

.. code-block:: c

   A3DAsmModelFile* pModelFile = 0;

   A3DRWParamsLoadData sReadParam;
   A3D_INITIALIZE_DATA(A3DRWParamsLoadData, sReadParam);
   sReadParam.m_sGeneral.m_bReadSolids = A3D_TRUE;

   // Configuration specific to Solid Edge
   sReadParam.m_sSpecifics.m_sSolidEdge.m_bLoadAllConfigsData = A3D_TRUE;

   // ... set other A3DRWParamsLoadData fields as necessary

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


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


.. _sle_tessellation:

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

HOOPS Exchange computes tessellation based on the B-rep in the model file.


.. _sle_brep:

B-rep
=====

Solid Edge uses Parasolid as its core geometry engine.
Therefore, the reading of the B-rep in our Solid Edge reader is based on our :doc:`Parasolid Reader </start/format/parasolid_reader>`.
This allows you to query the full topological and geometric model defined in a Parasolid file.

Our reader supports the following geometries from Solid Edge:

* **Surfaces**: Blend surface, B-spline surface, cone, cylinder, offset surface, plane, sphere, revolution surface, swept surface, torus.
* **Curves**: B-spline, circle, ellipse, intersection curve, line, UV curve.

HOOPS Exchange provides evaluators that let you directly query all the geometry types available in Parasolid.

Additionally, you can ask HOOPS Exchange :doc:`to approximate any specific geometry </guide/geometry/approx_as_analytics>` and :doc:`provide it in a standard NURBS form </guide/geometry/convert_brep_to_nurbs>`.



Materials
=========

The Solid Edge reader supports generic material properties, with the exception of elongation factor.


Unsupported
===========

Views and PMI are not supported by HOOPS Exchange Solid Edge reader.
