
    BPc:                         d dl mZmZmZ d dlZd dlZd dlZd dlmZ dZ	dZ
 G d dej                  Zedk    r e                                             dS dS )	    )absolute_importprint_functionunicode_literalsN)	cspsubdivz 0 
SECTION
 2 
HEADER
 9 
$ACADVER
 1 
AC1009
 9 
$EXTMIN
 10 
 0 
 20 
 0 
 9 
$EXTMAX
 10 
 8.5 
 20 
 11 
 0 
ENDSEC
 0 
SECTION
 2 
ENTITIES
z 0 
ENDSEC
 0 
EOFc                   F     e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
 xZS )		DxfTwelvez Create dxf12 output from the svgc                 r    t          t          |                                            d| _        d| _        d S )N   皙?)superr   __init__handleflatness)self	__class__s    0/usr/share/inkscape/extensions/dxf12_outlines.pyr   zDxfTwelve.__init__F   s1    i'')))    c                 `    | j                             |                    d                     d S )Nzutf-8)_streamwriteencode)r   lines     r   dxf_addzDxfTwelve.dxf_addK   s*    4;;w//00000r   c                 B    |                      |dz   |z   dz              d S )N
)r   )r   codevalues      r   dxf_insert_codezDxfTwelve.dxf_insert_codeN   s(    TD[5(4/00000r   c                    |                      dd           |                      d|           |                      dd                    |d         d                              |                      dd                    |d         d                              |                      d	d                    |d         d                              |                      d
d                    |d         d                              d S )N0LINE810z{:f}r   20   1121)r   format)r   layercsps      r   dxf_linezDxfTwelve.dxf_lineQ   s    S&)))S%(((T6==Q#;#;<<<T6==Q#;#;<<<T6==Q#;#;<<<T6==Q#;#;<<<<<r   c                 V   | j         }d}|dk     r+	 t          || j                    d}n#  |dz  }Y nxY w|dk     +|D ]k}t          t          |          dz
            D ]I}| xj        dz  c_        ||         }||dz            }|                     ||d         |d         g           Jld S )Nr   r%   r   )r   r   rangelenr   r+   )	r   r)   pfis_flatsubises	            r   dxf_path_to_lineszDxfTwelve.dxf_path_to_linesZ   s    Mkk!T]+++S kk  	3 	3C3s88a<(( 3 3q FAJeadAaD\2222	3	3 	3s   ) 2c                     t          j        |                                          pt          j        dd          }|j        \  }}|                     |||           d S )Nr   )inkexPathbounding_boxBoundingBoxcenter	dxf_point)r   r)   r/   bboxxys         r   dxf_path_to_pointzDxfTwelve.dxf_path_to_pointk   sT    z!}}))++Fu/@A/F/F{1ua#####r   c                    || _         |                     dd           |                     t                     | j        j        t          j                            dd          z  }| j        j	        }d}| j        
                    |          D ]'}d}|                                D ],}t          |t          j        t          j        f          rd} n-|sI|                                j        }|d}|                                |_        t          j        |d	d	gd	| ||z  gg          |j        z  |_        |                                 |j                                        }t/          j        d
|t.          j                  |                     ||           |                     ||           )|                     t8                     d S )N999z)"DXF R12 Output" (www.mydxf.blogspot.com)1mmpxz
//svg:pathTFzLayer 1r   zdrill$)r   r   r   
r12_headersvgscaler8   unitsconvert_unitviewbox_heightxpathiterancestors
isinstanceClipPathMask	getparentlabelcomposed_transform	transform	Transformapply_transformpathto_superpathresearchIr6   rA   
r12_footer)	r   streamrH   hrW   nodevisibleparentr)   s	            r   savezDxfTwelve.savep   s   U$OPPPZ    !9!9%!F!FFH#HNN4(( 	4 	4DG,,..  fu~uz&BCC #GE     &  }!!4466DN%AUFAI0F GHH.! N   """9))++Dy5"$//7&&ud3333&&ud3333Z     r   )__name__
__module____qualname____doc__r   r   r   r+   r6   rA   rb   __classcell__)r   s   @r   r   r   C   s        **    
1 1 11 1 1= = =3 3 3"$ $ $
(! (! (! (! (! (! (!r   r   __main__)
__future__r   r   r   rY   r8   inkex.unitsinkex.bezierr   rF   r\   OutputExtensionr   rc   run r   r   <module>ro      s   2 I H H H H H H H H H 				      " " " " " "
8
U! U! U! U! U!% U! U! U!p zIKKOO r   