
    hW                    h    S SK Jr  S SKJrJr  S SKJrJr  S SK	J
r
  SSKJrJrJrJr  S
S jrSS jrg	)    )annotations)castSequence)	DXFEntityBody)const   )r   
export_sat
export_sabloadc                   [        U [        5      (       d'  [        R                  " SU R	                  5        35      e[        [        U 5      nU R                  nUc  [        R                  " S5      eUR                  nU[        R                  :  a  [        R                  " SU 35      eU[        R                  :  a  [        U5      Ul        g[        U5      Ul        g)a  Store the :term:`ACIS` bodies in the given DXF entity. This is the
recommended way to set ACIS data of DXF entities.

The DXF entity has to be an ACIS based entity and inherit from
:class:`ezdxf.entities.Body`. The entity has to be bound to a valid DXF
document and the DXF version of the document has to be DXF R2000 or newer.

Raises:
    DXFTypeError: invalid DXF entity type
    DXFValueError: invalid DXF document
    DXFVersionError: invalid DXF version

invalid DXF entity N a valid DXF document is requiredinvalid DXF version )
isinstanceDXFBodyr   DXFTypeErrordxftyper   docDXFValueError
dxfversionDXF2000DXFVersionErrorDXF2013r
   satr   sab)entitybodiesbodyr   r   s        @/var/www/html/env/lib/python3.13/site-packages/ezdxf/acis/dxf.py
export_dxfr!   
   s     fg&&  #6v~~7G6H!IJJ D
**C
{!!"DEEJEMM!##&::,$GHHEMM!f%f%    c                   [        U [        5      (       d'  [        R                  " SU R	                  5        35      e[        [        U 5      nU R                  nUc  [        R                  " S5      eUR                  nU[        R                  :  a  [        R                  " SU 35      eUR                  (       a!  UR                  nU(       a  [        U5      $  / $ UR                  nU(       a  [        U5      $ / $ )a  Load the :term:`ACIS` bodies from the given DXF entity. This is the
recommended way to load ACIS data.

The DXF entity has to be an ACIS based entity and inherit from
:class:`ezdxf.entities.Body`. The entity has to be bound to a valid DXF
document and the DXF version of the document has to be DXF R2000 or newer.

Raises:
    DXFTypeError: invalid DXF entity type
    DXFValueError: invalid DXF document
    DXFVersionError: invalid DXF version

.. warning::

    Only a limited count of :term:`ACIS` entities is supported, all
    unsupported entities are loaded as ``NONE_ENTITY`` and their data is
    lost. Exporting such ``NONE_ENTITIES`` will raise an :class:`ExportError`
    exception.

    To emphasize that again: **It is not possible to load and re-export
    arbitrary ACIS data!**

r   r   r   )r   r   r   r   r   r   r   r   r   r   r   has_binary_datar   r   r   )r   r   r   r   binary_datatexts         r    load_dxfr'   (   s    2 fg&&  #6v~~7G6H!IJJ D
**C
{!!"DEEJEMM!##&::,$GHHhh$$  I xx:Ir"   N)r   r   r   zSequence[Body])r   r   returnz
list[Body])
__future__r   typingr   r   ezdxf.entitiesr   r   r   ezdxf.lldxfr   entitiesr
   r   r   r!   r'    r"   r    <module>r/      s#    # ! 5  8 8&<*r"   