
    'j6                       d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZ d dlmZmZmZmZmZ dd	lmZmZmZ dd
lmZ ddlmZ erd dl m!Z! d dl"m#Z# d dl$m%Z% ddgZ& edi d edd          d eddd          d edd          d edd          d edd           d! ed"d#          d$ ed%d           d& ed'd#          d( ed)d*          d+ ed,d-          d. ed/d0          d1 ed2d0          d3 ed4d0          d5 ed6d0          d7 ed8d0          d9 ed:d0          d; ed<d=           ed>d=           ed?d@           edAd ej'        d dB          eC           edDd  ej'        d d          eC           edEdF ej'        d d          eC           edGd           edHdI ej'        d dJ          eC           edKd  ej'        d d          eC           edLd ej'        d d          eC           edMdN ej'        dOdP           ej(        dOdP          C           edQd=ej)        eC           edRd            edSd            edTdU          dV          Z* ee*          Z+e G dW de                      Z, edXi dY eddZ          d[ ed?d          d\ ed]d          d^ ed_ej-         ed d           `          da edbej-         ed*d-          `          dc eddej.        e`          de edfej.         edgdgdg          `          dh ediej.         edjdjdj          `          dk edld0          dm ednej.        e`          do edIej.        eej/        ep          dq edrej.        eej/        ep          ds edKd ej'        d dG          eC          dt edu          dv edw          dx edy          dz ed{                    Z0 ee0          Z1e G d| de,                      Z2d}S )~    )annotations)TYPE_CHECKINGOptional)Self)	validator)SUBCLASS_MARKER)DXFAttrDXFAttributesDefSubclassXTypeRETURN_DEFAULTgroup_code_mapping)Vec3Vec2NULLVECX_AXISY_AXIS   )
base_classSubclassProcessor	DXFEntity)	DXFObject)register_entity)AbstractTagWriter)DXFNamespace)xrefPlotSettings	DXFLayoutAcDbPlotSettingspage_setup_name )defaultplot_configuration_file   T)r"   optional
paper_size   A3plot_view_name   left_margin(   g      @bottom_margin)      right_margin*   
top_margin+   paper_width,   i  paper_height-   i)  plot_origin_x_offset.   g        plot_origin_y_offset/   plot_window_x10   plot_window_y11   plot_window_x2   plot_window_y2   scale_numerator   g      ?   F   i  H      )r"   r   fixerI   J         K      !   L   M   N   i,  d   i            iM  r%   )scale_denominatorplot_layout_flagsplot_paper_unitsplot_rotation	plot_typecurrent_style_sheetstandard_scale_typeshade_plot_modeshade_plot_resolution_levelshade_plot_custom_dpiunit_factorpaper_image_origin_xpaper_image_origin_yshade_plot_handlec                  d     e Zd ZdZ eee          Z	 dd fdZd fdZ	d fdZ
d fdZ xZS )r   PLOTSETTINGSN	processorOptional[SubclassProcessor]returnr   c                    t                                          |          }|r|                    |t          d           |S )Nr   )superload_dxf_attribsfast_load_dxfattribsacdb_plot_settings_group_codesselfrj   dxf	__class__s      O/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/entities/layout.pyro   zPlotSettings.load_dxf_attribs   sD     gg&&y11 	S**30NPQRRR
    	tagwriterr   Nonec                    t                                          |           |                    t          t          j                   | j                            |g d           dS )z(Export entity specific data as DXF tags.)r    r#   r&   r)   r+   r-   r0   r2   r4   r6   r8   r:   r<   r>   r@   rB   rD   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   N)rn   export_entity
