
    h-
                        S SK Jr  S SKJr  S SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJrJr  SS/rSS	 jrSS
 jrSS jrSS jrSS jrSS jrg)    )annotations)TextION)Drawing)
Modelspace)	TagWriterAbstractTagWriterexport_fileexport_streamc                H    [         R                  " USSSS9n[        X5        g)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
   )docfilenamefps      K/var/www/html/env/lib/python3.13/site-packages/ezdxf/addons/gerber_D6673.pyr	   r	      s     
 
w|	LB#    c                    U R                   [        R                  R                  :w  a  [        R                  " S5      e[        US[        R                  R                  S9n[        X5        g)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   stream	tagwriters      r   r
   r
      sL     ~~***##$FGG&%++BSBSTIS$r   c                d    [        U5        [        X5        [        U R                  5       U5        g )N)_export_header_export_blocks_export_entities
modelspace)r   r"   s     r   r    r    #   s#    93"S^^%y1r   c                J    U R                  S5        U R                  SS5        g )Nz  0
SECTION
  2
HEADER
r   ENDSEC)	write_str
write_tag2)r"   s    r   r$   r$   )   s!    56H%r   c                    UR                  S5        U R                   H'  nUR                  (       d  M  UR                  U5        M)     UR	                  SS5        g )Nz  0
SECTION
  2
BLOCKS
r   r)   )r*   block_recordsis_block_layoutexport_block_definitionr+   )r   r"   block_records      r   r%   r%   /   sO     56))'''00; * H%r   c                    UR                  S5        U R                  R                  U5        UR                  SS5        UR                  SS5        g )Nz  0
SECTION
  2
ENTITIES
r   r)   EOF)r*   entity_space
export_dxfr+   )mspr"   s     r   r&   r&   A   sE    78	*H%E"r   )r   r   r   zstr | os.PathLikereturnNone)r   r   r!   r   r6   r7   )r   r   r"   r   r6   r7   )r"   r   r6   r7   )r5   r   r"   r   r6   r7   )
__future__r   typingr   osr   r   ezdxf.documentr   ezdxf.layoutsr   ezdxf.lldxf.tagwriterr   r   __all__r	   r
   r    r$   r%   r&    r   r   <module>r@      sG    #  	 	  " $ >/
*%2&&$#r   