
    'j-
                        d dl mZ d dlmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZ ddgZddZddZddZddZddZddZdS )     )annotations)TextION)Drawing)
Modelspace)	TagWriterAbstractTagWriterexport_fileexport_streamdocr   filenamestr | os.PathLikereturnNonec                V    t          j        |ddd          }t          | |           dS )zExports the specified DXF R12 document, which should contain content conforming
    to the ASTM-D6673-10 standard, in a special way so that Gerber Technology applications
    can parse it by their low-quality DXF parser.
    wtascii
dxfreplace)modeencodingerrorsN)ioopenr
   )r   r   fps      S/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/addons/gerber_D6673.pyr	   r	      s2    
 
w|	L	L	LB#r    streamr   c                    | j         t          j        j        k    rt          j        d          t          |dt          j        j                  }t          | |           dS )z>Exports the specified DXF R12 document into a `stream` object.z only DXF R12 format is supportedF)write_handles
dxfversionN)r   ezdxfconstDXF12DXFVersionErrorr   _export_sections)r   r   	tagwriters      r   r
   r
      sW     ~***#$FGGG&%+BSTTTIS)$$$$$r   r%   r   c                    t          |           t          | |           t          |                                 |           d S )N)_export_header_export_blocks_export_entities
modelspace)r   r%   s     r   r$   r$   #   s@    93	"""S^^%%y11111r   c                \    |                      d           |                     dd           d S )Nz  0
SECTION
  2
HEADER
r   ENDSEC)	write_str
write_tag2)r%   s    r   r'   r'   )   s3    5666H%%%%%r   c                    |                     d           | j        D ]}|j        r|                    |           |                    dd           d S )Nz  0
SECTION
  2
BLOCKS
r   r,   )r-   block_recordsis_block_layoutexport_block_definitionr.   )r   r%   block_records      r   r(   r(   /   sg     5666) < <' 	<00;;;H%%%%%r   mspr   c                    |                     d           | j                            |           |                    dd           |                    dd           d S )Nz  0
SECTION
  2
ENTITIES
r   r,   EOF)r-   entity_space
export_dxfr.   )r4   r%   s     r   r)   r)   A   s`    7888	***H%%%E"""""r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r%   r   r   r   )r%   r   r   r   )r4   r   r%   r   r   r   )
__future__r   typingr   osr   r    ezdxf.documentr   ezdxf.layoutsr   ezdxf.lldxf.tagwriterr   r   __all__r	   r
   r$   r'   r(   r)    r   r   <module>rA      s   # " " " " "       				 				  " " " " " " $ $ $ $ $ $ > > > > > > > >/
*   % % % %2 2 2 2& & & && & & &$# # # # # #r   