write_tag2r   acdb_plot_settingsnamert   export_dxf_attribsrs   rx   ru   s     rv   r{   zPlotSettings.export_entity   sk    i(((_.@.EFFF##  "	
 "	
 "	
 "	
 "	
rw   registryxref.Registryc                    t                                          |           |                    | j                            d                     d S )Nrg   rn   register_resources
add_handlert   getrs   r   ru   s     rv   r   zPlotSettings.register_resources  sD    ""8,,,DHLL)<==>>>>>rw   cloner   mappingxref.ResourceMapperc                   t                                          ||           | j                            d          }|r'|dk    r!|                    |          |j        _        d S |j                            d           d S )Nrg   0)rn   map_resourcesrt   r   
get_handlerg   discard)rs   r   r   rg   ru   s       rv   r   zPlotSettings.map_resources  s    eW--- HLL)<== 	3!2c!9!9*1*<*<=N*O*OEI'''I122222rw   Nrj   rk   rl   r   rx   r   rl   ry   r   r   rl   ry   r   r   r   r   rl   ry   )__name__
__module____qualname__DXFTYPEr
   r   r}   
DXFATTRIBSro   r{   r   r   __classcell__ru   s   @rv   r   r      s        Gz+=>>J 8<      '
 '
 '
 '
 '
 '
R? ? ? ? ? ?3 3 3 3 3 3 3 3 3 3rw   
AcDbLayoutr~   
Layoutnamelayout_flagstaborderG   limmin
   )xtyper"   limmax   insert_base   extmin   g@xDextmax   g@x	elevation   
ucs_origin   	ucs_xaxis)r   r"   r   rJ   	ucs_yaxis   ucs_typeblock_record_handleiJ  viewport_handleiK  
ucs_handleiY  base_ucs_handleiZ  c                  f     e Zd ZdZ eeee          Z	 dd fdZ	d fdZ
d fdZd fdZ xZS )r   LAYOUTNrj   rk   rl   r   c                    t                                          |          }|r|                    |t          d           |S )Nr$   )rn   ro   rp   acdb_layout_group_codesrr   s      rv   ro   zDXFLayout.load_dxf_attribsZ  sC     gg&&y11 	L**30GKKK
rw   rx   r   ry   c                <   |                      d| j        j                                        dk    d           t	                                          |           |                    t          t          j                   | j        	                    |g d           d S )Ni   MODELr[   )r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
set_flag_statert   r~   upperrn   r{   r|   r   acdb_layoutr   r   s     rv   r{   zDXFLayout.export_entityb  s    D$(-"5"5"7"77"BDWXXXi(((_k.>???##  	
 	
 	
 	
 	
rw   r   r   c                    t                                          |           |                    | j                            d                     |                    | j                            d                     d S )Nr   r   r   r   s     rv   r   zDXFLayout.register_resources~  sf    ""8,,,DHLL66777DHLL):;;<<<<<rw   r   r   r   r   c                    t                                          ||           |                    | |dd           |                    | |dd           |                    | |dd           d S )Nr   TrY   r   r   )rn   r   map_existing_handle)rs   r   r   ru   s      rv   r   zDXFLayout.map_resources  s~    eW--- 	##D%#MMM##D%1BT#RRR##D%1BT#RRRRRrw   r   r   r   r   r   )r   r   r   r   r
   r   r}   r   r   ro   r{   r   r   r   r   s   @rv   r   r   U  s        Gz+={KKJ 8<      
 
 
 
 
 
8= = = = = =
S S S S S S S S S Srw   N)3
__future__r   typingr   r   typing_extensionsr   ezdxf.lldxfr   ezdxf.lldxf.constr   ezdxf.lldxf.attributesr	   r
   r   r   r   r   
ezdxf.mathr   r   r   r   r   	dxfentityr   r   r   dxfobjr   factoryr   ezdxf.lldxf.tagwriterr   ezdxf.entities.dxfnsr   ezdxfr   __all__is_in_integer_rangefit_into_integer_rangeis_greater_zeror}   rq   r   point2dpoint3dis_not_null_vectorr   r   r    rw   rv   <module>r      s   # " " " " " * * * * * * * * " " " " " " ! ! ! ! ! ! - - - - - -                ; : : : : : : : : : : : : : ? ? ? ? ? ? ? ? ? ?       $ $ $ $ $ $ 777777111111;
' [a771b111a
 	"771b4#H#H#Ha 	gga...a 	''!R000a 	wwr3///a 	R000a 	C000a 	ggb"---a 	wwr3///a 	C000a 	C 8 8 8a 	C 8 8 8a  	''"c222!a" 	''"c222#a$ 	''#s333%a& 	''#s333'a* 	773444+a. %WS#666" %WR555
 $G3i3Aq99 	
 
 
 !3i3Aq99 	
 
 
 W3i3Aq99 	
 
 
  'wq"555F  'w3i3Ar:: 	 
  
  
 #73i3Aq99 	
 
 
 (/w3i3Aq99 	(
 (
 (
 ")3i3C??2)23>>	"
 "
 "
 w/ 	
 
 
 !(Q 7 7 7 'Q 7 7 7$WS4888Aa a ad d J "4!34F!G!G  ?3 ?3 ?3 ?3 ?39 ?3 ?3 ?3D k@<000@ 	A...@ 	GGB***@ 	''"EM441::FFF@ 	''"EM44S>>JJJ@" 	wwrHHH#@& 	''"EM44dD;Q;QRRR'@* 	''"EM44ue;T;TUUU+@, 	WWS#...-@. 	ggbwGGG/@0 	WW-2 
 
 
1@> 	WW-2 
 
 
?@\ 	GG3i3Aq99 	
 
 
]@j 	wws||k@p 	773<<q@v 	ggcllw@~ 	773<<@C CH -,[99  4S 4S 4S 4S 4S 4S 4S 4S 4S 4Srw   