
    BPc                         d dl Z d dlmZ d dlmZ d dlZ G d de j                  Ze	dk    r e            
                                 dS dS )    N)Serial)inkex_gettextc                   <    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	S )
PlotzGenerate a plot in HPGL outputc                    |                     d           |                     ddd           |                     ddd           |                     d	d
d           |                     ddd           |                     ddd           |                     ddd           |                     ddd           |                     dt          dd           |                     dt          dd           |                     dt          dd            |                     d!t          d"d#           |                     d$t          d"d%           |                     d&d'd(           |                     d)t          j        d*d+           |                     d,t          j        d*d-           |                     d.t          j        d*d/           |                     d0t          d1d2           |                     d3t          j        d4d5           |                     d6t          d7d8           |                     d9t          j        d4d:           |                     d;t          d<d=           |                     d>|                     d?          | j        d@dAB           |                     dC|                     dD          | j        dEdFB           d S )GNz--tabz--parallelPortz/dev/usb/lp2zParallel port)defaulthelpz--serialPortCOM1zSerial portz--serialBaudRate9600zSerial Baud ratez--serialByteSizeeightzSerial byte sizez--serialStopBitsonezSerial stop bitsz--serialParitynonezSerial parityz--serialFlowControlxonxoffzFlow controlz--resolutionXg     @zResolution X (dpi))typer   r	   z--resolutionYzResolution Y (dpi)z--pen   z
Pen numberz--forcer   zPen force (g)z--speedzPen speed (cm/s)z--orientation0zRotation (Clockwise)z	--mirrorXFzMirror X axisz	--mirrorYzMirror Y axisz--centerzCenter zero pointz	--overcutg      ?zOvercut (mm)z--precutTz
Use precutz--flatg333333?zCurve flatnessz--autoAlignz
Auto alignz--toolOffsetg      ?z#Tool (Knife) offset correction (mm)z
--portTypetoto_portz	Port type)r   r   destr	   z--commandLanguageconvertto_languagezCommand Language Filter)add_argumentfloatintinkexBoolean
arg_method	to_serialconvert_hpgl)selfparss     )/usr/share/inkscape/extensions/plotter.pyadd_argumentszPlot.add_arguments    sf   '"""n? 	 	
 	
 	
 	.&}MMM,fCUVVV,gDVWWW,eBTUUU*FQQQ/XXX%>R 	 	
 	
 	
 	%>R 	 	
 	
 	
 	'Q\JJJ)#qOOO)#q?QRRR/3=STTTemU 	 	
 	
 	
 	emU 	 	
 	
 	
 	U]E@S 	 	
 	
 	
 	+E3^TTTU]D| 	 	
 	
 	
 	(BRSSSt, 	 	
 	
 	
 	6	 	 	
 	
 	
 	&&N 	 	
 	
 	
 	++%* 	 	
 	
 	
 	
 	
    c                     t          j        |           }	 | j                            | j                            |                                                     d S # t           j        $ r" t          j        t          d                    w xY w)Nz6No paths where found. Please convert objects to paths.)
hpgl_encoderhpglEncoderoptionsr   r   getHpglNoPathErrorr   AbortExtension_)r    encoders     r"   effectzPlot.effect[   s    *400	L  !9!9'//:K:K!L!LMMMMM' 	 	 	&JKK  	s   AA 1Bc                     d}||z   dz   S )zConvert raw HPGL to HPGLINz;PU0,0;SP0;IN;  r    hpglinits      r"   r   zPlot.convert_hpgle   s    
 d{...r$   c                 $   |                     dd          }|                     dd          }|                     dd          }|                     dd          }d	}| j        j        d
k    r|d| j        j        z  z  }|dz  }||dd         z   dz   S )zConvert HPGL to DMPL;,SPPPUUPDDz;:HAL0r   zV%dEC1r   Nz,P0,U0,0,Z )replacer(   speedr2   s      r"   convert_dmplzPlot.convert_dmpln   s     ||C%%||D#&&||D#&&||D#&&<!!EDL...Dd122h..r$   c                     d}||z   dz   S )z$Convert HPGL to KNK Plotter LanguageZGz;SP0;PU0,0;@ r1   r2   s      r"   convert_knkzPlot.convert_knk   s    
 d{_,,r$   c                     t          | j        j        d          }|                    |                    d                     |                                 dS )z!Output to hgpl to a parallel portwbutf8N)openr(   parallelPortwriteencodeclose)r    r3   ports      r"   to_parallelzPlot.to_parallel   sE    DL-t44

4;;v&&'''

r$   c                 *   t          | j        j        | j        j        | j        j        | j        j        | j        j        | j        j                  5 }|                    |	                    d                     ddd           dS # 1 swxY w Y   dS )zOutput to hgpl to a serial port)baudstopsizeflowparityrG   N)
r   r(   
serialPortserialBaudRateserialStopBitsserialByteSizeserialFlowControlserialParityrJ   rK   )r    r3   comxs      r"   r   zPlot.to_serial   s    L#,,,/<,
 
 
 	, JJt{{6**+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   )BBBN)__name__
__module____qualname____doc__r#   r.   r   rA   rD   rN   r   r1   r$   r"   r   r      s        ((9
 9
 9
v  / / // / /.- - -  
, 
, 
, 
, 
,r$   r   __main__)r   inkex.portsr   inkex.localizationr   r,   r&   EffectExtensionr   r\   runr1   r$   r"   <module>re      s   ,        1 1 1 1 1 1    A, A, A, A, A,5  A, A, A,H zDFFJJLLLLL r$   