
    hr                       S SK Jr  S SKJrJrJrJrJrJr  S SK	J
r
Jr  S SKrS SKJrJrJrJrJr  S SKJr  S SKJrJr  S SKJr  S S	KJrJr  S S
KJr  SSKJ r J!r!  SSK"J#r#J$r$  SSK%J&r&  SSK'J(r(  SSK)J*r*  \(       a  S SK+J,r,  S SK-J.r.  S SKJ/r/  / SQr0\Rb                  " S5      r2\" S\" SSS9\" S\Rf                  S9\" S\Rf                  S9S.5      r4\" \45      r5\& " S S\#5      5       r6SiS jr7SjS  jr8\& " S! S"\65      5       r9\" S#S$\" S%S&S905      r:\" \:5      r;\& " S' S(\65      5       r<SkS) jr=SlS* jr>\" S+\" S,5      \" S-5      S..5      r?\" \?5      r@\& " S/ S0\65      5       rA\" S10 S2\" S35      _S4\" S5\R                  S69_S7\" S8S9S9_S:\" S;S9S9_S<\" S=S9S9_S>\" S?S9S9_S@\" SAS9S9_SB\" SCS9S9_SD\" SS S9_SE\" SS S9_SF\" S,S S9_SG\" SHS S9_SI\" SJS S9_SK\" SLS S9_SM\" SNS S9_SO\" SPS S9_SQ\" SR\R                  S69_5      rC\" \C5      rD\& " SS ST\A5      5       rE\" SU\" S5      \" SVS9S9\" S8S9S9\" S;S9S9\" S=S9S9\" SS S9\" SWSS9\" SHSS9\" SJSS9\" SLS S9\" SNS S9\" SPS S9\" SXS S9SY.5      rF\" \F5      rG\& " SZ S[\A5      5       rH\" S\\" S3S9S9\" S5\R                  S69\" SR\R                  S69\" S]5      \" SV5      \" S;5      \" S=S S9\" S?S S9\" S^S S9\" SS S9\" SWS S9S_.5      rI\" \I5      rJ\& " S` Sa\A5      5       rK\" Sb0 Sc\" S35      _Sd\" Se5      _S7\" S85      _S:\" S;S S9_S<\" S=S S9_S>\" S?S S9_S@\" SASS9_SB\" SCS S9_SD\" SS S9_Sf\" SS S9_SF\" S,S S9_SG\" SHS S9_SI\" SJS S9_SK\" SLS S9_SM\" SNS S9_SO\" SPS S9_SQ\" SR\R                  S69_5      rL\" \L5      rM\& " Sg Sh\A5      5       rNg)m    )annotations)TYPE_CHECKINGIterableUnionOptionalSequenceAny)SelfoverrideN)DXFAttrDXFAttributesDefSubclassXTypegroup_code_mapping)const)TagsDXFTag)Matrix44)cryptguid)msgtypes   )
base_classSubclassProcessor)
DXFGraphicacdb_entity)register_entity)default_copy)TransformByBlockReference)DXFNamespace)AbstractTagWriter)xref)BodySolid3dRegionSurfaceExtrudedSurfaceLoftedSurfaceRevolvedSurfaceSweptSurfaceezdxfAcDbModelerGeometryF   )defaulti"  )
dxfversion   )versionflagsuidc                    ^  \ rS rSrSrSr\" \\\	5      r
\R                  rSU 4S jjr\SS j5       r\SS j5       r\R$                  SS j5       r\SS j5       r\R$                  SS	 j5       r\S
 5       r\\4SS jj5       r\S U 4S jj5       rSS jr\S!S"S jj5       r\S#S j5       r\ S!   S$U 4S jjj5       rS%S jr\S&U 4S jj5       rS&S jrS'S jr \SU 4S jj5       r!\S(S j5       r"S)S jr#Sr$U =r%$ )*r#   P   z:DXF BODY entity - container entity for embedded ACIS data.BODYc                z   > [         TU ]  5         [        5       U l        SU l        SU l        [        5       U l        g )N    F)super__init__tuple_sat_sab_updater   _temporary_transformationself	__class__s    E/var/www/html/env/lib/python3.13/site-packages/ezdxf/entities/acis.pyr:   Body.__init__X   s2     $)7		)B)D&r8   c                T    U R                   (       a  U R                  $ U R                  $ )zaReturns :term:`SAT` data  for DXF R2000 up to R2010 and :term:`SAB`
