
    &1g/                         S SK JrJr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  S SKJrJr  S SKJr  S SKJrJrJr  S S	KJr  S S
KJrJrJrJrJrJr  S r S r!S r"g)    )renderget_object_or_404HttpResponseN)Projeto)Ambiente)DadosTermicos)calcular_carga_termica_paredecalcular_carga_insolacao_parede)calcular_cargas_vidros)calcular_cargas_portascalcular_carga_insolacao_portacalcular_carga_termica_porta)calcular_cargas_telhados)!calcular_cargas_termicas_ambiente#calcular_calor_sensivel_ar_exterior"calcular_calor_latente_ar_exteriorcalcular_vazao_ar_infiltracaocalcular_vazao_ar_renovacao calcular_vazao_total_ar_exteriorc                     [         R                  R                  5       n[        R                  R                  5       n[	        U SXS.5      $ )Nzfluxograma/fluxograma.html)projetos	ambientes)r   objectsallr   r   )requestr   r   s      %/var/www/html/cag/fluxograma/views.pyindexr      s;    ""$H  $$&I'7h9ghh    c           
      X   [         R                  " SS9nUR                  5       n[        R                  " 5       nUR                  SSS9  UR                  SSSUS	   R                   S
3S9  UR                  SS5        UR                  S0 5      R                  5        HQ  u  pgUR                  SU 3SS[        US   5      R                  U5      -
  4U S3S9  UR                  SSU 35        MS     [        R                  " US5      nUR                  5        H  u  n	u  pUR                  U	   R                  SS5      nUR                  X4SSS0S9  UR                  U	SS0S9R!                  U
S-   U45        U(       d  Mj  UR                  USS0S9R!                  U
S-   US-
  45        M     UR#                  5        H   u  pX   nX   nUR%                  UUSS0S9  M"     Sn[&        R(                  " [&        R*                  R-                  U5      SS 9  UR/                  U5        U$ )!NR2010)
dxfversionr   )r      )posr   )r"   r"   zTemp. Interna: ambienteu   °C)r#   infocargas_termou   Carga Térmica       z Wr#   r%    g      ?color   )radius
dxfattribsheightg333333?)r-   g333333?g?g?z+fluxograma/static/fluxograma/fluxograma.dxfT)exist_ok)ezdxfnew
modelspacenxDiGraphadd_nodetemperatura_internaadd_edgegetitemslistr   get_node_attributesnodes
add_circleadd_textset_placementedgesadd_lineosmakedirspathdirnamesaveas)projetor$   contextodocmspGkeyvaluer#   nodexyr%   
start_nodeend_node	start_posend_posdxf_paths                     r   exportar_fluxograma_dxfrV      s   
))w
'C
..
C 	

AJJyfJ%JJzvohz>R>f>f=ggj,kJlJJy*% ll>26<<>
	

_SE*AXn=U8V8\8\]`8a4a0blqkrrtiu
v	

:67 ?
 
 
 E
*C		fqwwt}  ,vcwlCTxo6DDa#gq\R4LL8S/L:HH!c'STWZSZI[\ $ !"	
O	-YWaLA !* =HKK)D9JJxOr   c           
      H   [        [        US9n[        [        X#S9n[        [        US9nS nS nS n[	        UR
                  UR                  5      n	[        UR                  UR                  5      n
[        UR
                  UR                  UR                  UR                  5      n[        XVUR                  U5      n[        XWUR                  X5      nUR                  R!                  5       nU Vs0 s H$  nUR"                  [%        XX_R"                  5      _M&     nnU Vs0 s H#  nUR"                  ['        XR"                  5      _M%     nnUR(                  R!                  5       n[+        UUU5      u  nnUR,                  R!                  5       nU Vs0 s H&  nUR"                  [/        UUUUR"                  5      _M(     nnU Vs0 s H$  nUR"                  [1        UUR"                  5      _M&     nnUR2                  R!                  5       n[5        UUU5      u  nn[7        U5      n0 SU_SU_SU	_SU
_SU_S	U_S
U_SU_SU_SU_SU_SU_SU_SU_SU_SU_n [9        X4U5      n [?        US5       n [=        U RA                  5       SS9n!SU!S'   S S S 5        U!$ s  snf s  snf s  snf s  snf ! [:         a  n[=        SU 3SS9s S nA$ S nAff = f! , (       d  f       W!$ = f! [B         a    [=        SSS9s $ [:         a  n[=        SU 3SS9s S nA$ S nAff = f)N)id)rX   rG   )r$   rG   r$   vazao_infiltracaovazao_renovacaovazao_total_ar_exteriorcalor_sensivel_ar_exteriorcalor_latente_ar_exteriorcargas_termo_paredescargas_insolacao_paredescargas_termo_vidroscargas_insolacao_vidroscargas_termo_portascargas_insolacao_portascargas_termo_telhadoscargas_insolacao_telhadoscargas_ambientez#Erro ao exportar o fluxograma DXF: i  )statusrbzapplication/dxf)content_typez%attachment; filename="fluxograma.dxf"zContent-Dispositionu?   Arquivo DXF não encontrado. Verifique o caminho do diretório.i  z0Erro ao processar o download do fluxograma DXF: )"r   r   r   r   r   	area_piso
pe_direitor   numero_pessoastaxa_renovacaor   r   r6   r   umidade_absoluta_interna
parede_setr   
orientacaor	   r
   	vidro_setr   	porta_setr   r   telhado_setr   r   rV   	Exceptionr   openreadFileNotFoundError)"r   
projeto_idambiente_idrG   r$   termicostemperaturas_externasumidade_absoluta_externacalor_latente_aguarY   rZ   r[   r\   r]   paredespareder^   r_   vidrosr`   ra   portasportarb   rc   telhadosrd   re   rf   rH   rU   efresponses"                                     r   gerar_fluxogramar   B   s   J7G kKH BH !# 6h6H6H(J]J]^1(2I2I8KbKbcO>H//1H1H(JaJa
 "E)E)EG^" !CH,M,MOa!
 !!%%'G F 	8XWhWhii    F 	:6CTCTUU   
 ##%F3I*V\^f3g00 ##%F E 	6z5(TYTdTdee   E 	8@P@PQQ   ##'')H7OPZ\dfn7o44 8AO7H 	. 	?	
 	"#: 	%&@ 	$%> 	 4 	#$< 	2 	"#: 	2 	"#: 	 !6 	$%>  	?!H(S*7hG
`(D!Q#AFFH;LMH.UH*+ " } F  SA!EcRRS "!  k]fijj `NqcR[^__`sx   3+J!$*J&-J++J0 J5 -K+ 9K	K+ 5
K?KKK
K(#K+ (K+ +L!	L!
LL!L!)#django.shortcutsr   r   r   r0   networkxr3   rB   projeto.modelsr   ctermica.modelsr   termicos.modelsr   calculotermica.cargasparedesr	   r
   calculotermica.cargasvidrosr   calculotermica.cargasportasr   r   r   calculotermica.cargastelhadosr   calculotermica.cargastermicosr   r   r   r   r   r   r   rV   r    r   r   <module>r      sM    D D   	 " $ ) ? ~ ~ B i"H``r   