data for DXF R2013 and later
)has_binary_datasabsatrA   s    rC   	acis_dataBody.acis_dataa   s    
 88Oxxr8   c                    U R                   $ )z0Get/Set :term:`SAT` data as sequence of strings.)r<   rI   s    rC   rH   Body.satj   s     yyr8   c                $    [        U5      U l        g)z,Set :term:`SAT` data as sequence of strings.N)r;   r<   rA   datas     rC   rH   rM   o   s     $K	r8   c                   U R                   bh  U R                  (       aW  [        U R                  5      S:X  a>  U R                   R                  R                  U R                  R                  5      U l        U R                  $ )z"Get/Set :term:`SAB` data as bytes.r   )docrF   lenr=   acdsdataget_acis_datadxfhandlerI   s    rC   rG   Body.sabt   sT     HH T%9%9c$))nPQ>Q))77HDIyyr8   c                    SU l         Xl        g)zSet :term:`SAB` data as bytes.TN)r>   r=   rO   s     rC   rG   rX   }   s     	r8   c                t    U R                   (       a'  U R                   R                  [        R                  :  $ g)zpReturns ``True`` if the entity contains :term:`SAB` data and
``False`` if the entity contains :term:`SAT` data.
F)rR   r/   r   DXF2013rI   s    rC   rF   Body.has_binary_data   s'    
 8888&&%--77r8   c                    [        U[        5      (       d   eU R                  Ul        U R                  Ul        [	        5       UR
                  l        U R                  Ul        g N)
isinstancer#   rH   rG   r   rV   r3   r?   )rA   entitycopy_strategys      rC   	copy_dataBody.copy_data   sF    &$''''XX
XX


+/+I+I(r8   c                D   > [         TU ]  X5        UR                  5         g)z3Translate resources from self to the copied entity.N)r9   map_resourcesconvert_acis_data)rA   clonemappingrB   s      rC   re   Body.map_resources   s     	e-!r8   c                ,   U R                   c  g SnU R                   R                  nU[        R                  :  a  U R                  (       a	  SU l        SnO"U R
                  (       a  [        5       U l        SnU(       a  [        R                  U5        g g )N r8   zPDXF version mismatch, can't convert ACIS data from SAB to SAT, SAB data removed.zPDXF version mismatch, can't convert ACIS data from SAT to SAB, SAT data removed.)	rR   r/   r   r[   r=   r<   r;   loggerinfo)rA   msgr/   s      rC   rf   Body.convert_acis_data   sl    88XX((
%yy	hyy!G	hKK r8   c                d    U[         R                  :X  a  U R                  R                  U 5        g g r^   )r   COMMIT_PENDING_CHANGESr?   apply_transformation)rA   message_typerP   s      rC   notifyBody.notify   s)    8:::**??E ;r8   c                   SnUR                   [        R                  :  a.  [        U R                  5      S:  nU(       d  [        U 5       S3nO-[        U R                  5      S:  nU(       d  [        U 5       S3nU(       d  [        R                  U5        U(       a<  U R                  R                  5       b!  [        R                  [        U 5       S35        U$ )Nrk   r   z+ doesn't have SAT data, skipping DXF exportz+ doesn't have SAB data, skipping DXF exportz) has unapplied temporary transformations.)r/   r   r[   rS   rH   strrG   rl   rm   r?   
get_matrixwarning)rA   	tagwriterrn   valids       rC   preprocess_exportBody.preprocess_export   s    %--/MA%ET#NOMA%ET#NOKKT33>>@LNNc$i[(QRSr8   c                   > [         TU ]  U5      nU(       aE  UR                  U[        SSS9  U R                  (       d  U R                  UR                  S   5        U$ )!Loading interface. (internal API)r0   Flog)r9   load_dxf_attribsfast_load_dxfattribs!acdb_modeler_geometry_group_codesrF   load_sat_data
subclassesrA   	processorrV   rB   s      rC   r   Body.load_dxf_attribs   s]    
 g&y1**6u +  ''""9#7#7#:;
r8   c                p    [        S U 5       5      n[        [        R                  " U5      5      U l        g)r   c              3  H   #    U  H  oR                   S ;   d  M  Uv   M     g7f))r      Ncode).0tags     rC   	<genexpr>%Body.load_sat_data.<locals>.<genexpr>   s     #N4C88v;MCC4s   "	"N)tags2textlinesr;   r   decoder<   )rA   tags
text_liness      rC   r   Body.load_sat_data   s'    ##N4#NN
%,,z23	r8   c                  > [         TU ]  U5        UR                  [        R                  [
        R                  5        UR                  [        R                  :  a  U R                  (       aU  U R                  (       aD  U R                  R                  R                  U R                  R                  U R                  5        U R                  R!                  S5      (       a&  UR                  SU R                  R"                  5        U R                  R%                  USS/5        gU R                  R%                  US5        U R'                  U5        g)z7Export entity specific data as DXF tags. (internal API)r1   r-   r2   r3   N)r9   export_entity
write_tag2r   SUBCLASS_MARKERacdb_modeler_geometrynamer/   r[   rR   r>   rT   set_acis_datarV   rW   rG   hasattrr1   export_dxf_attribsexport_sat_datarA   rz   rB   s     rC   r   Body.export_entity   s     	i(U224I4N4NO5==0xxDLL !!//Jxx	**$$R)9)9:HH''	GU3CD HH''	9=  +r8   c           	         S n[        [        [        R                  " U" U R                  5      5      5      5      nUR                  U5        g)z,Export ACIS data as DXF tags. (internal API)c              3  b   #    U  H%  nUR                  5       R                  SS5      v   M'     g 7f)N
rk   )rstripreplace)lineslines     rC   cleanup%Body.export_sat_data.<locals>.cleanup   s(     kkm++D"55 s   -/N)r   textlines2tagsr   encoderH   
write_tags)rA   rz   r   r   s       rC   r   Body.export_sat_data   s8    	6 N5<<0A#BCDT"r8   c                \    U R                   (       a  gSR                  U R                  5      $ )zMReturns ACIS :term:`SAT` data as a single string if the entity has
SAT data.
rk   r   )rF   joinrH   rI   s    rC   tostringBody.tostring   s#     99TXX&&r8   c                   > U R                   (       a9  U R                  R                  R                  U R                  R
                  5        [        TU ]  5         g r^   )rF   rR   rT   del_acis_datarV   rW   r9   destroyr@   s    rC   r   Body.destroy   s6    HH++DHHOO<r8   c                <    U R                   R                  U5        U $ r^   )r?   
add_matrix)rA   ms     rC   	transformBody.transform   s    &&11!4r8   c                    U R                   $ r^   )r?   rI   s    rC   temporary_transformationBody.temporary_transformation  s    ---r8   )r=   r<   r?   r>   )returnNone)r   zUnion[bytes, Sequence[str]])r   Sequence[str])rP   r   r   r   )r   bytes)rP   r   r   r   r`   r
   r   r   )rg   r
   rh   zxref.ResourceMapperr   r   r^   )rs   intrP   r	   r   r   )rz   r!   r   boolr   zOptional[SubclassProcessor]r   r    r   r   rz   r!   r   r   )r   rw   )r   r   r   r
   )r   r   )&__name__
__module____qualname____firstlineno____doc__DXFTYPEr   r   r   r   
DXFATTRIBSr   DXF2000MIN_DXF_VERSION_FOR_EXPORTr:   propertyrJ   rH   setterrG   rF   r   r   rb   re   rf   rt   r|   r   r   r   r   r   r   r   r   __static_attributes____classcell__rB   s   @rC   r#   r#   P   s   DGz;8MNJ!&E     	ZZ      	ZZ 
   4@ J J " "
  F F    7;4	 4
 , ,$#'  
  . .r8   r#   c              #  p   #    SnU  H"  u  p#US:X  a  Ub  Uv   UnM  US:X  d  M  X-  nM$     Ub  Uv   gg7f)zoYields text lines from code 1 and 3 tags, code 1 starts a line following
code 3 tags are appended to the line.
Nr   r    )r   r   r   values       rC   r   r   	  sO      D19
DQYMD  
 s   66c              #     #    U  HW  nUSS nUSS n[        SU5      v   [        U5      (       d  M-  USS nUSS n[        SU5      v   [        U5      (       a  M*  MY     g7f)zVYields text lines as DXFTags, splitting long lines (>255) int code 1
and code 3 tags.
N   r   r   )r   rS   )r   r   texttails       rC   r   r     si      DSzCDzQo$ii:D:DD/! $ii	 s   ,A!(A!A!c                      \ rS rSrSrSrSrg)r%   '  z<DXF REGION entity - container entity for embedded ACIS data.REGIONr   N)r   r   r   r   r   r   r   r   r8   rC   r%   r%   '  s
    FGr8   r%   AcDb3dSolidhistory_handlei^  0c                  z   ^  \ rS rSrSrSr\" \\\	\
5      r\ S   SU 4S jjj5       r\S	U 4S jj5       rSrU =r$ )
r$   i7  z=DXF 3DSOLID entity - container entity for embedded ACIS data.3DSOLIDc                b   > [         TU ]  U5      nU(       a  UR                  U[        S5        U$ Nr   )r9   r   r   acdb_3dsolid_group_codesr   s      rC   r   Solid3d.load_dxf_attribs@  /     g&y1**30H!L
r8   c                   > [         TU ]  U5        UR                  [        R                  :  aK  UR                  [        R                  [        R                  5        U R                  R                  US5        gg)(Export entity specific data as DXF tags.r   N)r9   r   r/   r   DXF2004r   r   acdb_3dsolidr   rV   r   r   s     rC   r   Solid3d.export_entityI  s\     	i( %--/  !6!68I8IJHH''	3CD 0r8   r   r^   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @rC   r$   r$   7  s\    GGK!6J 7;4	  E Er8   r$   c                    U R                  U5       Vs/ s H  o"R                  PM     nn[        U5      S:w  a  [        R                  " S5      e[        U5      $ s  snf )N   zInvalid transformation matrix.)find_allr   rS   r   DXFStructureErrorr   )subclassr   r   valuess       rC   load_matrixr   U  sS    #+#4#4T#:;#:Cii#:F;
6{b%%&FGGF <s   Ac                J    [        U5       H  nU R                  X5        M     g r^   )listr   )rz   r   matrixr   s       rC   export_matrixr   \  s    fT) r8   AcDbSurfaceG   H   )u_countv_countc                  z   ^  \ rS rSrSrSr\" \\\	\
5      r\ S   SU 4S jjj5       r\S	U 4S jj5       rSrU =r$ )
r&   ik  z=DXF SURFACE entity - container entity for embedded ACIS data.SURFACEc                b   > [         TU ]  U5      nU(       a  UR                  U[        S5        U$ r   )r9   r   r   acdb_surface_group_codesr   s      rC   r   Surface.load_dxf_attribst  r   r8   c                   > [         TU ]  U5        UR                  [        R                  [
        R                  5        U R                  R                  USS/5        g)r   r   r  N)	r9   r   r   r   r   acdb_surfacer   rV   r   r   s     rC   r   Surface.export_entity}  sI     	i( 	U22L4E4EF##I	9/EFr8   r   r^   r   r   )r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   s   @rC   r&   r&   k  s\    GGK!6J 7;4	  G Gr8   r&   AcDbExtrudedSurfaceclass_idZ   sweep_vector
   )xtypedraft_angle*   g        draft_start_distance+   draft_end_distance,   twist_angle-   scale_factor0   align_angle1   solidsweep_alignment_flagsunknown1align_starti$  banki%  base_point_seti&  sweep_entity_transform_computedr   path_entity_transform_computedi(  &reference_vector_for_controlling_twist   c                     ^  \ rS rSrSrSr\" \\\	\
\5      rU 4S jr\\4S
U 4S jjj5       r\ S   SU 4S jjj5       rSS jr\SU 4S jj5       rS	rU =r$ )r'   i  zEDXF EXTRUDEDSURFACE entity - container entity for embedded ACIS data.EXTRUDEDSURFACEc                |   > [         TU ]  5         [        5       U l        [        5       U l        [        5       U l        g r^   )r9   r:   r   %transformation_matrix_extruded_entity"sweep_entity_transformation_matrix!path_entity_transformation_matrixr@   s    rC   r:   ExtrudedSurface.__init__  s,    5=Z22:*/19.r8   c                  > [        U[        5      (       d   e[        TU ]  X5        U R                  R                  5       Ul        U R                  R                  5       Ul        U R                  R                  5       Ul        g r^   )r_   r'   r9   rb   r)  copyr*  r+  rA   r`   ra   rB   s      rC   rb   ExtrudedSurface.copy_data  su    &/2222&066;;= 	4 3388: 	1 22779 	0r8   c                   > [         TU ]  U5      nU(       a4  UR                  U[        SSS9  U R	                  UR
                  S   5        U$ N   Fr   )r9   r   r   !acdb_extruded_surface_group_codesload_matricesr   r   s      rC   r    ExtrudedSurface.load_dxf_attribs  T     g&y1**6u +  y33A67
r8   c                ^    [        USS9U l        [        USS9U l        [        USS9U l        g )N(   r   .   /   )r   r)  r*  r+  rA   r   s     rC   r5  ExtrudedSurface.load_matrices  s/    5@B5O22=d2L/1<T1K.r8   c                  > [         TU ]  U5        UR                  [        R                  [
        R                  5        U R                  R                  USS/5        [        USU R                  S9  U R                  R                  U/ SQ5        [        USU R                  S9  [        USU R                  S9  U R                  R                  U/ SQ5        g	)
r   r  r  r9  r   r   r  r  r  r  r  r  r:  r;  )	r  r  r  r  r   r!  r"  r#  r$  N)r9   r   r   r   r   acdb_extruded_surfacer   rV   r   r   r)  r*  r+  r   s     rC   r   ExtrudedSurface.export_entity  s     	i( 	U224I4N4NO##I
N/KL==	

 	##
	
 	Bt'N'N	
 	ib1W1WX##
	
r8   )r+  r*  r)  r   r^   r   r   r   )r   r   r   r   r   r   r   r   r   r   r  rA  r   r:   r   r   rb   r   r5  r   r   r   r   s   @rC   r'   r'     s    OGJ< 4@ 
 
 
 7;	4			 	L
 )
 )
r8   r'   AcDbLoftedSurface)   i#  i)  )plane_normal_lofting_typestart_draft_angleend_draft_anglestart_draft_magnitudeend_draft_magnitudearc_length_parameterizationno_twistalign_directionsimple_surfacesclosed_surfacesr  ruled_surfacevirtual_guidec                     ^  \ rS rSrSrSr\" \\\	\
\5      rU 4S jr\\4S
U 4S jjj5       r\ S   SU 4S jjj5       rSS jr\SU 4S jj5       rS	rU =r$ )r(   i  zCDXF LOFTEDSURFACE entity - container entity for embedded ACIS data.LOFTEDSURFACEc                @   > [         TU ]  5         [        5       U l        g r^   )r9   r:   r   #transformation_matrix_lofted_entityr@   s    rC   r:   LoftedSurface.__init__,  s    3;:0r8   c                   > [        U[        5      (       d   e[        TU ]  X5        U R                  R                  5       Ul        g r^   )r_   r(   r9   rb   rT  r.  r/  s      rC   rb   LoftedSurface.copy_data0  s=    &-0000&04499; 	2r8   c                   > [         TU ]  U5      nU(       a4  UR                  U[        SSS9  U R	                  UR
                  S   5        U$ r2  )r9   r   r   acdb_lofted_surface_group_codesr5  r   r   s      rC   r   LoftedSurface.load_dxf_attribs8  sT     g&y1**4aU +  y33A67
r8   c                "    [        USS9U l        g )Nr9  r   )r   rT  r<  s     rC   r5  LoftedSurface.load_matricesD  s    3>t"3M0r8   c                  > [         TU ]  U5        UR                  [        R                  [
        R                  5        [        USU R                  S9  U R                  R                  U[
        R                  R                  5       5        g)r   r9  r?  N)r9   r   r   r   r   acdb_lofted_surfacer   r   rT  rV   r   attribskeysr   s     rC   r   LoftedSurface.export_entityG  sl     	i( 	U224G4L4LMBt'O'O	
 	##I/B/J/J/O/O/QRr8   )rT  r   r^   r   r   r   )r   r   r   r   r   r   r   r   r   r   r  r^  r   r:   r   r   rb   r   r5  r   r   r   r   s   @rC   r(   r(     s    MGJ> 4@ 
 
 
 7;	4			 	N 
S 
Sr8   r(   AcDbRevolvedSurfacer9  r:  )r  
axis_pointaxis_vectorrevolve_anglestart_angler  start_draft_distanceend_draft_distancer  r  close_to_axisc                     ^  \ rS rSrSrSr\" \\\	\
\5      rU 4S jr\\4S
U 4S jjj5       r\ S   SU 4S jjj5       rSS jr\SU 4S jj5       rS	rU =r$ )r)   ij  zEDXF REVOLVEDSURFACE entity - container entity for embedded ACIS data.REVOLVEDSURFACEc                @   > [         TU ]  5         [        5       U l        g r^   )r9   r:   r   %transformation_matrix_revolved_entityr@   s    rC   r:   RevolvedSurface.__init__w  s    5=Z2r8   c                   > [        U[        5      (       d   e[        TU ]  X5        U R                  R                  5       Ul        g r^   )r_   r)   r9   rb   rm  r.  r/  s      rC   rb   RevolvedSurface.copy_data{  s=    &/2222&066;;= 	4r8   c                   > [         TU ]  U5      nU(       a4  UR                  U[        SSS9  U R	                  UR
                  S   5        U$ r2  )r9   r   r   !acdb_revolved_surface_group_codesr5  r   r   s      rC   r    RevolvedSurface.load_dxf_attribs  r7  r8   c                "    [        USS9U l        g )Nr  r   )r   rm  r<  s     rC   r5  RevolvedSurface.load_matrices  s    5@B5O2r8   c                "  > [         TU ]  U5        UR                  [        R                  [
        R                  5        U R                  R                  U/ SQ5        [        USU R                  S9  U R                  R                  U/ SQ5        g)r   )r  rc  rd  re  rf  r  r?  )r  rg  rh  r  r  ri  N)r9   r   r   r   r   acdb_revolved_surfacer   rV   r   r   rm  r   s     rC   r   RevolvedSurface.export_entity  s     	i( 	U224I4N4NO##		
 	==	

 	##
	
r8   )rm  r   r^   r   r   r   )r   r   r   r   r   r   r   r   r   r   r  rw  r   r:   r   r   rb   r   r5  r   r   r   r   s   @rC   r)   r)   j  s    OGJ@ 4@ 
 
 
 7;	4			 	P  
  
r8   r)   AcDbSweptSurfaceswept_entity_idpath_entity_id[   sweep_alignmentc                     ^  \ rS rSrSrSr\" \\\	\
\5      rU 4S jr\\4S
U 4S jjj5       r\ S   SU 4S jjj5       rSS jr\SU 4S jj5       rS	rU =r$ )r*   i  zBDXF SWEPTSURFACE entity - container entity for embedded ACIS data.SWEPTSURFACEc                   > [         TU ]  5         [        5       U l        [        5       U l        [        5       U l        [        5       U l        g r^   )r9   r:   r   "transformation_matrix_sweep_entity!transformation_matrix_path_entityr*  r+  r@   s    rC   r:   SweptSurface.__init__  s6    2:*/19.2:*/19.r8   c                J  > [        U[        5      (       d   e[        TU ]  X5        U R                  R                  5       Ul        U R                  R                  5       Ul        U R                  R                  5       Ul        U R                  R                  5       Ul        g r^   )	r_   r*   r9   rb   r  r.  r  r*  r+  r/  s      rC   rb   SweptSurface.copy_data  s    &,////&03388: 	1 22779 	0 3388: 	1 22779 	0r8   c                   > [         TU ]  U5      nU(       a4  UR                  U[        SSS9  U R	                  UR
                  S   5        U$ r2  )r9   r   r   acdb_swept_surface_group_codesr5  r   r   s      rC   r   SweptSurface.load_dxf_attribs  sT     g&y1**3QE +  y33A67
r8   c                |    [        USS9U l        [        USS9U l        [        USS9U l        [        USS9U l        g )Nr9  r   rD  r:  r;  )r   r  r  r*  r+  r<  s     rC   r5  SweptSurface.load_matrices  s>    2=d2L/1<T1K.2=d2L/1<T1K.r8   c                  > [         TU ]  U5        UR                  [        R                  [
        R                  5        U R                  R                  USS/5        [        USU R                  S9  [        USU R                  S9  U R                  R                  U/ SQ5        [        USU R                  S9  [        USU R                  S9  U R                  R                  U/ S	Q5        g
)r   rz  r{  r9  r?  rD  r@  r:  r;  )	r  r}  r  r  r   r!  r"  r#  r$  N)r9   r   r   r   r   acdb_swept_surfacer   rV   r   r   r  r  r*  r+  r   s     rC   r   SweptSurface.export_entity  s     	i( 	U224F4K4KL##! 	
 	Bt'N'N	
 	ib1W1WX##
	
 	Bt'N'N	
 	ib1W1WX##
	
r8   )r+  r*  r  r  r   r^   r   r   r   )r   r   r   r   r   r   r   r   r   r   r  r  r   r:   r   r   rb   r   r5  r   r   r   r   s   @rC   r*   r*     s    LGJ< 4@ 
 
 
  7;	4			 	L /
 /
r8   r*   )r   r   r   Iterable[str])r   r  r   zIterable[DXFTag])r   r   r   r   r   r   )rz   r!   r   r   r   r   r   r   )O
__future__r   typingr   r   r   r   r   r	   typing_extensionsr
   r   loggingezdxf.lldxf.attributesr   r   r   r   r   ezdxf.lldxfr   ezdxf.lldxf.tagsr   r   
ezdxf.mathr   ezdxf.toolsr   r   r+   r   	dxfentityr   r   dxfgfxr   r   factoryr   r.  r   temporary_transformr   ezdxf.entitiesr    ezdxf.lldxf.tagwriterr!   r"   __all__	getLoggerrl   r[   r   r   r#   r   r   r%   r   r   r$   r   r   r  r  r&   point3drA  r4  r'   r^  rY  r(   rw  rr  r)   r  r  r*   r   r8   rC   <module>r     s   # J J ,    )  #  4 + $  :+7	 
		7	##2q)7qU]]3  %77L$M !6 u.: u. u.p " T   '#s3 .l;  Ed E E:*
 2;2; .l;  Gd G G8 $GBK%--8
 	wr3/ 	C 8 	gb#6 	wr3/ 	C0 	wr3/ 	a(" 	 Q!7#$ 	GB*%( 	wsA.)* 	Q'+, 	'#q1-. 	*73+B/0 	)'#q*A12 	1'"EMM2R3 < %77L$M ! [
g [
 [
| " &-R[$R5"2s3!(S!9&r37'.sA'>C+"32"32"32a( a0 a0 ( #55H"I  2SG 2S 2Sj $B,b6r7 r{ r{ 'A 6%b!4r1-a( a0 $ %77L$M ! H
g H
 H
V !!72;! 	'"+	! 	wr{! 	A 6! 	gb!4! 	wr1-! 	A.!  	wr1-!!, 	a(-!0 	72q11!2 	GB*3!6 	wsA.7!8 	Q'9!: 	'#q1;!< 	*73+B=!> 	)'#q*A?!@ 	1'"EMM2RA!$ J "44F!G  f
7 f
 f
r8   