From 1c2581f09380c446a9af572771610d3cc6884690 Mon Sep 17 00:00:00 2001 From: Vivian Giulia Fernandes Date: Sun, 5 Oct 2025 14:38:56 -0300 Subject: [PATCH 1/4] =?UTF-8?q?docs:=20Cria=C3=A7=C3=A3o=20do=20requiremen?= =?UTF-8?q?ts=20e=20pasta=20de=20imagens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ app/images/btn_caa.png | Bin 0 -> 8299 bytes app/images/btn_cadicional.png | Bin 0 -> 11939 bytes app/images/btn_flexaocomposta.png | Bin 0 -> 14887 bytes app/images/btn_flexaosimples.png | Bin 0 -> 13241 bytes app/images/btn_inicio_fundacoes.png | Bin 0 -> 2726 bytes app/images/btn_inicio_lajes.png | Bin 0 -> 3754 bytes app/images/btn_inicio_pilares.png | Bin 0 -> 1562 bytes app/images/btn_inicio_vigas.png | Bin 0 -> 4678 bytes app/images/btn_tabbitolas.png | Bin 0 -> 11743 bytes app/images/btn_tabmarcus.png | Bin 0 -> 18271 bytes app/images/btn_tabventirinni.png | Bin 0 -> 12691 bytes app/images/cota_h_laje.png | Bin 0 -> 647 bytes app/images/cota_v_laje.png | Bin 0 -> 660 bytes app/images/engaste_d.xcf | Bin 0 -> 6572 bytes app/images/engh.png | Bin 0 -> 3999 bytes app/images/engv.png | Bin 0 -> 4319 bytes app/images/esquema_bielas.png | Bin 0 -> 7984 bytes app/images/esquema_bielas_legenda.png | Bin 0 -> 8495 bytes app/images/esquema_pilar.png | Bin 0 -> 5216 bytes app/images/git_logo.png | Bin 0 -> 12680 bytes app/images/laje-esqm.png | Bin 0 -> 2808 bytes app/images/laje.png | Bin 0 -> 83639 bytes app/images/laje_unidirecional_ee.png | Bin 0 -> 2972 bytes app/images/laje_unidirecional_ee2.png | Bin 0 -> 3778 bytes app/images/laje_unidirecional_le.png | Bin 0 -> 2201 bytes app/images/laje_unidirecional_le2.png | Bin 0 -> 3303 bytes app/images/laje_unidirecional_ll.png | Bin 0 -> 1319 bytes app/images/laje_unidirecional_ll2.png | Bin 0 -> 2139 bytes app/images/laje_unidirecional_modelo.png.png | Bin 0 -> 795 bytes app/images/lajes_view.png | Bin 0 -> 2100 bytes app/images/livh.png | Bin 0 -> 365 bytes app/images/livv.png | Bin 0 -> 367 bytes app/images/logo.ico | Bin 0 -> 39163 bytes app/images/logo.png | Bin 0 -> 13060 bytes app/images/logo3.png | Bin 0 -> 13060 bytes app/images/logo_a3_mini.png | Bin 0 -> 15794 bytes app/images/logo_brunel.png | Bin 0 -> 15696 bytes app/images/logo_engtool.png | Bin 0 -> 24135 bytes app/images/nassau_logo.png | Bin 0 -> 15062 bytes app/images/navier_logo.png | Bin 0 -> 3531 bytes app/images/navier_logo_mini.png | Bin 0 -> 4354 bytes app/images/navier_logo_mini_alt.png | Bin 0 -> 8633 bytes app/images/navier_logo_mod.png | Bin 0 -> 4988 bytes app/images/navier_pilar_esquema.png | Bin 0 -> 6227 bytes app/images/navier_viga_dupla.png | Bin 0 -> 4375 bytes app/images/pilar_engaste_a.png | Bin 0 -> 1756 bytes app/images/pilar_engaste_b.png | Bin 0 -> 1514 bytes app/images/pilar_engaste_c.png | Bin 0 -> 1279 bytes app/images/pilar_engaste_d.png | Bin 0 -> 1241 bytes app/images/sapata_perfil.png | Bin 0 -> 3351 bytes app/images/sapata_sup.png | Bin 0 -> 9269 bytes app/images/secao_viga.png | Bin 0 -> 4548 bytes app/images/secao_viga_detalhamento.png | Bin 0 -> 6942 bytes .../secao_viga_detalhamento_infos.png.png | Bin 0 -> 48132 bytes requirements.txt | 12 ++++++++++++ 56 files changed, 14 insertions(+) create mode 100644 app/images/btn_caa.png create mode 100644 app/images/btn_cadicional.png create mode 100644 app/images/btn_flexaocomposta.png create mode 100644 app/images/btn_flexaosimples.png create mode 100644 app/images/btn_inicio_fundacoes.png create mode 100644 app/images/btn_inicio_lajes.png create mode 100644 app/images/btn_inicio_pilares.png create mode 100644 app/images/btn_inicio_vigas.png create mode 100644 app/images/btn_tabbitolas.png create mode 100644 app/images/btn_tabmarcus.png create mode 100644 app/images/btn_tabventirinni.png create mode 100644 app/images/cota_h_laje.png create mode 100644 app/images/cota_v_laje.png create mode 100644 app/images/engaste_d.xcf create mode 100644 app/images/engh.png create mode 100644 app/images/engv.png create mode 100644 app/images/esquema_bielas.png create mode 100644 app/images/esquema_bielas_legenda.png create mode 100644 app/images/esquema_pilar.png create mode 100644 app/images/git_logo.png create mode 100644 app/images/laje-esqm.png create mode 100644 app/images/laje.png create mode 100644 app/images/laje_unidirecional_ee.png create mode 100644 app/images/laje_unidirecional_ee2.png create mode 100644 app/images/laje_unidirecional_le.png create mode 100644 app/images/laje_unidirecional_le2.png create mode 100644 app/images/laje_unidirecional_ll.png create mode 100644 app/images/laje_unidirecional_ll2.png create mode 100644 app/images/laje_unidirecional_modelo.png.png create mode 100644 app/images/lajes_view.png create mode 100644 app/images/livh.png create mode 100644 app/images/livv.png create mode 100644 app/images/logo.ico create mode 100644 app/images/logo.png create mode 100644 app/images/logo3.png create mode 100644 app/images/logo_a3_mini.png create mode 100644 app/images/logo_brunel.png create mode 100644 app/images/logo_engtool.png create mode 100644 app/images/nassau_logo.png create mode 100644 app/images/navier_logo.png create mode 100644 app/images/navier_logo_mini.png create mode 100644 app/images/navier_logo_mini_alt.png create mode 100644 app/images/navier_logo_mod.png create mode 100644 app/images/navier_pilar_esquema.png create mode 100644 app/images/navier_viga_dupla.png create mode 100644 app/images/pilar_engaste_a.png create mode 100644 app/images/pilar_engaste_b.png create mode 100644 app/images/pilar_engaste_c.png create mode 100644 app/images/pilar_engaste_d.png create mode 100644 app/images/sapata_perfil.png create mode 100644 app/images/sapata_sup.png create mode 100644 app/images/secao_viga.png create mode 100644 app/images/secao_viga_detalhamento.png create mode 100644 app/images/secao_viga_detalhamento_infos.png.png create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index acf4f59..245fbde 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ $RECYCLE.BIN/ # ========================= # Operating System Files # ========================= +tests.ipynb +test.py \ No newline at end of file diff --git a/app/images/btn_caa.png b/app/images/btn_caa.png new file mode 100644 index 0000000000000000000000000000000000000000..326ba6ab51818645710dfbb079dab0f406d3e6c2 GIT binary patch literal 8299 zcmb7pRa6{6yW|Y+1a}z*f=jSKaCZxn;I07%cZc8(!QBb&?(Po3T?Y*k2okv5fA>D@ z*?rkQ{e54Z>U!v>>eHvfRh4Bh(MZt%005?(tmNmnY4=vvC`fPJ1G4T401(@GLNuK} z8@W;2JKC9lvoWJ~_OLgjHgo@G4gk2Xo@Z#dk_)&6Z+$?+2J&MdJFrgo^xrqDDd`0( zMBu(6i=-wlPhOnB+4o`n%wKuE*&2Q(GFW_XXUxRYoXKiXJ9sFdQs&e3_zz~&A#$l9 zTz$VDTb&`OZ|AO$CKz(Glx|RMr+-g=X;3}A8V~W6lwY_zc4?$_@%kUGeop<-pBGH{*J$4XRd3~$q><@kC}ZnYhbI}j zgAUAh=A#c=bTi(+zwI6Z3taTw-_h@0Zl_t`6;N26JAM5)Cr&-wz5bF;4^yQ>KpMW6a;{j7$YWPGkSvIbM zT_1-S(XY4*X>BEWNF?@*4}-Km7@!~Io~gADiVpXxInOtohQ#@(jQgr1n5?pO#)=Cn z;Yp+?jD@M6$4U#+wNLm>T{NfY(7$-0(j`M28H>{Ajv~*qBP5XSB^f%SXt=&)=tZ-=ugU}$Vj@E+2ocYtmm55xLgzw1jZ5-MB;lj_$z;Z> z)nU}<`_YMi>CJxQtGGhb8MP&t1Q4=g;g{N$1Sma!Zj`D$Z_X17eM%!X@`TCi?!AlW zp&Qe`V>AEvuywlO`g$spKS^sex03cLE2BqR=ZSd*{cM92PGh$4P30ETT)&KbjUW^p z%DNWq4R?;EDMs_@e>mbNb--upSo9kLnLb}R4i@$|m0vS6e{@V$wQ@){nJjQ>ZdG%6 zWQ0AqzrRY8)$|EE*}^irn(nQZ0QYi!)V}eiVk#UFZoR81+j3r!hqhh9Kbh#}n5ADX zm6|1U8armF5I)(8`i2eH%ic^giJ**3*Oqs)%{}u{iwv{9Jkd-(Fi>|7usuIV9pNl<>>-D{_pZ|@;cx{0s=xa*DYIkfJo!+evP#wLR6?2XtZqK0S1jni2P zsBwrhO@&iD#OVp@+bSUb?U`t4pxYO^n8RVwWbUT>)^iW=h=5%HT#Fy-?)_!@<>p2E zA^%!+z_ViJga+KR5Ba18+(Q~)`ZU5dmjibW>b}M9-&e$kx9!(R9SJWs9u@Z`nn*Ki>iI-RF+yCV#9q(~GRqv)21-{lEIh|QeY@_(e^O)iUZucgn?oqigd<&dJC-1ILj$uoiUi4YqhQkV)b6KV2cP!F=LAUEOZMxk+o;qtw+CihEgfC-{?%>)6f*#}DR`K`s&g ztK!*I_yF3)GmEvqBs-rPc0&)MK5r}`5h(g#)Hz8EMy9IFU@F`9v4cPF*3RnKY{=Sv z(&r0Z#r7~9TR_&52N9ZZT`~Uvzt=a>@eVK~kA$3QjtIloL@MCQ4-sq``O7z-0p_W;G;e_V@;Uhvyn5v)RMWw!raYWHbE>LH#U!ytiv-O;B0V&;?Fz(U~~61|q6O0d6} z>w}TPxlq$068fc7(s4p_C!g+DK2QvvBP^J5C+o)6%n5}uvN$h&TpIo1y!MN89Nn6A zsNmg+CjOLmG7G|7DSJDkA4oi_*|U?qykKK&=V)l|K@1s7yaAp<$Qs-Uxm|fa^Bs=S zV;>Gc3ogx@UX=mVc_z=?@(SfQthOhUenV8|e(XD)<6Kd}6z%8$&k^N?vH5^EQj5o_ zI;`a}EQR|%sFc(;&O{@cGg_R>7V`eU*nfu-L8p!$)~OG_?B5zgK)$2sl2Q4vJ-(K| zJ`^`SNV8`uaL{2+KBC~5Qt|9kf!G{DmaD>8Y(NEj@J+aD#J^gruJQ9=fbT zlRpQmglC6^8Yy8e$9;zooHNB6jFV41Ge;BKUsdzAR|E)?iSa0Po5#aBZyOxdR6y-1 zWxB&?9R)BKTYd9e@$#mojXYG*=2}h9ah-ZJqp!FQmi;E-RV6KM%ql>ESHmU+?yqoY zH@Ph(#k-cQVHL()A!G}OSGBcls#bRcnL%vBe-@jHyyQ(shoA-}=&d^^^E+EpgL=6| zY))i)T-R1)3NsprNO!?T^s;WZ@hXX9ypc$;PZ0FQ8bI&PZ^Q3`Bb%x=+Ac{6dTw3C z95vX~bEs@;B&cDE#_7Tn@QQju)cd_<5Rq{HV2Cl464K{XSr`ra?VFs+*!(`ha?u>E zdfvDs9SNg2%e)k9=NZJCYtZWgw|8a2J6$xnq6j}Ftxz~6NGb;SsNg2a)?OFt;LV3mQI=PWw@zyzR&Zi$cA7mAlo_=*u>lLE0+hU zF(e92Hi-CDsx^U5Tq0q}cPW9Um@(W;MAVld)}#p+1hG36$*4@1)&QyQ1l zflMR5^5udrS*aALg!s()w>LCQAW_loG(?20>pkKu1$w#ameovzmg`6_J&h{dcDz_D zkAM_KPk{RK1fa5fV0BgqAHhlLDuC7!xUD5CO$2ICwwb&HWJ?W`k1~iynu1U@N#v8u z>Ek*yDF<{=1R@}Q`OPFMLsf$UPfJ>*RSgaMM#2Zz#`O*FdO;qD8D!sqalQI3D8FkB zcimO;=4DNSaI3(i`TBQ*A|MxQ64;%ew?ih6F&pg6QH9r{C>~nAsWvfN|9OsjsQP~1 zA4v)&fl6NJ@g3vm&pCTxyUeQ=?AC(VHL)*AXz#GoY1G9@uKH^oR#ROl=3vHSj81a+ z9Pj}d`FcQ>xf-QBDLZ$lDGoxt%2>O^9ku&3;&y(Qe1zcVgG_z$lW)3>@!9!J0UzKu z2j%H_xhLS38LVXPd#K&$dFlxD>WN3-YP}@>NqmR+$AE z!)IO<=6DwdyGAYe+=$tEl@(uY`H>Tl6sZ@I zUHw=NYE;I68~!^#gZ?KHH*uAKa*kwVHkimQ+1wjCo}00U@1>Pf*eh z&t#4BB7o{JEB$$?a~D255Kl<0*+9etLwm8F=j9p{BrSsY4P|8OdyR+FNqB`uVd8uE ztnQpd3eEuOJnP0;5z^=;`?{StPa#vE8{_krEr2r>HnwNpW5C;W?W4D;p2g*jv|Ql zFK`7EnmbVXBMwWn#@zZH+$b_FB33bSjdBHC;-K$w#>g{FIfou2wyDyBgnNxS@*-y zyFP~RCKc@Tcv`Ur(sJWH(_miiquTqKXe_HgHGtVIS$GlJi@F3!f;gnr%4rn1 zlSFmgzbV%gSYLAQghfOt2aYm>ANH?5d*pg6wO1t__QQcRtl+*JXMeXW==C>1qx{pF zuj#aRXBm&ilVB8D2~Ng6u}%%2JVs6&AAgMQb82wMvZSHX;{G~vSdxbaCnTq#+B=gt zLH1~3=xr$E9{mU}KHTJlnkvVN1gBp1hXQT@+$Ycj-loV$cLKSf+|Ix$eW@$tn}E~6 z0U=!M0v6Tq1kr_ieIkGO-hAT3zVxENV-x6Hp|Gavhus{$+`IP+JGp>ny*mabtK zLjg0INTmh#s!0;%wzTAt@ci_0gq}{5W(~u}OM}FES;1yk9&_<>pm!edCM?+8!Nb3- zrqun_#^AN5E$G`i&SQuX{W{s2Xd%7|cuxFfMe{;{K;pbAY%H81QGihcTx0mxn5PSIhbErwoqKmShM}^>4%@STuf0esLC_3V% z9}H0z{flp!Qt~R+fx)Wf2t#Pp^RjHi7jV$d#OjRB=+jh2v--yDXlCzP4n|MTX{8D5 z5&0dD19xJYZEhTbK9!$2yPS#SQy`wqU*}6 zMneRXnN;QM8c(QmI~r3GArF z;1kg^o$QEdSe#(8j3#E@%aHjKlR)s>;2Hf#*LS}@ln2aTx3!P};q({~dM6!%Vc35@ zsZeh%l=5yw2W_L0;xiifU(PO&_;NQ|$rU~@q@s*`1&|*z1m5tS$wnHwo)PCeIff}) zq;)A^;MvdhJLgWaH7ca&Fi0=);`s4l1S+*s2Y6R#J=vM~)&E_Mf8N~1Lk#2(ve9q% zHTmV!!4P83%m1@~R&S1hVd8`pNf-@JR_o|bAZmF+dsW;Pv#Xx{fJ?QnxxAbD?^M*& z4(MU$xE+1*);TJvm)pO02~XBfzK1HZzrk4Cmp`Z*W8p)f{`jQt3SxPYIfRljvhJGt zGMi36a|fHd&V^+7JFFp{0$P{dH5e@Oqm|)%I0OWhl6vJ~ei(+J z{(^&j$G65MuK<_^$05zB-*0$mxU>ngkJ+V{YH{2qlh_;;^5J#Dj?DO3G$Vq zvl^UW;yAq&biwYO?ch1L`{CLg=v<9JSc95lB#``zR)uyuM<>K^wGr~7{Zgf+jpxSX z4suLIUEnt+TrzUN5tXxAgdIjyc31FegRMds6tU2q1GnMyy@rUsZ;Lw8o>$`@0G18zC^ghvGN9z=%-xV0Fo0f5 z76rVvSzB}JN3P-)Kh@S4UWwl9_~TUVvs2YdhHej%F3!Q-S0%%~^GaYxBswl`W-_f?d2DU)8cY*)!iHIianD0(U4t${p)`Y~c+ONnTRGd1Ei zjVpuV?;CefY8kXrMu;#z~=>;nV@{ zDfPt>e?|^{G*Ye}>m#Xqv#Q#!E;M8KE!DD-#qyU}>Tfx26i%%RycJYT#pV zLQQADlGieUT3HBOe2+^U+0_l+Wnnb>l2KAvad`gtJ&}rP(#!4{R`8%AJKIHPZ4A9c z{H?NUA&j=2GcfIq-y`C|O-1<|`HG9`Km1D*z%M4}VGZtinqXh$ipx*OUu1at847$M z7rALh{Oj~Q;g@gZCp1e$y8OS{QMiRcd;G!9s}<~1^=q7sD62Hy9)WZHtF@^VhgQNb zK9@Y%Zg};5G~R&N(5KKXP(pbqM|T@#fS|kW>5iBVsfKC9t(SygzD@NUaYg=Sb4}Zl z&+!!A25kMp?qU;iH;ph6%OzXWiEpe)ifAE4U9h0o?rlpXepV~+gx0WMy|JnxNq#=G z%A~b^H&8}o+I%r5oq73tqp&L{0l~Q9B?mNlH2mx?d-L!?gmTW?cOo{FJBR9K4>Y+I ze7E#}_9f955umje8~IBO zc^Ym_Wa6$XC+x13Y^;A~U6&?t97Yg!m34s#z>y5q$Cl zk%oB<1lleft+(ju+_a2rF@bM?kJ!Po?~(OYSXF`4e}TKZCxyo}bT90T4PjT?EmW5m zLKmAr@q#``y)~RF&$#TMi7{_8(_IIRzi<#oSloc3P`v&`kCXRC|L{^f!}PWA{SgYI z#}A-zyn75RM5;qfu>Kn?^FF-4f|haMXkZUXFYa&rY2CP8W+WE6AeW8l=bHf|B=-k{UEK99(H?b6y`LJ#QQJ)m@xF6rPf6I4`MkhnCa8N?7IUoIUH zj(VBQboNfz6W%{_zT8y35*&aMSrA z>b4(JRYOzvD!^PsuDZE#1ZSojQ&+c{#{;`%9T<}BJQ_zns-n(-?|;wrSWM1gkB;zb zeN+31&j-M{uy~DWZ;uj1!05HHx6zr^`Om9(aSK}*;+Rmr5oGn22q76O$Vk4;xAh>= z?)NrO?Pax`001`de;3fbNaQUs0w6ofDM=ykp+qqk!J~ll(J;os?9x z6?*cwJ@qqt7cJ1K6OH~5j7Mlx>jiHJM71&SCpX&Fk$Ny?h+hZoqrRPiJjAbQRb;c{ z-cSPlf1@`V@4wN11aIg~5VSA%AHn~UGO#z+Qg+rle2S?@(*&{rb+?gnv04yx0lx5_ z0ei$ZblGkQ*7SE&WQFsgAI!C6or$e2X1887w5D0ZGYR6C<~SpDZJA?kXjQ4^tUPz@ z-rJMa5Lz4byJ!HtBBvJD1!EyrT9W9+}rBUZQ?A4Xdh~`U=z*71vRvbUz-5t+&|Kv`d`{XU!2SE4fPCr&9Mxe$ZsS;9FCbA5*Nk z*dY@V&eny*$Hy>caDDZtdiqqun?Lxj2G8VIoO~;>6Dtw>FB3&1YXOc!_-$|0wC`gY z?Do7voXL_?sqa}>S;uSdg2M<63@6^#X|Yqg0)P9n5wa}z&CDoh3PAQPKNil5W!->> zCVEygh6MdSDk&*pU|}ie_d$d$Y{1jR-!HoGM;dz^X%*oC|DJ3Z>7Qhd=qqwMWo>l$5h0XQqD!HM{ z$f9fF%L{z%M(K369^yJN2b?PqU;3%5E+&Z9ap?W!MA~351+KUX16vfT4(%oBqPd2a z0B88yRk+O6BySCEcFm`|u-rMQ9kU-F?WBb^F_-;0U74%eYfhYoSgIMh51&d*etd+k zrpMuQ$KuhybUrg=2w{@v3}DIC@tY)BKz$@xrZ#S;9LAU2%`hm_;P_1_JX&Wo^)_xb z8+dpo0Tc2>&dKz2gWvyZyf)>xv+As@p`9ew zm#Cx7m`fYHz2LT%3qAMEys|N^`1q7bU!s%f~ZdIq>tRiBr!yW~&LI1S(rRxxVaN|7c>)D zqW+|`{$S4aD+VGqg%;ECJaDkqM?aXK8rjHhat@M~_NC9F97=T}zQOzD8`Ma#FEZ}I zlQxkRKoM7B4M!(j0fnz>=e)`c9~npY#L-6KkcO=W>M-`x$0aV#x=*#4UqINoB}XjT_kuB8L?)C>XAR^?k7$vP zx?*P}*LFG1M(2@*pWU`SZb*pvK9rp~C)OvofBfqIZEbOa|ChB%@`pbwKQ7yqqD2443xnQ?qp1CPMkdz+@Fdq&$-Egq OKu$_ovP#@A@V@}7DZCf} literal 0 HcmV?d00001 diff --git a/app/images/btn_cadicional.png b/app/images/btn_cadicional.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ba47deac3cb7271b7e3c34e324489d6c9a39d9 GIT binary patch literal 11939 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 literal 0 HcmV?d00001 diff --git a/app/images/btn_flexaocomposta.png b/app/images/btn_flexaocomposta.png new file mode 100644 index 0000000000000000000000000000000000000000..8cbdda714d99e01a84c0c57370f6fa4781f9c474 GIT binary patch literal 14887 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 Z@PFIg2@TM65I6t;002ovPDHLkV1imr%isV2 literal 0 HcmV?d00001 diff --git a/app/images/btn_flexaosimples.png b/app/images/btn_flexaosimples.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9877d0e862125224eb1ffaf6d0fa70153dbff4 GIT binary patch literal 13241 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
t94ph`4`I+Jz=})mvM|rV9 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 os?c(l);O_43PH=bU;=x^l!^^k3@5g)FRV~%s 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 MNhwR#h?@lcAKEOt*8l(j literal 0 HcmV?d00001 diff --git a/app/images/btn_tabmarcus.png b/app/images/btn_tabmarcus.png new file mode 100644 index 0000000000000000000000000000000000000000..698b1a568fc50af8dac785feccbc84f87bdbe46f GIT binary patch literal 18271 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 literal 0 HcmV?d00001 diff --git a/app/images/btn_tabventirinni.png b/app/images/btn_tabventirinni.png new file mode 100644 index 0000000000000000000000000000000000000000..41c256d7b0ec523d93fd82e8883cb98eaae88f7d GIT binary patch literal 12691 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 H27&(vwEX!6 literal 0 HcmV?d00001 diff --git a/app/images/cota_h_laje.png b/app/images/cota_h_laje.png new file mode 100644 index 0000000000000000000000000000000000000000..87402abe8f823c40714e3c9f0eda0830f1763ecb GIT binary patch literal 647 zcmV;20(kw2P)EX>4Tx04R}tkv&MmKpe$iQ>8_!4t5Z62w0sgh>AE$6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_3;J6>}?mh0_0Yam~RI_UWP&La) z#baVNw<-o+5kwe$7=d46rk+SIX5cx#?&0I>U6f~epZjz4DtVIuK9P8i>4rtTK|Hf* z>74h8!>lAJ#OK8023?T&k?XR{Z=8z`3p_JyWK#3QVPdh^!Ey()lA#h$6Gs$PqkJLj zvch?bvs$UK);;+PLwRi_&2^f?h+_!}Bq2gZ4P{hdAxf)8iis5M$2|N)jz38*nOtQs zax9<<6_Voz|AXJ%nuV!JHz^bYx?gPjV-yJN0?oQ@e;?a+^91le16NwxUu^)hpQP8@ zTI2}m-v%zO+nT%wT zj1?(+-Q(TC&ffk#)9UXBPw#S>;qzvV00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru;|LTEDi20Qv^D?$02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{003V}L_t(&-tE{i4uBvKMZq6qL+N=qm@Nmh^Wn z(3n^|(bnUzgUr$R;H9ps_{szdIU?rjbaYvGiFPL}+#(uPYOwPQ_bd|?O})OR?1KmU zkFIL&-n@=)U6aBO#z&7{EqS4&`cGeTOUK6tJLKQLvwe4u(P{Cakj>dl0j8%tjwUCW zZP#Lp6LgWNm1vAlS~kx^Kkb3#zIP8FzmA=fUOE4F@fWSi$&7XrEBaoxx$bea*_`=u z&iBs4Yg9CkJU{Z7Eq20>iLW=E&Y#oG$8BSrlM?j#NMh2)8wZQnH&0q98!&Y$()=jicW64sUZo9UaQ@@Iz`?dxB27TXYZ*u zGbYubNM`|;=%mN&|C{gMoz=S1(_B-8c~^YS?_?2#!Jauh>UMlC z!{+%*uHTM&!tvrho8G$Hv-YsZykltg-<9Ig_hh-I2-kt%lC{Bn5<6I{uHCs8_1mJB z!RX4>PrL;M96h3%)psA?J$UZkKikW%-n09^FPi!Ab6PJjTG*1j-CY>|gW!U_%O?Xx zI14-?iy0X7ltGxWVyS%@P>{XE)7O>#F^34By59b#TdF`I$r9Iy66gHf+|;}h2Ir#G z#FEq$h4Rdj3x jS&c|mX!4@hOYd3cUGrhP++KU%7NpkG)z4*}Q$iB}mSYc= literal 0 HcmV?d00001 diff --git a/app/images/engaste_d.xcf b/app/images/engaste_d.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9036de16e19a447c0630eb3e0cdad1997374f7fa GIT binary patch literal 6572 zcmeHLYiL|W6h6CoY_iEFo6T;r+a&ExQ)^VJX%#7mS{g7&tO!+*DugxJB#YgoBx$Wx z*a#|u^oKZ3luN3}($_`@QI1zVN+!$v`^MTPoktv?bqY0|yN@7y`l-e77qpjPp~ zneWWZnK}2)z2}>`w=bL9;B4;hbvCsvUrvyhi2@IZ0eK8s0}TXF#GtLvt{{pVq__n| z;CAWjlWMyZOHd7LlD1lCSv#f>g~Xx7(95B9YKvbz20%TL87kLia?ZeDF5|R#7evx1 zQUWc4%Al0s>IX6TZdgRYS@wsg+XJi5*g>CNZiAT7UP)8|v=Kb?X5DLiX4yM^5zg4b z)qYzdo3Z99>^x`M%~e|;xf|w{$c{MK zf$sjyu#6wrlzDsMkSo5j9%6eThQD(xcWP-`#t*^NFs z?6V!8Ew8Q}Tj{eSKD!#W#A}DjJRzuzk@+uB8$e6MW(cswXWI<+-@kOPL19J4%6jOv z6lZM*(Dq69eYTyqH&bE92A1BTeK+js%%^HxchDVt2Z~f!y3oF}p_>r^sFU zZ7K8K6!G2=yM-EVdet~;{BD(TWg88Mc5ths3Es=qKbK}hWJpF zd3!bSjv96+*G0(fnu@V|I8q@|;s0oQ$E>Y_wYDl6c5jBLUDT!JlQ5Q(mB8l3F zs6~jnkWXzT+O~*KjdyfTIP8vj;r_qBfAjNeK^io302-u4Tue<|0xhKmE~6Be6Ys2N z?hR8tS5ktjsFtgtQL5n>RdX#gP7$u73a*DHshk&3h#N4j1mha1gcni~I~3q%XjIa| z=814h)%ngOf!lGF^JNn6cIB3hls#@Opj`!JlCnK>^r5Nj1KS>D_t2QbrzSc(#*u^D zh_)_d-jB>Y(8%tImB`f<$C0&#QRMHILP|3_$?msHk>iVxBHL$j$ou~31oJL1!R|P_ zM?7vg43?Pc0$;3~tYO{(2H6fKIRr)-t73Pe6CBeq9%0@F*4Ya7*$);v5SFOmr4`4) zP=!%&)s{j?*{f8dg3lHo1+&fMz;XT4MTiR4+Z~jsO*9iZ%u`*9sIYEw2eu3Z{Qv&` z)z43J+(EuCMBXQnfESX=5q02;xN=7fJQ7t-sRF-Lf@i`Q2hQ194*n?v z50xq>6@#CG%2iA)vU@Lu%I+>qQZtK5oR$@6JAJl3-;O78OqnmK$dSb-l|T3@c0rU> zA`-`n?L$4{*v5QuEBRCw)qWw#qK3?(iubveP~88n6P{d;$b6Tu!3?)$)n(QK+S}J9 ztm-y>(JvIgSNz$aSK2YCRO{T;mze(Qs}wsGZ&SQe@gBv86`xRiMRBj<2a2C79#@<( z7_CrjP<%>pm*QKB2MrSCu{-^)hF4MEum5HL(s$?rPW_FV58gU^b!DXk=TJIGd7t7* z-VA+5pXkNFwA%QrrZ%NJtN4-P5jy~A$H0tj(*6e(&5s|7y`c3s3?i+H-+tMr?6al)57b-XcUpy&g<7A~ z`Q`d=R9pTYU8uH?hN$$qjRQS{(s8b*D?T#2t_uB?pXL%vWWG;V?$#%@-}x%`?u$%Y zTn+}1x)X{g4c5zlHY;`v>hUqt82?gH_tp56sV8)O5_+gl==_OR?Y}~Cm7=`Kki@Nu zJ&GF??^S$A@lk_yO4N1lY5ilxuMFbtiW1MM;Z+R6HhMn$gx2CKhIu?sZ!-UcGvdiB zndQ@=kf+y~XDXPd^Yj|?R5kNto?d01sP+6`f)--I{&R4tJ-Aygz!wne~}{FYbHZqYO(0mOAp7 zxfxn~t$7E_#D>a_Qm!`OtkmK7e5%xzv64!fu1jH7Lj4j)#fI^<*MEYFy$P8Hl2o2g zX*Q)an^Mns-KMZ(#9uefam8O0 wrxjg;DP^+MX00n5q(-%VzdxywQm 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 literal 0 HcmV?d00001 diff --git a/app/images/engv.png b/app/images/engv.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a9d402360223a6f4ef1f41f4d50c9efcbe3258 GIT binary patch literal 4319 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

>p{`L6oWViVP741tS-MQV^3Sn!2ha5qbon6cMX9 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≺uiJg{ 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 literal 0 HcmV?d00001 diff --git a/app/images/laje_unidirecional_le2.png b/app/images/laje_unidirecional_le2.png new file mode 100644 index 0000000000000000000000000000000000000000..a9668b68d0cd865e644b3d02cd22c9bba04fd167 GIT binary patch literal 3303 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 HDWM4ftP)|* literal 0 HcmV?d00001 diff --git a/app/images/laje_unidirecional_ll2.png b/app/images/laje_unidirecional_ll2.png new file mode 100644 index 0000000000000000000000000000000000000000..0ea85e8e8fe55cf79b4c1215b49e7c9452de5536 GIT binary patch literal 2139 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 literal 0 HcmV?d00001 diff --git a/app/images/livv.png b/app/images/livv.png new file mode 100644 index 0000000000000000000000000000000000000000..c8233408fb7119faace0d42a6d678124761e5f6b GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^k_-%tA{=Z$);)%~oIr{#$=lrpNCUx7=iT){inG8Y zvY3H^TNs2H8D`Cq01C2~c>21sKV}gVlsC|tII9XMB%2u$QR1ARo12K565syM&-oUjky?EtE2X*E z{y_6GU8RG4t5#+B9cyz?5IAvP>8|{vo(_rR6`U+gjX)6&mLkv4yZ0viKUZ}3?$>nl z2ZA7V956|!8g!~=cKF);JEa09_ZPo4JeQYX`DvYZ)I&uyeIDs@bDQPW@4YpiS^O?? y-Nn-USCu!m&6>l%XsL}e;-k|a|K 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

Is`{GQ4Ty(1 z5m8g{9uFl2N8tTG{&I=Z3L`ex@d;uTYq;syD+QFWrD_zl@Pcd7`#}ywg`G~HMLs4S z{QCvu+*>OuzL{o4*C*;Zl<{siSuw6j6$up=gIkY@{&GG?7`kvGU=R=EF`+Z<;EDxZ z>!cJh`;I#hf*jw>Z+jfP)z4)hsswB|eNq2@#EVLhZTbdy`ugiI8z)L2+xNEjgnZ?l zgbMwt&{DbsyydUGb9^5g=}Tv3jf#+sut1Zhs+=$1{Xn#*Y7xS0b zOyP;*)V+l4Lqi627yv7b+s%9>ESFL?F#u9mLypERx}5-1*_MN?{g#%e?qu?((Gnua zWJj@QTD`NXr<|H}8$o67iZ77(0!XwC3AweQr=4En2HOPns8*5aYCSs4+g_}_A6$=h zqD@6zC$|q%>s8RV>e`{Yx;45NQ+HlkC8SqVP6%Coa8LABPWWe@n^)1kQzq1($g^&e zs^nR`t1r3fHJ>Z5O#w3*_$OBV%<868WqE$S+poJM4q*e6`t{TvTl#uWh6n)r`rwz7 zj)kqcM`^(x-3UV_P8jLzTOAfS;-&Hg6`_XEsaxD5YvSQYEE+TS1{d-^sCZTznE~Io z-RO@}N@5GQ#gBL>Fq8BMZY>R0cr zrJZmD`4|lk(wqN^jyN!F%ENM#c=4l@u%usk)UdDfc|K2Ql6n1wZ|1%-@<}lSB|M^ZTI7?ETZu%{rIr++`bB)% z(}I3Qamdn60zm&Z@`VeSNeF~ABc$?Db&t~2?tyg>75Z0N(D)Ibry;!=kFf_Ek1^k^ zNzW^;Ndgu1m+7Mo)QKzphG-g5G@c~ookV)f&yrYnAuY?LYH$M)wSCv>pDr$D{oz#GkiSf;XJ)?N4v=ytViJ zz$K?;%=k6zPL)fJFJYWij0D=M*eGcEfU7rynAHk5PDY~qbkN65;7uS9`PwERP+a++K1Rknt Kt5hqQhx`u&q?<4R literal 0 HcmV?d00001 diff --git a/app/images/logo.png b/app/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..573e8271d7e80cbc6d08408c90832994eb9ff784 GIT binary patch literal 13060 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 S2X1iy0000 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 PJ%F5)qGUbDIOKl-+UeFo literal 0 HcmV?d00001 diff --git a/app/images/logo_brunel.png b/app/images/logo_brunel.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d1bfe53cf4580f9ecac8d8ccecea25675834fe GIT binary patch literal 15696 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 literal 0 HcmV?d00001 diff --git a/app/images/nassau_logo.png b/app/images/nassau_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8523ffe0f558fd2dc90968972c5ebd5ffe8a32e GIT binary patch literal 15062 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 literal 0 HcmV?d00001 diff --git a/app/images/navier_logo.png b/app/images/navier_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2a8f6d63c653c96d8178565745918788694ca7 GIT binary patch literal 3531 zcmV;+4K(tJP)WFU8GbZ8()Nlj2>E@cM*01YomL_t(|+U=cda8=iJ z$N&F*&b@kHAuz�|p5J<`D_RGZ@?&u(4yO_z@Qu$2OTvrVlsihcc5m8P8;rbQ*ui z*lj0n8@Hag<0ei#b#ROYm{3!k;P8-m2nr6y#!qbPeXkz(p0igzNW_38bS2&QUB4N9 z(VV$=>#U#lUTg1t_5l<{Q4~c{6h%=o5vJoySFFF^?S?JvfoCa_u+J3$g~1}{=!^f^ zrJ)@=ZaTiSmrh-P?so$SRsygI{AeSd9Gm;V54N0qYOAN=%|ba0Oo%`&h{}Y2xR4#u zPK|6r;-n}lhoW*QDu<$SC@P1N)1~bCEk9TY@xKWmbcM^phJkOKKX=?WuB&%HU*xdX zuW$@+22eiKH6qe&t^E#2tG7PCh7|!29p;)S2+`ZFIftThC@P1d3F%OLe(SSSN#|C8 zB{HzgP7(mZPEqKEuCx1Xn%41hnvH++q!a$|!$K?mKw1|EGzbI>{jQ#KeXl83_}3IP1P@tnE4Zd%rs&6U&U;;rU=69FzJc%i3`m!JRznsZ#n zT{o_Eb{`AZlu2ktHvb*g`WOBwM?)rZ=lRtJoTh`5%5mv9*B28IlYIEM zy?CUxNW+}`oFi-Sychrpk_=6{dYndCdyY@=tq*_#u&(WV_iPQb%JE4e=lcVNwq4}= z(G3UQk)VcJ<@lu5Cx!iw<*e!G>@L<&s~m$-=l6Q^PJArXaH|}b_aT)+shvAPgROFW z3IQMw{O{3D)kEbN%nwfW;9R5ORyhXNAO>;_5}-`>Z1ipox5|M?pC<%c0dznFBtdZL zzD7^0mVB4vr?0%`yKdkZfKwnLB7k6Z1d)3*qY?d{Bd292wL&)(2(c5 z9Iguy5T8DrX8HD}_7xg-tyTt0R7;Iuu7+LZ7>pnwckVjgHAzFSa$MeX5a1Hu^KaD9 zs~ndgA_Qc-Si5}3Z##9RHZSGyE&3oEqYC7i91|v%vwjLYNW2Q5`{FJAA_9Q~y;xt}tG_y=dk8h>_*7;J<2V~C zr_8KX1yqj9GgFXeA`LgceA1Sv1}ev=I}pLG(eBRaszH9rVKC(R?gWX6#>k(j26-jN zg;M~WRsfNqt`QOhzSMB&-HEC~p2$&9*uQO~sHkwSKn@J~bh-!xSPE0TNmalCyo!eo=MEBRQl$_lUy~77$$f)BWK>RU%L1a9r1r zh+^0?E`%gzk1Oz(sSkYawit-q)Y0Bitv4eN@BqqjU-hC=ZPS>*tV$=un%55(lZo5I{$WdHzBLIIN?<*-Tt6VBUZvM>~zf|SO z#d3Cjs9hipqjihGpLTY3)v6r1o0X2?WkE7c#NM;_oD{1Zxd_Mf!XSs>&Alz1^|Na> zQsv0Cj)Tr_Kt34Z+m0^e9ROKvDI0(E{4+%=M~?BH&l5tnj!G;M00IbZ^J39zl_SR} zp|~95JI?^A5|R7QMf2k=4EZBRd6_4IePexBx`^C!{8-y!l_Q6^y^2waJPjGE9+*lS z`%9H0_ZagV69Iru;Esl-_OGiPxm2-$5dde$UKX=N#BSPtFfv8u$Pp%7HSP$2-z4I* z2rf2`w^`-L5jxt#F5-FuE}qVV1neCRM>=Pz967*s3rb_w+C3QZScVZ*Ee1fHSnuJ6 zW33ZZjx1*?={qzh07MhffshOmTnpb>s&eE4q$Fx+8Q20a1(1!qkM)dGIkFrZi=6|o zI{_8#C%K2nZN0JHdX*!~xu)u>^AKt5Uw~txdXK9e!*B0t?zvj!$YRbkowYE0Q$*UB z$i;V&)xCYaoAC% znI;3C}&DnWMP+rU780UR~ zBt;Gp0mx#Ke-Z9&nWb`M8D44GZn1J8c@>dB1l4fdf7*L0Hd*D!ro5wyR>)mQQdWAQ zbRn?3ySwY&?>xTUQ8}`R0=M87g3&$f6n_tbfPfFzuUff5<;bRzmOby2d?i6!JcdqC zfeKRoYRBR1d2LwU%dvL;gs>rgpQ!yE!w7PNrT>7+kyRBf4uFg#|C?Au;=zWdw#|D^ zMFJ{E7Eo4H^a`wPOZLz*@G$mt2)_~S@jk0^WC5Lp!7e!FXMg}qa_&JwAaksh2OAo@ zDpZb4FKMr3FUcJu5>0yFAp%1hQoc;sTlOCjsvH@P?QDpfROiEJ8zW{kT2ytzW!w+EF<&l=4vNX%YMiKzC~WkYWhGP(FRqB9$XU zSvi9-5&JTL4^o}-fU>~%?LY2pYM-ZaWNKpSxNiz@HYs~cuh@Nn1aGjA`*xq|ExIr# zqH<)?oJVc>c~JgOM4~`y1rZ1#xG&b-_Z0wm=c9L3j?Bx_onMN`d+GScB{>DKk8E#h zd*IBY*CW+}svN^`Q*C(@jq@|4YSQDf`40f&jm200wRyrs&-Z+WX5xA*4ePm17A0W!;yp z!2BCTy3<)TRLz`TxqN9IiV6!-E{Mu;1$+89Wmtj`* zOjv7Gj*OV|@PaJ>cN$~TQQ2NXC{%`3E0*HAIW;K}MCBNUo9oIw(0xrrUQfji^KE0btTcIos2p)ph{%42{!d8sWI}ra0T&Aw%)^rUS`-x)CZ)txIpSo^!YMIv zgFg}BL6DOE-UBekVB!4hu;%)eC@3gMct)ghjDU6XLLV658HhwOrA?0G;JUdrSXy6) zpzEp}>7<|}_#7aIGO0}@v3$uQ+^}X9`b%z=BR#`QP4Pzp{yTuKOlp^JE#}Xgjn6G# zilU+-kc8)r?a(4u!##?dM(>xN4NN2D`x(_R0hZL)qN1W4XWx38XU@DK+H<5j_o$s1 zc8vLN04LME&vURcx4LQu)~s4F`N1#UyGmsAk6Wr7qh!wfvbQ1pFA?d=w6=)|g2BL) zU@-W|&ZhQFDo2W$=F)cpfgg*=i<#KI{vJbST9HRyI^42JDS+LX*+KzP|!C?_O)c=D+A~;C0P4Zljwew2fCh^Yz&S!X2gCti9NM4a+1zzGq|hnTDp;&kc4#+%u%x9=$sTpk?U6*ZoMWeHK93kk>d2 zdqfz(Rkll21yG5^zDmo8$g%FpbGDp(YO9yl`!3=F@REX>4Tx04R}tkv&MmKpe$iQ>CTUI<$j`Lx$>PK~%(1s#pXIrLEAagUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pw7gr}m7b)?7Nufoo2gm(*ckglc4iK7ErkZ^dfT~$W zIuRFh`Bl;P3O~XKA%Kv?Og))d%%bP`x`&6acQKyT``n*nKq;6E@QB27OgAjz4dR(i zOXs{#9ARZiAwDM_H|T=Ik6f2se&bwnSm2ovBb%Nlju4BbE|$BPl?|16nmDSc8s!T) zmle)ioYiWbweQJa7%XTj8LrbDK>|xiA_WmL>ZqU!3o%+XQcR?2KiGjOGK{Iw=9`$>AE zqeYK^!ENB;x}(W^z~v4w^rTCM^N09&k02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{01nzoL_t(|+U=Zsa9s6u$3N$H@9t_>Z`sBVJ&duz27xWv zmIMJ$Xa;P{29wfJp|s{?;%+BuI`}^I!dw$>F_k7R!{q91}ayE*| z(RP@v+gAbsz)2l7z=sB22D)-?{eptS zaS}nx=er*W4P&4efUoDk@dX6O{AG79F=C41vA%uX2lwP75*pUT%DM9k1dc2IZoLuP z7c87IH@1J{qkpTaQ;g;NcU4IW3UWlUD7eX_b5wd`{tb6oB9fP49s%M&{MSGGW=^+! z?wLaZ`cD6ARSNCXuAwU(d1Q?TIp5Fm40t30B`P_#UDF9vU zy6z!?xT0|&IlPssGN!Dw=uiJ-Uill(t^GhmJ`G9)I32hdn358=Hn1@Vj?aggPtnF2 zrYEwdzY0`TOk1>R7h{hyl@0h z4)KAQqpo%+OjFmLnR9Ip9E0FUCX=e_b_w`Iq;bP*hsNaGn*#@m5;K-KjlyK2{eB_-u1v@0R`W<#-w|z+xZ*Y(3FVZE9+=cJ?p_U}BMBSJY)+m+K!>=vx7N zFI%6aMLh~ZA6N!rvDl{1LtI(4YSrz)?Wd&X@aRwI>)P!iyvvcQXC+8uTl?V?UKHEi zU0e<1`wUuEDEJJWF$WI!I=8G?u_BO_Xe87*ow;}Qj@b-!PVXjC6D1~_<0@0+(ouK#b>(-*;Q0!XZp^-m98$by84XQdS zYt%Qkdm-2YU}#-@ng#zBJ#_}pLaoCC396(q!jpi+v}YZPAKeE>jCop z0wra2NzC6lqX& z+1cgJ50)=qema1iU+_n~HKWs7!#D2F>N_Jp0i>eX_~%ZMH^SlY3_wuo0IJKab>VRM zy5apAF1zu}P*3p|Re4B}hSY@218PP1*9BL$jsVA;Ibk0#8DM6)ylPv{Mv$w4l8}#a z7nPOmZfa`sA9HZPWXo8-Z9xC9(@RmEcYt%f)y*y8Zx0C-rzOq=Y)fEYw~H}m=ed)t zUA2`KQ^#2b=vsfQnFA4g=bUE>i}Iqt?%{eBxW27Dde(`+#mxCj^MP~HS%<1_21pol zpAizB{Yp>2J4BRP#&~+eFNlzc#bWK5=ktS!yHK5#XA`fUWZ7d1%weC!ZKzJ`j79^y z4(TnU=@m_d)Ob>{ENg1|_{A4rpC_U}1eiR=1Vq@as&@joj>mk30TJNP%9ShM9lV)4 z?l4&TFF;voND|X08h?JCybXGp5zQY{;7$P4RZ!$x;c$3R^Qo8`07t=baAua94!_M? zs_t~#(tO8p794ZUA;7fLN=#ja^tZJ~cLQ~J`!fc80bJhp#^HZjIIB1&BB&mp-GBir zZ!V~n&N|}p#Abk3pNbqje{svtQCd2BoSJYr+z^RGHl?b(4FVK+gZsw1b?XL0W9_2m z$*LL#m^#k#TcW!}%!R8~t=gLr$LD%XHBzsr@{S0N@gx)m%{1V3fWDx8D^OJyl>UM| z399PXB9Ta+H;A4%&JTEDk&LYpb({ChSL7nwkepm*d`9Fq9UUEu(=)z)Ve?`{#5Q1C z_>Gv;fSumGNF9I?C@(bz2pu|fXz}{>>(fcZj$@v!00aa6^v5lDW%Nu70k@#;9Dqc^ zIgSyd<f{$<^w*2h%j-@FuF5a{mc==dm8s-*hjvq?CPb5jN|j!!DZf|RkPJI56+g*;+uCMg03k60Fbo(=FciA>iDiH0{1>tab>a@lc0o1GJ2E9HT zhq2;(fRdmX;E9JGdg%2b>VH9NHBe;)4fsat16So84;)~OnF?Sm=N}XbDvHJRSu$XZ zS&(0&6+hkj(eTsh$w{xH6`x?ACJ;(k-}A-s=k5#{={(shB!m5~~6HJ_~$SmOjGSUZD?wCq{bFZ3QUsi--`nZF`7b!N)d${)ERIa~6bWqjGJ) zqI+zi@vG|HD_5@Eo^IZkXKDdoz8^J$4h#$o4O38&4&}CiJR6Ghgb9Vh)Uk${<(56R zNcw(Z&_5=NKDp(Uw|aJV^u`ZP3I<&x#||I0 zmoA$GRERf=B^9rS*sIS(wp_Tl<)ygGyl9^;4I18$Ii45=4y|6j`n_RYN>boYhs;4c zf8p}e9g-e60)mLV@xTKQ#D;v|Q;~!9jV*@;l9Z`(rZMilfH{4vDG=dpHVYJgO&I_-&ljl0{c45%{BsyeJ}1u3Wh?I)uSoZ_*Uy3Bciwj*gd3 z7C0UUt^~f6fis>S1*0y`QL9orp)29tOi9X^k(shtRro4)o+2kxUXA%AzQAB zIZ%){DE@|96ex=&lwiP)XJ$pNBpw0rdm%t^U3XLVP{&r3d7XXkB%r)BC}++3B^_2l1j}p>->)b?2fwZjq3Mm7d20=Zff$^&u^Jh*Vx)x*Vyt(C@*pL%{LDN zh?@G0-}#A)ipLWiF<=95Fl%|+b*++;l8P_SyC67zY$-kc18Lg+Y~V<(j|8)b(UI)o zEoM3D(R7{<9LL!-@|yfWKzkFgqeK5Oo-kb)ea>g_S5LCPtSOrJ*@B3?ogEvz0}ywh zve?9Ji#}ETn^D%O-Us-oOL={ddvBiQ|Hjg#M*z}S(Dl=xkL^hp_V?(Y+bTOlJ;gD# z*bW*2YHO;@>O>-OcDm1nOO_Ra&hWIDjLd*eBsdnh~j&$nNam(C-!m_{b7(yTSDF z)^|do(5>n7Ti36T8_}A|60^N9AlSyMTZDYx3iP=XEn|e41qB6frTZiu<^m?)2gabr zm`x{>IapX*+AYG580E=(*LAThiy1S{reSUkB}JiR+uE1)Gl0Wg+)z<6yUObJd$V}+ zClSrYr`J@~R+@LFPqa|g_aA)l!H#SVfAv`8pQnwtE~%-sHl8!d8kkUG_88%TP{5iu zyUMDrt+D{zii(N@qlB@x*;Q8K^a&OM+oI9vk4L+yO&ivHICU%yHC6U+&Mmk4LILRj z{wuT13s0`?E*~2>=gjfu)|nO7Yc-Wt&y0yyd}4`w;InnL>$awU;-n z8LsqcYmeRoEC&j**GCNf1O3|H-~U2yZ_i&eUv}O;a(2?qd(N!N5>NFTp+Q{7A$6Upz!h!n(T;_+r3Z3D^f?8`llL?o z27UoB|AxEYHkcrqjDoZyYG*KqNtMg@k9Munp!tu^0rySEB}kU%ZHKX09=QjqPrCh| w2B3CfbLvkPju60W&pw>{! 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 literal 0 HcmV?d00001 diff --git a/app/images/navier_pilar_esquema.png b/app/images/navier_pilar_esquema.png new file mode 100644 index 0000000000000000000000000000000000000000..0b10b3d5ebad70190891719ce97d994697c3b6db GIT binary patch literal 6227 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%0Akp{O85 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 literal 0 HcmV?d00001 diff --git a/app/images/pilar_engaste_a.png b/app/images/pilar_engaste_a.png new file mode 100644 index 0000000000000000000000000000000000000000..98ae26874fad3c31f745386abf1f4f519c3d81e2 GIT binary patch literal 1756 zcmeAS@N?(olHy`uVBq!ia0vp^D;XFVTRGT(thO_kuYow3&dvdz&dv%2Mfqu&IjIZ` z8WU?L+Ik#zkU1J3yj4q7(7MASWrd%Zi|Y~3RS_)QOV?gl)qHZPywl`1m7_-k3v?}h zY>X%^D7<#{V5k6#y+cgQT#?u%NB*m}iW$nue1Cj*@A13V4lAb4$lBJ+xGGKZWJJiB zl<*@5w0B)-v|}(9GX7eTrO12!V=2FU{Cg#v)4%V`U+jKzCeMe?Bb$B9bsm*ITIuWk ze2>3OlB=hpow}Uqi>4#}G1Ft~9>)|!JeaAdJa>*VpI~>Z*tF;wqP$ZpCRwamA@!77 za=Pfb=s8z|T20@bjF&i*d0KPbWf>=)?ha)}K_jgj4xD02Te6nS@VHcW<*@yWAHq*2 zo!rXk)>k=Yp;OVH2lXFzM;qH4zEfje?C`rgx1NW&F?K=R*0=AIZ?Bur@Gt#=SN5;d zrU}0$f5{5wmS^01`@qrC;K|<`PRk}d@SM(ba^fG8)*87A`^EXEnEq~e_`d3Pbh7+% zeur7RqINOz@ik6lN?l*MXZPl<+w0Gp{QAw9;a#*i=I1M6V7#y;dAqwX{0G4WdzViJ zif|TqL>4nJ=qZCRW5rVYGN2%PiKnkC`(sWvAvuMXPt!DjLXst}5hc#~xw)x%B@E6* zsfi`2DGKG8B^e6tp1uL$jeOz^3@n>HT^vIyZoR!_n5C2`bL`>G)Z05-TG=;zVhgTl zXz0D0lq|nyPebq0-cqJ2M*anVeKgCG6z?e*+&-c@VaAyk=8r|rGym69sQGDlRoWG3 zDG)d)eEwC zJeyc=z5dGLRS`LjwcErucw$hmfU?MAL9O!h97ii!qV8BZ8OkjT+ujq<9zQA;^VG$rVTmXaeOS5_>PQfc*#$1Bf4oghtmT^B9ohklOxhJhe1)R(j;L>du0H z6-^uF&7Z$``*w4FN8__;n{B!l0a1C8U+tbW1t+j-lamP(#`{`r31_TQS9 z{FYCi@3%Z$|HxrqwaNaCad|d!zh`}lc>VQP)`IEP|D{*l|5$P6_S|*ML^Quf=}m71va_}dX??x%{(Gg&@ukYWk1g)MEpu90)qHS4$%5&x zzyDTR8r6OD(K82q^ZDmny-Y8e?6tmdT5@4PXWV*mol7d7E?yDx$CVeJ<7iFTC)M9# zr7ZHUEZ0WpRZqZ<+vSfZ2BfzfI@{Ib?lf1BYpJL#Sb>+eu^eZqn}$f)=?axAk_$g9 sj)s^Ze-|PVBbo#@0aCI6$%a{fn7^M{UeKeNybdJj>FVdQ&MBb@06o#PQ2+n{ literal 0 HcmV?d00001 diff --git a/app/images/pilar_engaste_b.png b/app/images/pilar_engaste_b.png new file mode 100644 index 0000000000000000000000000000000000000000..75699effd246bed3db6c20503f1431525b946f53 GIT binary patch literal 1514 zcmeAS@N?(olHy`uVBq!ia0vp^D;XFVTRGT(thO_kuYow3&dvdz&dv%2Mfqu&IjIZ` z8WU?L+Ik#zkU1J3yj4q7(7MASWrd%Zi|Y~3RS_)QOV?gl)qHZPywl`1m7_-k3v?}h zY>X%^D7<#{V5k6#y+cgQT#?u%NB*m}iW$nue1Cj*@A13V4lAb4$lBJ+xGGKZWJJiB zl<*@5w0B)-v|}(9GX7eTrO12!V=2FU{Cg#v)4%V`U+jKzCeMe?Bb$B9bsm*ITIuWk ze2>3OlB=hpow}Uqi>4#}G1Ft~9>)|!JeaAdJa>*VpI~>Z*tF;wqP$ZpCRwamA@!77 za=Pfb=s8z|T20@bjF&i*d0KPbWf>=)?ha)}K_jgj4xD02Te6nS@VHcW<*@yWAHq*2 zo!rXk)>k=Yp;OVH2lXFzM;qH4zEfje?C`rgx1NW&F?K=R*0=AIZ?Bur@Gt#=SN5;d zrU}0$f5{5wmS^01`@qrC;K|<`PRk}d@SM(ba^fG8)*87A`^EXEnEq~e_`d3Pbh7+% zeur7RqINOz@ik6lN?l*MXZPl<+w0Gp{QAw9;a#*i=I1M6V7#y;dAqwX{0G4WdzViJ zif|TqL>4nJ=qZCRW5rVYGN2%PiKnkC`(sWvAq6RB>yYO_A;}Wgh!W@g+}zZ>5(ej@ z)Wnk16ovB4k_-iRPv3y>Mm}){2IhmFE{-7;x8B}b-+QP)=GeoceclQZ3`f~Sc^sM! z#v14}Br);`H9r%IXka`L>{-C#IAdYD-gIGysCU=xA5~6zrFOqA=&PF`&^jOxI8n6o z%p#4fBb%ev8pXG?w;fJ=+t}x(-1zCv%aT)%EY|5>u;|R$ zQr%C_X@%2*f?XdurdFl5B-uDU?E*=yaJ>f-+j`2_ z$xv=#*?N#VlS7+9V!fX-KN->Duek4GiqfjlZ9N zc*xQr;?m{exI`hyg-gj5NC{{vu}*CA5Y+4t0aA`jfbtLtAjLXS2`CSi0Lc$Ejc~7k z{RsC8*pKiqfcOy}24Fu94UH467-<(ntx{X&JP3a#{c|!TZ4ezUkn9E|MLzKQ?F&C2 SdQ0O!NX*mK&t;ucLK6Vz>NrmT literal 0 HcmV?d00001 diff --git a/app/images/pilar_engaste_c.png b/app/images/pilar_engaste_c.png new file mode 100644 index 0000000000000000000000000000000000000000..67b1be5e41e26952c02afd7c066f68f8ebd4b992 GIT binary patch literal 1279 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 literal 0 HcmV?d00001 diff --git a/app/images/sapata_sup.png b/app/images/sapata_sup.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1c514909acb74cecdb97500d81e9d1f875fe17 GIT binary patch literal 9269 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 literal 0 HcmV?d00001 diff --git a/app/images/secao_viga.png b/app/images/secao_viga.png new file mode 100644 index 0000000000000000000000000000000000000000..b60fb2c3bea53ec468e2c6d893bae4397da427ca GIT binary patch literal 4548 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 literal 0 HcmV?d00001 diff --git a/app/images/secao_viga_detalhamento.png b/app/images/secao_viga_detalhamento.png new file mode 100644 index 0000000000000000000000000000000000000000..53b6c1bd5bf5247e5de89965ef61291d5d422fae GIT binary patch literal 6942 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 ateusy`%Cb)Ech=8fy^_-r-e^m`TQ3;>B{c_ literal 0 HcmV?d00001 diff --git a/app/images/secao_viga_detalhamento_infos.png.png b/app/images/secao_viga_detalhamento_infos.png.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d9b90328b59412403bf2dc76b15c5cfb749f76 GIT binary patch literal 48132 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 syR#zECda0oR};#g|C Date: Sun, 5 Oct 2025 14:41:56 -0300 Subject: [PATCH 2/4] =?UTF-8?q?docs:=20Exlus=C3=A3o=20dos=20arquivos=20ant?= =?UTF-8?q?igos=20fora=20do=20sistema=20de=20pastas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitolas_ferros.ui | 355 --- btn_caa.png | Bin 8299 -> 0 bytes btn_cadicional.png | Bin 11939 -> 0 bytes btn_flexaocomposta.png | Bin 14887 -> 0 bytes btn_flexaosimples.png | Bin 13241 -> 0 bytes btn_inicio_fundacoes.png | Bin 2726 -> 0 bytes btn_inicio_lajes.png | Bin 3754 -> 0 bytes btn_inicio_pilares.png | Bin 1562 -> 0 bytes btn_inicio_vigas.png | Bin 4678 -> 0 bytes btn_tabbitolas.png | Bin 11743 -> 0 bytes btn_tabmarcus.png | Bin 18271 -> 0 bytes btn_tabventirinni.png | Bin 12691 -> 0 bytes cargas adicionais.py | 41 - cargas adicionais_atualizada.py | 47 - class_agres.ui | 456 --- cota_h_laje.png | Bin 647 -> 0 bytes cota_v_laje.png | Bin 660 -> 0 bytes detalhamento_vigas.py | 185 -- detalhamento_vigas.ui | 556 ---- detalhamento_vigas_alt.ui | 820 ----- engaste_d.xcf | Bin 6572 -> 0 bytes engh.png | Bin 3999 -> 0 bytes engv.png | Bin 4319 -> 0 bytes envoltorias_pilares.py | 84 - esquema_bielas.png | Bin 7984 -> 0 bytes esquema_bielas_legenda.png | Bin 8495 -> 0 bytes esquema_pilar.png | Bin 5216 -> 0 bytes gerador_abaco.py | 70 - git_logo.png | Bin 12680 -> 0 bytes inicial.py | 2167 -------------- inicial_new.py | 3040 ------------------- inicial_new_1.py | 2355 --------------- inicio.ui | 1274 -------- inicio_alt.ui | 1266 -------- laje-esqm.png | Bin 2808 -> 0 bytes laje.png | Bin 83639 -> 0 bytes laje_unidirecional_ee.png | Bin 2972 -> 0 bytes laje_unidirecional_ee2.png | Bin 3778 -> 0 bytes laje_unidirecional_le.png | Bin 2201 -> 0 bytes laje_unidirecional_le2.png | Bin 3303 -> 0 bytes laje_unidirecional_ll.png | Bin 1319 -> 0 bytes laje_unidirecional_ll2.png | Bin 2139 -> 0 bytes laje_unidirecional_modelo.png.png | Bin 795 -> 0 bytes lajes.py | 561 ---- lajes.ui | 1331 --------- lajes_alt.ui | 1571 ---------- lajes_carg_adicional.ui | 906 ------ lajes_carg_adicional_atualizada.ui | 3939 ------------------------- lajes_revisao.py | 713 ----- lajes_view.png | Bin 2100 -> 0 bytes livh.png | Bin 365 -> 0 bytes livv.png | Bin 367 -> 0 bytes logo.ico | Bin 39163 -> 0 bytes logo.png | Bin 13060 -> 0 bytes logo3.png | Bin 13060 -> 0 bytes logo_a3_mini.png | Bin 15794 -> 0 bytes logo_brunel.png | Bin 15696 -> 0 bytes logo_engtool.png | Bin 24135 -> 0 bytes marcus.py | 707 ----- nassau_logo.png | Bin 15062 -> 0 bytes navier_logo.png | Bin 3531 -> 0 bytes navier_logo_mini.png | Bin 4354 -> 0 bytes navier_logo_mini_alt.png | Bin 8633 -> 0 bytes navier_logo_mod.png | Bin 4988 -> 0 bytes navier_pilar_esquema.png | Bin 6227 -> 0 bytes navier_viga_dupla.png | Bin 4375 -> 0 bytes pilar_area_aco.py | 115 - pilar_engaste_a.png | Bin 1756 -> 0 bytes pilar_engaste_b.png | Bin 1514 -> 0 bytes pilar_engaste_c.png | Bin 1279 -> 0 bytes pilar_engaste_d.png | Bin 1241 -> 0 bytes pilares.py | 471 --- pilares.ui | 1633 ---------- pilares_alt.ui | 1382 --------- pilares_areas_aco.ui | 513 ---- sapata_perfil.png | Bin 3351 -> 0 bytes sapata_sup.png | Bin 9269 -> 0 bytes sapatas.ui | 1185 -------- sapatas_alt.ui | 1175 -------- secao_viga.png | Bin 4548 -> 0 bytes secao_viga_detalhamento.png | Bin 6942 -> 0 bytes secao_viga_detalhamento_infos.png.png | Bin 48132 -> 0 bytes tabela_bitolas.py | 38 - tabela_marcus.pdf | Bin 130014 -> 0 bytes teste_classe_agressividade.py | 58 - vigas.ui | 1495 ---------- vigas_alt.ui | 1498 ---------- 87 files changed, 32007 deletions(-) delete mode 100644 bitolas_ferros.ui delete mode 100644 btn_caa.png delete mode 100644 btn_cadicional.png delete mode 100644 btn_flexaocomposta.png delete mode 100644 btn_flexaosimples.png delete mode 100644 btn_inicio_fundacoes.png delete mode 100644 btn_inicio_lajes.png delete mode 100644 btn_inicio_pilares.png delete mode 100644 btn_inicio_vigas.png delete mode 100644 btn_tabbitolas.png delete mode 100644 btn_tabmarcus.png delete mode 100644 btn_tabventirinni.png delete mode 100644 cargas adicionais.py delete mode 100644 cargas adicionais_atualizada.py delete mode 100644 class_agres.ui delete mode 100644 cota_h_laje.png delete mode 100644 cota_v_laje.png delete mode 100644 detalhamento_vigas.py delete mode 100644 detalhamento_vigas.ui delete mode 100644 detalhamento_vigas_alt.ui delete mode 100644 engaste_d.xcf delete mode 100644 engh.png delete mode 100644 engv.png delete mode 100644 envoltorias_pilares.py delete mode 100644 esquema_bielas.png delete mode 100644 esquema_bielas_legenda.png delete mode 100644 esquema_pilar.png delete mode 100644 gerador_abaco.py delete mode 100644 git_logo.png delete mode 100644 inicial.py delete mode 100644 inicial_new.py delete mode 100644 inicial_new_1.py delete mode 100644 inicio.ui delete mode 100644 inicio_alt.ui delete mode 100644 laje-esqm.png delete mode 100644 laje.png delete mode 100644 laje_unidirecional_ee.png delete mode 100644 laje_unidirecional_ee2.png delete mode 100644 laje_unidirecional_le.png delete mode 100644 laje_unidirecional_le2.png delete mode 100644 laje_unidirecional_ll.png delete mode 100644 laje_unidirecional_ll2.png delete mode 100644 laje_unidirecional_modelo.png.png delete mode 100644 lajes.py delete mode 100644 lajes.ui delete mode 100644 lajes_alt.ui delete mode 100644 lajes_carg_adicional.ui delete mode 100644 lajes_carg_adicional_atualizada.ui delete mode 100644 lajes_revisao.py delete mode 100644 lajes_view.png delete mode 100644 livh.png delete mode 100644 livv.png delete mode 100644 logo.ico delete mode 100644 logo.png delete mode 100644 logo3.png delete mode 100644 logo_a3_mini.png delete mode 100644 logo_brunel.png delete mode 100644 logo_engtool.png delete mode 100644 marcus.py delete mode 100644 nassau_logo.png delete mode 100644 navier_logo.png delete mode 100644 navier_logo_mini.png delete mode 100644 navier_logo_mini_alt.png delete mode 100644 navier_logo_mod.png delete mode 100644 navier_pilar_esquema.png delete mode 100644 navier_viga_dupla.png delete mode 100644 pilar_area_aco.py delete mode 100644 pilar_engaste_a.png delete mode 100644 pilar_engaste_b.png delete mode 100644 pilar_engaste_c.png delete mode 100644 pilar_engaste_d.png delete mode 100644 pilares.py delete mode 100644 pilares.ui delete mode 100644 pilares_alt.ui delete mode 100644 pilares_areas_aco.ui delete mode 100644 sapata_perfil.png delete mode 100644 sapata_sup.png delete mode 100644 sapatas.ui delete mode 100644 sapatas_alt.ui delete mode 100644 secao_viga.png delete mode 100644 secao_viga_detalhamento.png delete mode 100644 secao_viga_detalhamento_infos.png.png delete mode 100644 tabela_bitolas.py delete mode 100644 tabela_marcus.pdf delete mode 100644 teste_classe_agressividade.py delete mode 100644 vigas.ui delete mode 100644 vigas_alt.ui diff --git a/bitolas_ferros.ui b/bitolas_ferros.ui deleted file mode 100644 index c9261ae..0000000 --- a/bitolas_ferros.ui +++ /dev/null @@ -1,355 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 456 - 371 - - - - MainWindow - - - - - - 10 - 60 - 441 - 291 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitola - - - - - Área da Seção - - - - - Tipo de Aço - - - - - 5 mm - - - AlignCenter - - - - - 19.63 mm² - - - AlignCenter - - - - - CA-60 - - - AlignCenter - - - - - 6.3 mm - - - AlignCenter - - - - - 31.17 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 8 mm - - - AlignCenter - - - - - 50.26 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 10 mm - - - AlignCenter - - - - - 78.53 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 12.5 mm - - - AlignCenter - - - - - 122.71 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 16 mm - - - AlignCenter - - - - - 201.06 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 25 mm - - - AlignCenter - - - - - 490.87 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 32 mm - - - AlignCenter - - - - - 804.24 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - 40 mm - - - AlignCenter - - - - - 1256.63 mm² - - - AlignCenter - - - - - CA-50 - - - AlignCenter - - - - - - - 10 - 20 - 241 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Tabela de Bitolas de Aço</span></p></body></html> - - - Qt::AutoText - - - - - - 260 - 20 - 161 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações de ferros comerciais.</p></body></html> - - - - - - - 0 - 0 - 456 - 21 - - - - - - - - diff --git a/btn_caa.png b/btn_caa.png deleted file mode 100644 index 326ba6ab51818645710dfbb079dab0f406d3e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8299 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 OKu$_ovP#@A@V@}7DZCf} diff --git a/btn_cadicional.png b/btn_cadicional.png deleted file mode 100644 index e0ba47deac3cb7271b7e3c34e324489d6c9a39d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11939 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 diff --git a/btn_flexaocomposta.png b/btn_flexaocomposta.png deleted file mode 100644 index 8cbdda714d99e01a84c0c57370f6fa4781f9c474..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14887 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 Z@PFIg2@TM65I6t;002ovPDHLkV1imr%isV2 diff --git a/btn_flexaosimples.png b/btn_flexaosimples.png deleted file mode 100644 index 3b9877d0e862125224eb1ffaf6d0fa70153dbff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13241 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

t94ph`4`I+Jz=})mvM|rV9 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 os?c(l);O_43PH=bU;=x^l!^^k3@5g)FRV~%s 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 MNhwR#h?@lcAKEOt*8l(j diff --git a/btn_tabmarcus.png b/btn_tabmarcus.png deleted file mode 100644 index 698b1a568fc50af8dac785feccbc84f87bdbe46f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18271 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 diff --git a/btn_tabventirinni.png b/btn_tabventirinni.png deleted file mode 100644 index 41c256d7b0ec523d93fd82e8883cb98eaae88f7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12691 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 H27&(vwEX!6 diff --git a/cargas adicionais.py b/cargas adicionais.py deleted file mode 100644 index 2fb9575..0000000 --- a/cargas adicionais.py +++ /dev/null @@ -1,41 +0,0 @@ - - - -import sys - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -from PyQt5.QtWidgets import QTableWidget,QTableWidgetItem - - -class Carga_Adicional(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - - self.ui = loadUi('lajes_carg_adicional_atualizada.ui',self) - #self.tableWidget.setRowCount(linhas) - #self.tableWidget.setColumnCount(colunas) - #table = self.tableWidget() - #header = self.tableWidget.horizontalHeader() - #header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents) - #header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - - self.tableWidget.resizeRowsToContents() - - self.setWindowTitle('Navier - Cargas Adicionais') - self.show() - - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - aplicacao = Carga_Adicional() - app.exec_() diff --git a/cargas adicionais_atualizada.py b/cargas adicionais_atualizada.py deleted file mode 100644 index 6b1780e..0000000 --- a/cargas adicionais_atualizada.py +++ /dev/null @@ -1,47 +0,0 @@ - - - -import sys - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -from PyQt5.QtWidgets import QTableWidget,QTableWidgetItem -from PyQt5 import QtWidgets, QtGui, QtCore - - -class Carga_Adicional(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - - self.ui = loadUi('lajes_carg_adicional_atualizada.ui',self) - #self.tableWidget.setRowCount(linhas) - #self.tableWidget.setColumnCount(colunas) - #table = self.tableWidget() - #header = self.tableWidget.horizontalHeader() - #header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents) - #header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - - header = self.tableWidget.horizontalHeader() - #header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - #header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - #header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - - #item = QTableWidgetItem('Cargas') # create the item - #item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter) # change the alignment - - - #self.tableWidget.resizeRowsToContents() - - self.setWindowTitle('Navier - Cargas Adicionais') - self.show() - - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - aplicacao = Carga_Adicional() - app.exec_() diff --git a/class_agres.ui b/class_agres.ui deleted file mode 100644 index d396e2e..0000000 --- a/class_agres.ui +++ /dev/null @@ -1,456 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 575 - 511 - - - - MainWindow - - - - - - 10 - 350 - 561 - 141 - - - - - 631 - 421 - - - - - Elemento - - - - - Laje - - - - - Viga - - - - - Pilar - - - - - I - - - - - II - - - - - III - - - - - IV - - - - - Classe de Agressividade Ambiental - - - AlignCenter - - - - - - - - - - - - - - - - - - - - 2 cm - - - - - 2.5 cm - - - - - 3.5 cm - - - - - 4.5 cm - - - - - 2.5 cm - - - - - 3 cm - - - - - 4 cm - - - - - 5 cm - - - - - 2.5 cm - - - - - 3 cm - - - - - 4 cm - - - - - 5 cm - - - - - - - 10 - 60 - 561 - 231 - - - - - 631 - 421 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Classe - - - - - Agressividade - - - - - Tipo de Ambiente - - - - - Risco de Deterioração - - - - - I - - - - - Fraca - - - AlignCenter - - - - - Rural - - - AlignCenter - - - - - Insulficiente - - - AlignCenter - - - - - Submersa - - - AlignCenter - - - - - II - - - - - Moderada - - - AlignCenter - - - - - Urbana - - - AlignCenter - - - - - Pequeno - - - AlignCenter - - - - - III - - - - - Forte - - - AlignCenter - - - - - Marinha - - - AlignCenter - - - - - Grande - - - AlignCenter - - - - - Industrial - - - AlignCenter - - - - - V - - - - - Muito Forte - - - AlignCenter - - - - - Industrial - - - AlignCenter - - - - - Elevado - - - AlignCenter - - - - - Respingos de Maré - - - AlignCenter - - - - - - - 40 - 20 - 241 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Classes de Agressividade Ambiental</span></p></body></html> - - - Qt::AutoText - - - - - - 290 - 20 - 271 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6118/14 - Tabela 6.1.</p></body></html> - - - - - - 290 - 310 - 271 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6118/14 - Tabela 7.2.</p></body></html> - - - - - - 40 - 310 - 241 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Cobrimentos Mínimos/Agressividade</span></p></body></html> - - - Qt::AutoText - - - - - - - 0 - 0 - 575 - 21 - - - - - - - - diff --git a/cota_h_laje.png b/cota_h_laje.png deleted file mode 100644 index 87402abe8f823c40714e3c9f0eda0830f1763ecb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 647 zcmV;20(kw2P)EX>4Tx04R}tkv&MmKpe$iQ>8_!4t5Z62w0sgh>AE$6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_3;J6>}?mh0_0Yam~RI_UWP&La) z#baVNw<-o+5kwe$7=d46rk+SIX5cx#?&0I>U6f~epZjz4DtVIuK9P8i>4rtTK|Hf* z>74h8!>lAJ#OK8023?T&k?XR{Z=8z`3p_JyWK#3QVPdh^!Ey()lA#h$6Gs$PqkJLj zvch?bvs$UK);;+PLwRi_&2^f?h+_!}Bq2gZ4P{hdAxf)8iis5M$2|N)jz38*nOtQs zax9<<6_Voz|AXJ%nuV!JHz^bYx?gPjV-yJN0?oQ@e;?a+^91le16NwxUu^)hpQP8@ zTI2}m-v%zO+nT%wT zj1?(+-Q(TC&ffk#)9UXBPw#S>;qzvV00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru;|LTEDi20Qv^D?$02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{003V}L_t(&-tE{i4uBvKMZq6qL+N=qm@Nmh^Wn z(3n^|(bnUzgUr$R;H9ps_{szdIU?rjbaYvGiFPL}+#(uPYOwPQ_bd|?O})OR?1KmU zkFIL&-n@=)U6aBO#z&7{EqS4&`cGeTOUK6tJLKQLvwe4u(P{Cakj>dl0j8%tjwUCW zZP#Lp6LgWNm1vAlS~kx^Kkb3#zIP8FzmA=fUOE4F@fWSi$&7XrEBaoxx$bea*_`=u z&iBs4Yg9CkJU{Z7Eq20>iLW=E&Y#oG$8BSrlM?j#NMh2)8wZQnH&0q98!&Y$()=jicW64sUZo9UaQ@@Iz`?dxB27TXYZ*u zGbYubNM`|;=%mN&|C{gMoz=S1(_B-8c~^YS?_?2#!Jauh>UMlC z!{+%*uHTM&!tvrho8G$Hv-YsZykltg-<9Ig_hh-I2-kt%lC{Bn5<6I{uHCs8_1mJB z!RX4>PrL;M96h3%)psA?J$UZkKikW%-n09^FPi!Ab6PJjTG*1j-CY>|gW!U_%O?Xx zI14-?iy0X7ltGxWVyS%@P>{XE)7O>#F^34By59b#TdF`I$r9Iy66gHf+|;}h2Ir#G z#FEq$h4Rdj3x jS&c|mX!4@hOYd3cUGrhP++KU%7NpkG)z4*}Q$iB}mSYc= diff --git a/detalhamento_vigas.py b/detalhamento_vigas.py deleted file mode 100644 index b7a1a5e..0000000 --- a/detalhamento_vigas.py +++ /dev/null @@ -1,185 +0,0 @@ - - - -import sys - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -from PyQt5.QtWidgets import QTableWidget,QTableWidgetItem -import pyqtgraph as pg - -tabela_bitolas = [ - [6.3, 31.17], - [8, 50.26], - [10, 78.53], - [12.5, 122.71], - [16, 201.06], - [20, 314.15], - [25, 490.87], - [32, 804.24], - [40, 1256.63] - ] -info_viga = ['95','12','45','40','1.9'] - -class Detalhar_viga(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('detalhamento_vigas_alt.ui',self) - self.setWindowTitle('Navier - Vigas - Detalhamento') - self.show() - def load_signals(self): - print('inicializado') - self.pushButton.clicked.connect(self.calcular_area) - #self.pushButton.clicked.connect(self.calcular_estribos) - self.pushButton_2.clicked.connect(self.limpar_detalhamento) - self.pushButton_3.clicked.connect(self.recuperarValores) - - - #pg.plot(x=[0,1,2,3,4], y=[0,1,2,3,4]**2 ) - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch) - - self.widget.setTitle('nº barras/Bitola') - self.widget.showGrid(x=True,y=True,alpha=1) - - #if '0' not in info_viga: - # self.recuperarValores() - - def calcular_estribos(self): - vsw = self.lineEdit_14.text() - fyk_estribo = self.comboBox_2.currentText() - tramos = self.lineEdit_15.text() - - if (vsw != '0' and tramos != '0'): - vsw = float(self.lineEdit_14.text()) - bitola_estribo = float(self.comboBox.currentText()) - fyk_estribo = float(self.comboBox_2.currentText()) - tramos = float(self.lineEdit_15.text()) - d = float(self.lineEdit_13.text()) - - area_bitola = (3.14*((bitola_estribo/1000)**2)/4) - - print(vsw) - print(bitola_estribo) - print(tramos) - print(fyk_estribo) - print(area_bitola) - - - s_estribo = ((tramos * area_bitola * 0.9 * (d/100) * (fyk_estribo*100000/1.15))/vsw*1000)/100 - s_estribo = round(s_estribo, ndigits=3) - - self.lineEdit.setText(str(s_estribo)) - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes para o cálculo dos Estribos!") - - - def recuperarValores(self): - area_aco = info_viga[0] - base = info_viga[1] - altura = info_viga[2] - d = info_viga[3] - d_agreg = info_viga[4] - - self.lineEdit_11.setText(area_aco) - self.lineEdit_10.setText(base) - self.lineEdit_9.setText(altura) - self.lineEdit_12.setText(d_agreg) - self.lineEdit_13.setText(d) - - def calcular_area(self): - area_aco = self.lineEdit_11.text() - base = self.lineEdit_10.text() - altura = self.lineEdit_9.text() - d_agreg = self.lineEdit_12.text() - d = self.lineEdit_13.text() - - if (area_aco != '0' and base != '0' and altura != '0' and d_agreg != '0' and d != '0'): - - self.widget.clear() - area_aco = float(self.lineEdit_11.text()) - base = float(self.lineEdit_10.text()) - altura = float(self.lineEdit_9.text()) - cobrimento = float(self.comboBox_3.currentText()) - bitola_estribo = float(self.comboBox.currentText()) - x = [] - y = [] - z = [] - cont = 0 - for i in tabela_bitolas: - n_barras = float(area_aco/i[1]) - print('bitola: ',i[0],' - nº barras: ',n_barras) - - self.tableWidget.setItem(cont,2, QTableWidgetItem(str(round(n_barras, ndigits=2)))) - self.tableWidget.setItem(cont,3, QTableWidgetItem(str(round(n_barras +0.5)+1))) - - x.append(i[0]) - y.append(round(n_barras +0.5)+1) - - bitola = x[cont] - n_barras = (round(n_barras +0.5)+1) - - espass_horizontal = (round(base - 2*(cobrimento+bitola_estribo/10) - n_barras*(bitola/10), ndigits=2))/(n_barras-1) - - z.append(round(espass_horizontal,ndigits=2)) - self.tableWidget.setItem(cont,4, QTableWidgetItem(str(espass_horizontal))) - - print('base:',base) - print('cobrimento:',cobrimento) - print('bitola_estribo:',bitola_estribo) - print('n_barras:',n_barras) - - cont +=1 - - #print(x) - #print(y) - #print(z) - - self.widget.plot(x=x,y=y,pen=(3)) - - self.calcular_espacamentos() - self.calcular_estribos() - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def calcular_espacamentos(self): - bitola = float(self.comboBox_4.currentText()) - d_agreg = float(self.lineEdit_12.text()) - - s_horizontal = max(2, (bitola/10), 1.2*d_agreg) - s_vertical = max(2, (bitola/10), 0.5*d_agreg) - - #------------------------------- saida de dados ---------------------------------- - self.lineEdit_7.setText(str(s_horizontal)) - self.lineEdit_8.setText(str(s_vertical)) - - def limpar_detalhamento(self): - self.widget.clear() - self.lineEdit_11.setText(str('0')) - self.lineEdit_9.setText(str('0')) - self.lineEdit_10.setText(str('0')) - self.lineEdit_7.setText(str('0')) - self.lineEdit_8.setText(str('0')) - - - - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - inicio = Detalhar_viga() - app.exec_() diff --git a/detalhamento_vigas.ui b/detalhamento_vigas.ui deleted file mode 100644 index 2c16a61..0000000 --- a/detalhamento_vigas.ui +++ /dev/null @@ -1,556 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 831 - 531 - - - - MainWindow - - - - - - 30 - 20 - 91 - 16 - - - - Área de Aço [mm²] - - - - - - 130 - 20 - 81 - 20 - - - - 0 - - - - - - 30 - 260 - 471 - 231 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitola - - - - - As unit [mm²] - - - - - nº aprox. - - - - - nº Barras - - - - - s [cm] - - - - - 6.3 - - - - - 31.17 - - - - - 8 - - - - - 50.26 - - - - - - - - - - 10 - - - - - 78.53 - - - - - 12.5 - - - - - 122.71 - - - - - 16 - - - - - 201.06 - - - - - 25 - - - - - 490.87 - - - - - 32 - - - - - 804.24 - - - - - 40 - - - - - 1256.63 - - - - - - - 420 - 190 - 75 - 23 - - - - Cálcular - - - - - - 510 - 320 - 281 - 161 - - - - - - - 520 - 50 - 261 - 181 - - - - - - - secao_viga_detalhamento_infos.png.png - - - true - - - - - - 420 - 220 - 75 - 23 - - - - Limpar - - - - - - 40 - 50 - 191 - 111 - - - - Seção - - - - - 10 - 20 - 91 - 16 - - - - Base - bw [cm] - - - - - - 100 - 50 - 81 - 20 - - - - 0 - - - - - - 10 - 80 - 91 - 16 - - - - Cobrimento [cm] - - - - - - 100 - 80 - 81 - 22 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - - - 10 - 50 - 91 - 16 - - - - Altura - h [cm] - - - - - - 100 - 20 - 81 - 20 - - - - 0 - - - - - - - 240 - 50 - 161 - 81 - - - - Material - - - - - 10 - 20 - 47 - 21 - - - - Bitola - - - - - - 70 - 20 - 81 - 22 - - - - - 6.3 - - - - - 8 - - - - - 10 - - - - - 12.5 - - - - - 16 - - - - - 25 - - - - - 32 - - - - - 40 - - - - - - - 12 - 50 - 47 - 21 - - - - φ agrg. - - - - - - 70 - 50 - 81 - 20 - - - - 1.9 - - - - - - - 40 - 170 - 201 - 81 - - - - Espaçamentos Calculados - - - - - 20 - 20 - 71 - 21 - - - - Horizontal [cm] - - - - - - 100 - 20 - 91 - 20 - - - - 0 - - - - - - 100 - 50 - 91 - 20 - - - - 0 - - - - - - 20 - 50 - 71 - 21 - - - - Vertical [cm] - - - - - - - - 0 - 0 - 831 - 21 - - - - - - - - PlotWidget - QWidget -
pyqtgraph
- 1 -
-
- - -
diff --git a/detalhamento_vigas_alt.ui b/detalhamento_vigas_alt.ui deleted file mode 100644 index 29cf48a..0000000 --- a/detalhamento_vigas_alt.ui +++ /dev/null @@ -1,820 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 840 - 615 - - - - MainWindow - - - - - - 10 - 10 - 831 - 571 - - - - 0 - - - - Dimesionamento - - - - - 400 - 220 - 401 - 131 - - - - - - - 400 - 20 - 401 - 181 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitola - - - - - As unit [mm²] - - - - - nº aprox. - - - - - nº Barras - - - - - s [cm] - - - - - 6.3 - - - - - 31.17 - - - - - 8 - - - - - 50.26 - - - - - - - - - - 10 - - - - - 78.53 - - - - - 12.5 - - - - - 122.71 - - - - - 16 - - - - - 201.06 - - - - - 25 - - - - - 490.87 - - - - - 32 - - - - - 804.24 - - - - - 40 - - - - - 1256.63 - - - - - - - 290 - 320 - 75 - 23 - - - - Limpar - - - - - - 200 - 320 - 75 - 23 - - - - Calcular - - - - - - 10 - 370 - 361 - 161 - - - - Espaçamentos - - - - - 10 - 17 - 341 - 81 - - - - Espaçamentos entre Barras - - - - - 20 - 20 - 71 - 21 - - - - Horizontal [cm] - - - - - - 100 - 20 - 91 - 20 - - - - 0 - - - - - - 100 - 50 - 91 - 20 - - - - 0 - - - - - - 20 - 50 - 71 - 21 - - - - Vertical [cm] - - - - - - - 10 - 100 - 341 - 51 - - - - Espaçamento entre Estribos - - - - - 40 - 20 - 71 - 21 - - - - s [cm] - - - - - - 100 - 20 - 91 - 20 - - - - 0 - - - - - - - - 10 - 10 - 361 - 211 - - - - Entrada de Informações - - - - - 7 - 50 - 191 - 151 - - - - Seção - - - - - 20 - 20 - 91 - 16 - - - - Base - bw [cm] - - - - - - 110 - 50 - 71 - 20 - - - - 0 - - - - - - 20 - 110 - 91 - 16 - - - - Cobrimento [cm] - - - - - - 110 - 110 - 71 - 22 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - - - 20 - 50 - 91 - 16 - - - - Altura - h [cm] - - - - - - 110 - 20 - 71 - 20 - - - - 0 - - - - - - 17 - 80 - 90 - 21 - - - - Alt. Útil - d [cm] - - - - - - 110 - 80 - 71 - 20 - - - - - - - - - - - 210 - 20 - 81 - 20 - - - - 0 - - - - - - 40 - 20 - 161 - 16 - - - - Área de Aço Longitudinal [mm²] - - - - - - 203 - 50 - 151 - 81 - - - - Material - - - - - 20 - 20 - 47 - 21 - - - - Bitola - - - - - - 70 - 20 - 71 - 22 - - - - - 6.3 - - - - - 8 - - - - - 10 - - - - - 12.5 - - - - - 16 - - - - - 25 - - - - - 32 - - - - - 40 - - - - - - - 20 - 50 - 47 - 21 - - - - φ agrg. - - - - - - 70 - 50 - 71 - 20 - - - - 1.9 - - - - - - - - 10 - 320 - 101 - 23 - - - - Resgatar Valores - - - - - - 10 - 230 - 361 - 81 - - - - Estribos - - - - - 70 - 20 - 61 - 20 - - - - 0 - - - - - - 20 - 50 - 61 - 21 - - - - Bitola - - - - - - 70 - 50 - 61 - 22 - - - - - 5.0 - - - - - 6.3 - - - - - 8.0 - - - - - 10.0 - - - - - 12.5 - - - - - 16 - - - - - 20 - - - - - - - 20 - 20 - 51 - 21 - - - - Vsw [N] - - - - - - 280 - 50 - 61 - 20 - - - - 2 - - - - - - 230 - 50 - 51 - 21 - - - - Tramos - - - - - - 230 - 20 - 61 - 21 - - - - fyk - - - - - - 280 - 20 - 61 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - - - - - 0 - 0 - 840 - 21 - - - - - - - - PlotWidget - QWidget -
pyqtgraph
- 1 -
-
- - -
diff --git a/engaste_d.xcf b/engaste_d.xcf deleted file mode 100644 index 9036de16e19a447c0630eb3e0cdad1997374f7fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6572 zcmeHLYiL|W6h6CoY_iEFo6T;r+a&ExQ)^VJX%#7mS{g7&tO!+*DugxJB#YgoBx$Wx z*a#|u^oKZ3luN3}($_`@QI1zVN+!$v`^MTPoktv?bqY0|yN@7y`l-e77qpjPp~ zneWWZnK}2)z2}>`w=bL9;B4;hbvCsvUrvyhi2@IZ0eK8s0}TXF#GtLvt{{pVq__n| z;CAWjlWMyZOHd7LlD1lCSv#f>g~Xx7(95B9YKvbz20%TL87kLia?ZeDF5|R#7evx1 zQUWc4%Al0s>IX6TZdgRYS@wsg+XJi5*g>CNZiAT7UP)8|v=Kb?X5DLiX4yM^5zg4b z)qYzdo3Z99>^x`M%~e|;xf|w{$c{MK zf$sjyu#6wrlzDsMkSo5j9%6eThQD(xcWP-`#t*^NFs z?6V!8Ew8Q}Tj{eSKD!#W#A}DjJRzuzk@+uB8$e6MW(cswXWI<+-@kOPL19J4%6jOv z6lZM*(Dq69eYTyqH&bE92A1BTeK+js%%^HxchDVt2Z~f!y3oF}p_>r^sFU zZ7K8K6!G2=yM-EVdet~;{BD(TWg88Mc5ths3Es=qKbK}hWJpF zd3!bSjv96+*G0(fnu@V|I8q@|;s0oQ$E>Y_wYDl6c5jBLUDT!JlQ5Q(mB8l3F zs6~jnkWXzT+O~*KjdyfTIP8vj;r_qBfAjNeK^io302-u4Tue<|0xhKmE~6Be6Ys2N z?hR8tS5ktjsFtgtQL5n>RdX#gP7$u73a*DHshk&3h#N4j1mha1gcni~I~3q%XjIa| z=814h)%ngOf!lGF^JNn6cIB3hls#@Opj`!JlCnK>^r5Nj1KS>D_t2QbrzSc(#*u^D zh_)_d-jB>Y(8%tImB`f<$C0&#QRMHILP|3_$?msHk>iVxBHL$j$ou~31oJL1!R|P_ zM?7vg43?Pc0$;3~tYO{(2H6fKIRr)-t73Pe6CBeq9%0@F*4Ya7*$);v5SFOmr4`4) zP=!%&)s{j?*{f8dg3lHo1+&fMz;XT4MTiR4+Z~jsO*9iZ%u`*9sIYEw2eu3Z{Qv&` z)z43J+(EuCMBXQnfESX=5q02;xN=7fJQ7t-sRF-Lf@i`Q2hQ194*n?v z50xq>6@#CG%2iA)vU@Lu%I+>qQZtK5oR$@6JAJl3-;O78OqnmK$dSb-l|T3@c0rU> zA`-`n?L$4{*v5QuEBRCw)qWw#qK3?(iubveP~88n6P{d;$b6Tu!3?)$)n(QK+S}J9 ztm-y>(JvIgSNz$aSK2YCRO{T;mze(Qs}wsGZ&SQe@gBv86`xRiMRBj<2a2C79#@<( z7_CrjP<%>pm*QKB2MrSCu{-^)hF4MEum5HL(s$?rPW_FV58gU^b!DXk=TJIGd7t7* z-VA+5pXkNFwA%QrrZ%NJtN4-P5jy~A$H0tj(*6e(&5s|7y`c3s3?i+H-+tMr?6al)57b-XcUpy&g<7A~ z`Q`d=R9pTYU8uH?hN$$qjRQS{(s8b*D?T#2t_uB?pXL%vWWG;V?$#%@-}x%`?u$%Y zTn+}1x)X{g4c5zlHY;`v>hUqt82?gH_tp56sV8)O5_+gl==_OR?Y}~Cm7=`Kki@Nu zJ&GF??^S$A@lk_yO4N1lY5ilxuMFbtiW1MM;Z+R6HhMn$gx2CKhIu?sZ!-UcGvdiB zndQ@=kf+y~XDXPd^Yj|?R5kNto?d01sP+6`f)--I{&R4tJ-Aygz!wne~}{FYbHZqYO(0mOAp7 zxfxn~t$7E_#D>a_Qm!`OtkmK7e5%xzv64!fu1jH7Lj4j)#fI^<*MEYFy$P8Hl2o2g zX*Q)an^Mns-KMZ(#9uefam8O0 wrxjg;DP^+MX00n5q(-%VzdxywQm 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 diff --git a/engv.png b/engv.png deleted file mode 100644 index d1a9d402360223a6f4ef1f41f4d50c9efcbe3258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4319 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

>p{`L6oWViVP741tS-MQV^3Sn!2ha5qbon6cMX9 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≺uiJg{ zU3azC`~0M=|&gIPlQI3Qck4x4cf&AgwkAz<*V9dZARUU zOh^@)-NkVZcV+t=YIE%feEj*9By}$JbA^aL+?^hM(U+3sKB={wI;=cgsrc^DY2R+; z$>?D{s1PrzeR4qZSAn-CgI=R1#~}43 zKQd6i{k1z(Z^1AB#3)3Py=&f6fG;`V^4?5cku}Cqpv(^=!%p_|>Q%*zQ!A=X6c=0< ze*ro!q;+s${cIqNl2-lD?A!<_XY0fSEyb&)roq1B8U9O6+fsh=8?TOzJhZ4fzo;>& z(!_N6=XTzXJndwTG(3x~`xyUi8JI=;QL)ozf}^l0i#HQzNO7-48xT88J+R-r$tokm z1SHy1cN9n+&@vJP^%mCl-9})tdBw$DAfL+|rzPMOyYa98!xX|W?2^VKI{J`ve-OmBT9=LT z0wd?=zMu*mehzdKsJXC)%CeBbF5-|8hRJ(J;sjFO(qw_IA|oU7?+3?&4}D*lEz-2QGM`Qc=d3xI%qdq)VQ*$iuLZ@YZ)0C z?IeaGG@sN{f`fyxp~ujMk^%AAy&izJbaILVAa9$V_EX5-ki^m$2H?soDpE8xoy)r@ zj-|W6#a9oFKAtr#U{QPspTR!D>)$WqcdL&IMhdyiw_2v4lX7!krQ}dAB|A$_*T&hT zCUy_t2Z)ERcXY=Ux*>=}uNN=OfRa21%KCipdqexAO~s4p!gVu^ZY{ZTeDt{b#AxQW z>0xyja7Y37H68ouFYY~iMLAzGtSidOAg_aESxnE2*eMR};({j4)Blp8Sf~gETvybI zs+{tg7$f^7iPc5My=b}O!ovxE+8#zI)-*UJ-gkd=T|&Y~IqmtY__*EH;`BoN2E(GR zI@eYBwwW;9{N`p1D4|~sFDRk1-~oY^wH6uGXqlLhW@sTnUx9)_Weug*)La+VXz%VO z018hdWO>#4-AlEcHb@M)hg4vUz|OLeAqR(t(X5%VjFNA7N-{HpiQN~rx1Gwq@{_aD zUS?A%W`G*T4nhE##)Rq(w*iJJfP(z|nQKs(I6(y$W+Wvg9iN!UsII04iUWBA>lasQ;!r*lkn>3RY=@I4Y5Wd$84-7;gaj}1nj%Gq*@bK_Jl8|g!t^V2ERMgeI zw!Tu9n;ZV#3tB*}|33-9;7}ARHa0fC+bfvl)%~};^F=i?Z5Z+Ssxvf+;wSZ8 zN?Fkn5r~fi$_@@ZI$YO~tib$&N=mjFO9tQanRJ2iF!<}&RTC4FgTup&x;k1a#n%3Q z5_mL7S1@#9Vq$=kdu&Yj5urXdA@D z#Lz6Y@^zr)!TtvUX{Z05k()~Z_8<%aC9$)&7Yt#Gp%+abTW6(?n#jY8R?{;v8Bo)L zxyQz?!zg1VCdwuz%s|mGlR;vGqRJattB-vt#+CBz!}*lg{`29>)Np0>%hp6KqYeLQ zJSvA?V_>SFaL4sUj*gDN_#3ZvzA;*25?5X>So`IRVWB>i;{4w7x4h4v+oEZO=70x) z6w}esG3`qhfOHwJ_v8cjaBgia5<~&$8Ws@|YLFtZ?4A96c@RN_goGFe>wKr36!Rc( zQBDpE$lWR4hcVkK`wd#AxNunMuP^RIphSR0ZfS0t>nJ;)1S*2 z77M1|{O{ipu=xv7d`&F@muDt!UpX{r4XW8yhx61KbzL z<(h~pVJeV|fnco2b0lRnH8H_rlZ9<4*eR~~pYJMzd(&|6<34OJ3Y5P&8r{0OKQuEF z3pMErlytn|g^)T2rN`zZ9!Mh~9l#nftn+yI;{{Yp1gP{@5L;$uX4dxh9gw=EK+25k zT<})=-^&{tGZ-2fl|B1LeZCtP5L#a^shK7gR9ws(`toHaSh~Q>mG$*$zI^!-|N1qa zlarH|xA(%vL`AL3GNJaPN6sLo!4qZUM{DAAarEsdO=@r9F{ zCWZgKe7xh^`agvRq|jwQY^n@HLqpSxiiklAgu#sT{d+(=Ev36|va_3>AMYak37NXo zML4)QC>icR5MI1^(ewR#SaWl8So>$F#|!{>;AQ~9VIMy-1E)L{pzgXOO)2)xl;8C9 z;19<0t51qgO^sSuFbBoJZBUMjAR{L?Bd0Xrq+;XX=xS452aQI~z;HE2DFj&bVvOhv zLSq`~c8lRHp z>qNG-p%fGp^#2##Kt|5RMey|WlqIQ`-*d|tA*-%_^<8Qz zxYL1PBvdS8)HN+FZ8E=E8)MNA5c0|5t{f2fqpj&EkY^Q%iQrTYWhnz|E3c?1^FFkN z5__qOrpXWbWCJ(>f5F`f<}u=Wy>NcApDbiW0tNs-wCvj2S{4otd>9;9Z0(DE4!vUI zD|~!>dZ$@7bRbv#{QUIG%<%x2&CSgRXJ-0it6ExQVP6Ok{Ql=&oK%F#>Kvd!%jO-y z#OzZG2jtAUa62wdxo;nFCo{xYDQ)K?N@53p1)5j=9skRr=L0kA2-3ng3wXH46+?)-hI2RXJd_qEy)rS}OAi(4&E&Bez zG%vL{EwTj58M{_15|AmX^D8TstaSooeI7+8dJT<@(g3#Z?wwF*5qohmDW!| zMP|TAEf27I`nscPYDDSxIvSd3d?sb9X}ex$4_R0C+@N@6YG+3T{sFk>7@z;yvuDQ# z!w+_WbhmVNE;rfpN7u@|eej5EeDKDFReLV}-NdH=Nx-HsM#tLvy7OWeF-A;*rzEeS zfV-Y>xhi%q$q^t9Y}Svu24LL*(3jay2xjNzW`V5=s8>~01q$*dqzqWP>Du{Z%*+F8 zJ)=p1WNnVl!@@DpMVD4r7k}nII_|!Aft92EYJ6OuLDC~S=0aazKcYRH^e@qXK=ROj zMmUqXZZ3$vx$S^UNkn>OB^7`Y=3u0`IiT5L8>1OT9e=gJ=E))D6czD)3=cz>hwc*& ztPJGM4KXnq9v&XBTz_A0*#t?OEb7DrzBIq{f`WpgqFHC;wVvKyELPlm=Q}uH=*b~5 zlmePJNLV1+ao{Vud3vG&qaf6ci{s)eestHag-zFcW>r;P19N{i;8NOgwuu;#Ea}NB zb8(E;%e1z(F6Hk6<6`09&+zf=luTeHM5uvMd-s7fw7nKCkBI z=NE=fPEW@`)k3x#H+o-#{vp5_iE(1!>__X-qjn`#Zcfg?A?uDNzq7#~KZ4PWG1b3JTD=%z(`vou<)# zE0jqF2JnyWm!6$3KufQmTK-#}Tl13`cli3MCpeehnpZ9m(@2-brVoFl>MS=hk6 zO9psLL3wj8$fe#F2W#U=5jb6#IbmNwgOYxG%NMS|Cg<%fLBcE(eeI53I*=q7!;;`l zK|w*7#lp%;S8*FSfdzU+C<6mpYF^_A$O(+V2j&I?04=fC>B`H?^FL_(cQjS&eaMAb z3dXiuA1y+M1Ui8I<8!pp3O*^A>ye64)CPI};3YsuP8M@!n-Yb+0G5EUEUe#keY`xk zvaqydgNFan|MWJHDx?-zQp+(HrB*uhU25VvJ$b$3Uj##9gLmHc z?yjBxn1k=uFL5xEM`t?Btc68I7h!I|bIW^1OtNi{EK%<(7bm1o3t%C5su9f Ns*0Kl#VFI@{{d0QS2Yt#`feNzm6-CnIJgh9HPcfs1MyeVNR3b(tJn0sxE8u@9dQ9w110}4=sgF2&dkuVqWRB}mfj+*|Q}0bEuP7>6S>@5(Dek%8iiL}^Fdr?> zxA)J>E0w2Zx-~t)sdQo(Kp77^nDulCy!#Y&6B4Hu{~6@QMmD+|NWp5e&3(?+f5!8$<^qdr&bwv!WXT4P?#(>j=WqBa;l_Q zc)DdKEm>O7GnrTAjLRep8MGfQbEgbrCAS7_=!ad0_-ZDYl}VH0IdG`N_|Zy4aP~KD z#hJIq!za5HSC3&!&juQC)RKdr7byE-F%dhhmg0({Tip0XN~cMl5u|ugcV1dIZf@Jp z)#O9x&KOPiUqh0%zfup}j7V5<+UL4@1C3ITB8RToVl*;H2U4&Sv7szMibdXoxMy#b zjwk6)Uy zFPkKYP*Q$ikH5a2^X(MxAeuN?EXFx=yX-F-pVhUA`5*ovzYf;6isA_g>rFRMS03WR zl%t3Wy8dJJZU6qxf1QU%otT8=WHklXl4pIox_eadVz@!~^0!V!&CNlrEsNOG?arCW zI$RpbWHrk-E-4NU4w*EEO9QFpuU@I5Q1r~#uFa7?SR3bB4Ujw7nr|KPNlQzU@m;ur zi;GK1O>Ji=rXHOWLCxG$Ve#kU`(C6r2E^qd?^Er+KY(u;8b@pXJ=;+j}{&hT7{9e4dfPAupfPPWe!WP?=YRjV6;)YrZFtz_iwS1R*-z^$OQ+R%afJGMUJ;#^U)0r4V7a0hK9IQ?^z?TQ8;)6Z-P_dFc=58AyH9L z&qrF?+Ruq#+)7nbALi%t(ovC>mHaYtatnP=m^RRBg-fxE^bt+n@0@&`SIf;-Ljbce4ADZkXNoHjf-#S%*@O< zd3Xe%os%E=L*)iVn1zMtll>pvwjy2c-xu5&Qu?_u1KZu*6&jD&!Q3)$^2jnDS9JMw z-Q#Op3la+^Uf=B|Xz024Kq72=vbRhOJ-#My`YbgyO(#c6!^-N*yaFIN=kS^Dj4Z0{JgyuadCDe8ulxomoqBI z0S2KOoX8GB6u9+XeA!ZFmh#9PpY@$hQY(7zKdMj$bxl>7^-fIqx3#y24VGwS{54%` zL*ec1-F9|3_w-t4YAWnS*x?L(O&Edr`XVb!wwHPBzQ4apXZV>#PsG`;Kv8;9Co1&N z5Xr4uw}_$Ql9GWx*i@e9<}weAj(UgR7|s&Env#+tj%~IzH^hWmcU|G9ia?Kbi#1*RFAwz zj|k|WsDZR)6A__YTU*r1g=G|3zOfQNHYHnwDw?13qzFQPn-Ne_=&y7u(%Pa4F%vFJDsm0O> z;v2pTs$**b=tg(5DxQbbmWucCOsv(_`%jn7)@wVr9*ljjx9@-c>XqPdrf3Yc5r${9 zSR=LP{rm4xlH1vm?kvZJ-IJ5XT=Md#3Ae2b4fkrZ#GUsR3c8-`xiwmBd~H8Xne)}t zTo@c2bmimYlNg)Ee<9)e%ta!*|Ct$?q$s4SrZ#wfc52R~h|4W3M9a)9I5jo3^Yf>P z2>~%NvA%^x;?9l_Cnsm7qiY2fhuUobTp+7%C@2VJpU=)(Tt*v&2nRY?o49)Ko?er6 zOKNEp-c^eYdXSvuwYBPAUS6jm3ff^S9?s4@ka26CT%hK#B;0PU$+PmKyYtM(=4MH8 zv4d6Id9Rb6XF#LyO~yYTU%SJ6J-!pe^GBS|+ObiTsU=sL?M4>X>1|{X?Ed%88ko(q#hU_3=+7cQ}(-C+0)rzQc zq&ydJqpum@!S?r-Gi>-FTM>HndKY8nKM46ZjQk6rc7BRGugn{?t@C34h!gcdiyUms zG%Q{TU&(SlZjR3+V`XLSWlmN1tRyO!a;tWFCnM@l_Jsk};>XpA41%cxPy%3NXN2qQ z=s1v<5d3T{KEZ1DUC4putyE|d#lnYt8JISY!!nV6V{0@+Y_iqyi;F;Ap7 zbc{zo7BGe_QV|T_e#-;CB z;Blinb`v-y!D+r1;3O_4wlv%5ZbcW3o1^V1aC$+Z_wwpe9BX)2N7!l5G~Z?0K@%nx z2Jt4^xy-_|#JxJ)(gUs>LR)QmT``iE(*Xp6;}0oQ#9cyBW3w0ec4M&Vt|OnVFS1oz zizYP7CP;%r{zS2Sx7o}tux<3xUd-XAo6_#-%@mOu5P^}7036jrNEH=Nm1ZJYE^!kp z4gjV%`I@{)z^Z;jvW&bBCQ>_3E=_OSqk;@8qN%BQKGoOh4e@#&zU8SDXq|dPeSEk% z2SuXMsD}?9V$r5w-g@IE)xH9vpNq8bj$0^JeTI@1qhA|+r@2$3Kqh#8+eyn}aLSGDvFTP;VV0@SC7 z`6hsL@O?1;JTFh^?%lg0^rVSd2q|HxcSZACyW~?7FCM)YGysfufBvL}{7&{9gVD}# zLDcms)9MhHW?BJLLI|w=1|`QjGcz;Z;H>9bd3yzq61td}cK#&OVev^u79%S`{x}4t zWHNCsx~XAgYC1hHk!6pEnR<@Esr!(-?A$2r3w9trDJdp3HPw7k2M_?TFa&|-TiRC| zqYz1veV&V8cSaT~tDe(!mCBz6!^-?tMsmv94#u^d&NMqiepYJd-@JDJiYZ@vj@y?x zowLmm+4+M8R__ImKVH7PzWk-d|5;vM^@_vSlfjCRPhpkSd1f~?JFd1{*B&P12kUrh zcq0wY*I!)VOP{rsE*wOlJsd3dJqhrea8#EFB5iWcu}u{^kGZoHy=H4y-pal!^mUkR zpR*tNRA0gUFe8KR#*G`V*eZ%>kTVZPJGPOW^=n5@adNNhSR0|;p%=(S{oXSu+;j$M z7A@7+S4ZZ-u9YrWpB~6|pkwK8m`&tc@7n$(;-&9eG!^t3C-f@Da&7fv*w>yEZqd)U zD0e$_1YV}cx?`V|$Ym8{$T1&cN&J=vX_E!*nb2}G9bxhSVxwbXf>+G({(tiNPwoF- z3_x>Yu~^LJ=19ZWgt`hoBnchDIB4*{tIQcXjlNJ2U|?XlEJjNn`Fk5(1uAj>*5E$? z@|zI-w!euHuz)!KjZNb>J=`q9w!gNwAgXxsK?rc&?1EGQz64%ZU=dNtc?M`j71F z!G8$&rGJ;eRebjF(IZV|W!wiEymf(hB^ap~8Ts`T&m`E{*^iq~sYHSWdq7sA3W^%Gf{nO!X!3o@f`^aU)Blv(DJpzk&Ld!*2H_G{_i09BBXkWhM(7E@AQRkbb? zRa8_&MNc1(PXaIB5EZS_8`*$W%9YXl zr*~TKX*^gu+iKnRIaoDF8aiDo%h&Yr5izZ?0$>q1pXegN$eZX`%j4fN>Dq^Pbotky zotF>e;#3T15)u;)SCCgr^m-ZL?k3e zygM-4PcLuX=VB3aAOvCXImZSMo>IEGyNiZngF*q9)vs!kV)OA&P*G7aFf)q-G-#n= z^d=s3@2)~*TiXp9INWZs+yLF;&jaEmZ28v9kqleRRa0Kx)#N#+S~f8@ZVH@5zx8GX zu@&)O(S{-cS7Sm64d=?Hjy#f@ZOaecBLYI_iEt;D+Nf09Ak3VPy*eU^oL)p}i?o@S zpFi5PDmE@oJxRpA@A3Omog52?fS-R&y>=XeH*oG$zy10Fe6;B43|KRqX@79U(a*(x zq`;o1@IdP3`SBuL-gzXOYb6`Yz{Hev|7&m=5)1OwZ+8LN&;xjM2-u>x@rr_i+BG(v z=YRSF<#?-VO1W&Jpt+eoJUkpAXgB74Oxko?kQI=Jv5ASqR&7C4QBhGs3l!w!@CL%% ztSml2OrSbIiw;)D@V48Jtdm3#2*l3Ok$1|a(pp+x&MFC8+u9;$WzC20(!t@0vhZGr zG5?{goLmz+BR^jlT-GT;QAXyt!$MG6+N`pwN(dfdYMMUz`Lm_q`HJ-oL>vWc-`DmB zDbJqy*q;e?3P7m9eTH@m3j*pLTh^QQm0|J}+K>^Xx(UDkNyUh`S;Nn7F z20mc*lhg#9lG1jp_9Kfz2udPci$c|Ht9Q{4=w@GEU(u67SF)V!l$6ZOc%w4i`ue#9 z%yagCB>TT8@E^1*ho`C+adC3KeD{u#N!rVJihj1RkR3fU^Bw3(rw5@HC=@RU5NMv4 zL`SF|qNSyEac54R!AA%Rs;a2qX=-Vim|u5wbro~?ld|Dr zlBOmxkZ)rw!K@m#JUl!=s213ChF3B!ZD26A_1sSY`uw#wXWk4to4Hfp4nV)(>a*#Q z&WPsLw@$^jwl;vmb%A2`eWZuHbws!RWr2Q7LEk^b`uO?%8p{^XdH$TUrlyAeW~j{E z2ffVrctQ{iRXJ@8c=ljmBMMgC7-OaUn_;t?&+U@gJmJl9%RrHF#|nXz z9&@?ua1z-~wf!Ka&~tN&2V^OYjg7nl0x>Z$c%V%?8Om|%=Ee(IHq|+8+ZyxvfWRdt zCFy9Q*Cxt*4>!z*^A#@&?%Lbif8XAIN^$cTQ_yeI=tkR@e9e7tPVo$jMFy3pFuzu6e`sC2KN!$12KD7`9!+?vp@5>{0xy zhBp9!6XB?+sHLK)$mH(nX6NW^3jlB=1t&=;-#%GNYOo*`QX=Bb=WcdSYIKChm>B*7ZqV>jO zhYvJE=idXneLY>BdGa+!(c2CDB45FUbfiN=8YrbFy7akz_!9wi`bMdvcM`Op;&KRZ z%n&~ZTP0QqR>B)h^^Ypue;NxV_uBWGRhnvD%5T|)TRi=CQeKMwFAMpY)-Y9d!B0?TH4tUENP59fUF} zPChY}WP2E7CJjM$>iwA||LTZ0Qll3ean z{rSzm&nf;)_PyNQQ?xg(-Q;d>t88xy9i_av!IApmnIvqX#EN|>gjQ-wP;86ct`yrs zu??}ivXK`6z{m2x9S2b)>x;ce?IoS*M{DTZZ0miuHFDe zPuq9iwl++Dj@}MTN-A%)48qB%001U{3RGSfF}oM+|HV`(c=NzO@1SE}!h0mXa4h)a zhD>47U!BhC9u%Q7k+ovjy7Cv0o4991-G7f))DK_qMA{D9JvpSsEr0SJkF2Jr$;WtL zKAmi+QRH)AVdmEU#rN%tIoUV9q%}u|@~y<8jpg@=bndP|vJMLqs8qvH;3Vt^Ed`C?vP-n+UN z=6GRQ^%#?|cQ3&ekLo?NkhlPMoMx@BmXKs9rBXN_E-oHG7*7DND}V_s&xFeac!Gy_ z2}7z7g1Vi-%sl{F8r;&q5>V+qf7kSvc6}%F&*0t`N`W_WB9cjmp18xq!`u`qq2EM{ zX`)JAtWwAV({SbJ!6cb2K)@Ox9{MFoUMU;^h(ta?gP3|H>@wU_K6|H14+Cz%D`DTD z25RsfEs@xyLxseO;o%)vhlQ5f zE5X^P2K>D(x!scAJG~fubDkUXMuK9oeN8y`N-^kADRE!@swb5+h*Pj!48=#d+z+H? z-*B7~pd*d|B7p#DX3zkrzZx{X#&za=6p_zPzB@PfT#$*v9CetpLswm9VM^-|`2K*1 ziVkjo>rM>d$sy|!7bAWT1a^ms^Wc-Ig|jmZ1P94`jJ+p1-`k4I028}uXifb#bRk{X zC+gv|-c^+|)aZNN!c{Nk{T7S^8Yl$ub1LPeAQStoNBk1$WrV0}*eDivlUe4n(lyv_ zv+5h&#xWuSN2+#w#nMmbb_PD+f-Ipx>Ab?-6ouQb-`dtzO6(yk9gaI2MAu>sqHZ;5 z`oi5pc5f2!F9`QJ0FY$4AbE-J223)o4l5A{jMGgQMJ0aN0enu|w0vq;_e$|a+3M}l z86+$=DTuL60ly%NcT@*>&!9tf<(H9W7j^bXgW|U1_!Y7|P1>YxoHcSRQ!F7VBHuSFkfxb#q%Fdoxw4 zjF52T7sXl%(b;%@hAKhggHlHDS@9!E_R+9jN4Z{(hRLYwA2epzl@x3Rn2ojIb6@CtkT zG*w(uh}6L1ByF`|AR$yAe!^+JcZ`g<;*kN^nLAc2=r=lNN(o8VV?)GUnP zCz!n@e0^jZY4PzUV-4LN%(YV0ynCGefEiyfwATn%@2_GYD6B(SpXPcy-F>9na|P)Yg+X@56Akeo?NTPZobrixe?@y{7Mx1i~WarX91SkIAI7(|hN9epODFhWCuZt(O>G@Z$cHZ_*L+ zxU01tdY`n?6YS3}-Bj}L6E<3Eq1u_zK$<8vF3afRzu#^J1wApGEK&>G>BC^jw;9l58zyHLpNf;AN}(#+a!-T zQdj}$3*9A%PLJ%?LD6&V+~xhwX5x*%-1@j@0 zKGV(cf)2BT5#p5v_q)mOZ3h#w_^3{?@qRl7wnT1D*?{_{ouka4&f-Sb*IWX6z-c-4 zDZ~6GLp5{OZZUpwHa4c?aoC_z6o|-_txa-v&d%m7R~cNbqKK$C`My%!w+-ZAU3o(k z{3`o_<;Gf?<{`T~W9i*S1iDoe0E^8`RCxpD&9g%TeD)}1V7P2D^1)b(I<)re=L(hm33~Xc-bd7*mF|rAE={!8 zeNnygeEWr#{VaEyEo)iH-8YJ>U{?P!Z5dsoeTuPT#u?(n+c zzea|76e)oUmVWP~)6QG3vl$o)0Eh3dql*`Qr93o)E<>!htRSu3D!B5*N43)$#LO=; z{k4FCPQQ}Je6>_0b~)H^sCkSmt*SRe4{jfSuL6!6=F9CgQ|6m;>UE<93C+X9qBg7A zjpfq9%zuz%{z65Z!1MWm%=doU@;&c)mB@V2{nV&eeuLCEk+5SvxNvBM5?!6jr)y!r zWkq?+k*I-wXwStNJFj+-Oe8ygM8V&I#EY{amyxyU&$EOT!#5S{Qt=JzRU=`YpMNSK zw?geTR5{J%DEXOsfx=zgeLrBa9?b4?oT-4YF$9k&7+)s)RiN+gHa9;*V!u@{zDztB zdC&AEi1bw`u%2A2v5_Jzr9AAl+R)dp4mhlzR6?#Z7jibAru3~I8Gii;|CIu+wRMv-*8H>MIq!=Z}($g*9_#&1|l@@s^6M? zcdA%#l-u$5C}1dhVXCw^J-2YB`!CACU`f}{)$DRH9WY>yzHo$ zYkc~a?H1lp!zh4Rw5dqtH-X^)Q(~Sauwn$iN({TJEF+{J*t?M4+-*%|vww~_{6=Gs zVWYCB4HDYo7sc?X6v5z`c~F%W6om_GzA<1LN_yxCQBm=La$bF0?TyH#m+?MSe=*za zsCFg^ae7P8is)3>%Gi`?EAZc1f4J#L_DEeytAumO8PjW=7IOO1W z&-+h+Lra(7wIry}*%vtn3I$SNcn1*i=j2NPNo=gf{^H$kXtOG!)75ak!~TK>fH0C9 z#RZtQ2bX2lS`Gi5n0P~IIzUQ?-)n65+?V03V{v~Z-kekctzzY>6c)D`r-qtVBYRFC z%nt|>tAAEi*?BbR^(p3n8a{=#FXnxILN;K%I52BWb})SE<~G|rbGCZ4-rpZp5O}eh z8OekC5ON~wQC-m_ouvLE;r!gDU12Ki`)4-PpCv3APVnC)Oz?L#up&X{=KJI0%>z*}EY_Lfz+H4hqoC!NHBLG=@!sPGT1!0}Mizv(sX>`3dc z{@JFR(dPQCuqEHSJsJD_J05eIe=z8^Il>!LlC|(pHh4BWBV(E}{}Yo#d?^hrO`ElO z)KtBT$)|?;PnkcwZa}zzlSkI*d}Qm);{k0|&K4ncrD|km%<{#C9s4=p0cIl zhSEF`f12P)THWT0A(lt>?1Td&PYv_cHr7D9q*qb$miy?E!}y{Lq3&8x92s@9HeH)! zzPoQP1(m>$$5a8evQPGl8-0IZHum1qfEQoS(Y4EEaWnl`zg|o^1cVV|gyp;&yc!>k zX871R24A3WeQwGZ>+leXS90oSmi7X-~RNpgsm?~=z7OTL&H);fgiC2Xg{q&XEjC$lq# zMoDw#B);|D6ll(~-7+;JIZWYxT@=fC$)36@9^}*yd9Q9RGLeHbQ3JU_(Nc3JQlNjr zs=qn~ELaN~R#K{#gunF$UQ%hAxx|}+F$tD{|6sLiC2nbaX19CToI(l17w1vmwCQLd z;U}f~HgbBM5;aS=p^NBbG$jG5DbC>`m&Ld94AE`aME8{r*r$#$E}iGr1MSrbQT$>f zh;c3dURstRydwBR)Dq}YtDtg}pSnkFN_ z-V1kd{$Ae)|KV^<11JQQ7hcZh=SO^lv~E0;wpB7yTBt~&C$~;{4^Re(p<@nlt$mI1 zqu#|I;6pgrLROncWcQ@pnUE!)O~emPxz*Np{pip1IDgn*Py;H8V$XJ_cvagD<7=pJ z-2aU<3*sq<8-KkFF$kQCK^C{fj5M-@7yNBXP5Jg?x>Ifkp?#F^;z;#eSRcm{+nYF? zNh`=gIt=00a}e-va>r*BP9Rk(!3F#7s6UwswE=j=KS@?D?y_6@W1=j!+~NARMVUx>262?a1aixUua zIn|5XB$aO!k{9H^l>$2sgvI`D_(=2p52T&_g5F8vN?tIEqox-ShKvL-d?063d83Qw zmp+fP&|1EEr8;=;9+Mz=_}# zob{0a%6D(EL#j2FThrrGIqnEAxX(woB;Fk4Pz{i>stAh8hI< zqAHC=I$4Y86HC&UICwaK(o?S}idAjUq?pe8JtJWXbNR8}NhCGNB+mdT^3Y2A9S>HY zv6lD9^QE7pYIMn}Tr1B`J)|J+io{Xyfye`KFta!~_cqXu+vuYwHucX9V9}*U%4iaO zehV&p=Jrxmp!SIFA7MO-dX9 zU>Oe{|Dg3_`~@UBX-tqD@PhyMqC((xN2V5$mz)wb~ds~xQ58YX~gv9&|? zuU$u2OMmXP=Zj=usBGv5o`{p=YTnb(@#Ro-HF{(idA_Ctn$Wyu#s`LL>kIdaB&Fio z5nBK75qryZHaq2uRz{$VfjT%Q8wQW)U&qG@ytOF}%Lto^9Nas758x9=75rY19S%c+ z{_ouMfxl0U6`D2$g~#n2zlQ?FgyrCzDHktM_SQ%Ev09b7Cbit(ijzrLw%5hp z44|^1LPlUzG0Dx?spr#|{9|b#9Wca)MQ(z7kka+385n=Y0|GAq|pH}wi#+K|30O9z*iPppu zVBfi%+sX?6GwpQR%OPn*;4*vvdWsK#z)%V)lV~sX4|Iml8yoPMK}qqgmT?0%!N9em zO(av1sn6I*_7OHpVy;`cn4=6eS0wSID(DEa)iuTlNJf1YK9R0S-PlzS04h}p0{o#p zxA-LdFCv?H5ZSMiPT)s<%SkL%!I>jyE9of-yzUTcsYSzCnM~!%1Z)@s>tnztm7q#t zVcd^6-Pq;r>zjFp|2r?R&M~m_Iko<4O0-U#5+!^79(`{kjr9lfDcX_0I4%rk>_sV` zR@AEjfYoU3s%CVYLxx53{dE&_zF}DdFWDN7cj?5v5wV+OV)&*)Yal^+!&|%`_6Gk$ zp)ZochGDo>Vw9bVTu2~=hc~9zi{TpsNYQVH3#+?ZFgTdeXbX1zr(PTzU(*yl#>52S zH?2SXT^?osD*=oCtJ3%YJHx)dGn2BRg2&_j_~Ff>zgxNDU36fpGe=2Oe=LtCnDM^= z*VJg?IQZtzO8yLk8BXxdKAMndA)7vIefh_)`AA@9e8J26{MqQNb>A1#H8mkT(9wFQ z=u zrm^{UGh)hg0Xf50^ykt|uXuX{?G8FiGd4+y!6US_P*Uh=4wfS`fM0siVHLbI2l#;y zDzY{h2^1VvOYE1@-0wis&))pYc=r;|xoh`WO%MB>>MQ<8$11odfH8mGxsX|futckm z7HJ}!FNA;0RFlQlJVRb3tc-a{vBYk?D5SH1L|$4~ymgo>Df}Wi>G@Y{Hqro;=%d2< zt(SVU10rL+gJ;oIP+H0<$&_X7;NT4E3#t+H_D4$mtX!*4#GS4uu3A4_apmlH&mbBw zCP~|B{8iY+o$ur-Z({hmFLw$R*^?$;_0*yxS}rYUdPA9 z%-e}s>36+LmJ+nd$z{8D*W>Nd_t%<*W{3oq+}DvuphU3okY#zt@WmNJy6FTD%dDL& z1#xH~2;Tx|y@xjVp$8lIGPOh>+|$d=$AfqzA0K_S4#tVEv5X0ELrD88Lg#khVAC37 zwbQ7Ssgyh`o5XMm12E8oe+C_0@vIP4`|v;`oi&XYItQYt`)pCdAN%ic0EkM-nK8`uj6@ycLypv8AqXK!Cy58{ zHpHzMKDa@J*xf~c9DA(DtYmAODwg`E=_>p_ff3(`SrWj+*{>*kcSw+H;YHs-1g`B3 zU{YUN(;)2{<#=#bv(?j$6E1Xcbv+k3a!I?Au~xB(`6s8^b7XkiLlb(h5LyznzHI}- zpQ1Qfb*7m(QEKwd|8H@7vdn~NmJ_OjGOvm=P`N!pwHSo)IM-% zU~_)8p@BZYm}`c=w!{wvD7O_r-QQ2>9`8I&)f)yc{0NU7{CWMMbt# z!bcm?yP;Uvyt}5#%JT)~{LZ#>rkR7oP4$iasy6x^qqE`1+A(k=~4I{JPagg0d zhPy*Q6!C6^UPuGNl51@})V#sM_UnRQ(l-sP_Z~q4$RU*`#xO};n6YnVi(Opk?q8B5 z*q_Ml+1C6bwjr+imtE^bJsshgxeN)qig|AL6k2}1*x*a`(9mrKgkKM0Q_2XMoG0eHMw}5N0NPLABEL99#G^FQZWe3lr1v= z$Q=D@^p#zO1d4RPDkr_#rUGLZ2eNts<`u*6*+#Q<^K4iFX#mnnHLzp(7xzTWugf+i zSzLIPiXogGf}gXp7V4hp6roLf08Kc{dm&$`z`~XZ?FA{2EtU3~s;Y|`fAAv4WiIOt zYBXe&T588>M0F4f2Bpu8yk8NazmXXwGca%7hX-`gk^3o1dK7?9NmvQs7G3e5U3$hJxC%J`In2Pr!@ zHyLu}tnkIidM)ky&3m~ejlQ~Ax~OjU@T(E3Tv?3pr_rei(fR+Bi|+fV+p;q@cOz8o z2-(}-{{`&hp>HEG*Y(MeEe?qp%9b&@pRBO%E*+hYs=sg&SmizC6+ipQSO43!mcz|g` z?JF%%MwY{~K6^Xlfc3zusk_U;S~hao>$m~CFB2tj=T;vluB*+EuW(^e+^TJ5XVMyc z0DxToe_nto4>?uAcNM|UaAwV>9A8sr8}H!bsWVldTM6=N;R7*lE{?={#2?l8T69@q zrG`RVfq-Q~`DO70E~X6v)j=U^v>pbQ3j5weQE}W5elp+#03Q=706VIi4}a`cDDCII zZv%M zGN+s>F;WgaPXriks}yD`3c~2EuCRO{@1lI6;IdR>{SJ~DU@|y01?Z-=M$;;lo}p%` zkA@5^G!w}!DraheEQ-+Cy9Jn}8_B63K$+9h zQh8;y8=bGF4}W)8HH5%1ZoO+tfq`m6gXT8TgjRe*r(fHX<+>fg#t?zD-xR5!u@{g^ z`ACcp9Y$t;YFupvqKiIi=s;22QCaW4fbdPCxUBAr*6GmJW6b#p{`;G6q6sge-XH(~ zHC0vr0C|RI=(O(fzV!;^p}yT`!%pX`BW#Ihsw3`h_mabT-ZVxjur1J_%IHqo$f*%} z5^_&A`jDhxIHheNJv)B3)cZmb5O!2k^VRCE6>oMrgb+aoCP5oSb#ylDNX;%>-OtFd z@AcBr(YSJ(GzM{lr-ZzWqld8-Zom?Ak-GDAed+qC8h>ZyCF;$GyxL+isX5~t)uF)* z8a}oSL*Oc|JN?=F*CeqrQ=!-14(ZGq7Z>BRXFE6L4V5+CDy$6#ADQzlbU`F3dQAQp7tsCh@G$((pITdV z&{)txik9jrBH?7cF^#3-9s6|V__wpW%J?Y(8UtizB{&bDk8@O*}*}eXwqklnsi;tjks9bNq#s`ze|H{2R zdIXsd%V2NPcXKWblVRQIf6m)moE)^Zdp7Z7)4XM#fP2Vs5AT-Mu$0U-_m`jK++2c6 z)CEbn{RaGZA?1fxns;iVV3&)|_s?j2N&14X_#~l!GdB14_V!z4PkZ67f=WhDCVs$> zrQUJ;zX|IF{S0(5rY}Do(C=+^j_Pga7XG~5<;BN^$jmIv9N9F2E3x{jcF|w4LiB;v zJZx1$X(hKfmC9>o`SbVTQ0A!VbXPHQaF6kT*<;EcOw}{kN1=o7P;HOlE{Tz z+Le1w>|aSIBko>YR$pJ9mO+~_&hCxPRB+jBUPFpZK71h5M1SQS7)s+M3CqhwQlZb< zG!IO{!i(BL0il6ZsZRddw1f!2#;M2O;RUgO+IF4zomz8?LzudaYjYK$* zl@sHm%BN8C?Jg!K$(cdln#xWNNUUl!rBt&&5BY6ug=e{^cuCI@D?|B(#%6*j7$CJf zKiMUX6Qu>%^GEvByc_*aDN)v;>_y6fc1amM)Lv7UEx(#ZnqM(gEcq5*#uxlO@p^i) za=OgmV>X$6_lrO<0jYF6)SqJi>?u`<_ei;8v3X%x!Jdig;D_;+#tWgIk8FVMx$W&N zyCBxms-_*rRly72DQ#IQg-fra5ln`>Y^G%P9_y*8SYBZerv;QfGQ*qR=c4C5(Wp(w zApl^NbK9Qmso7dViWkOqQwimgSR3!gmYSv~$2#4{a1V+zHiH(mw+W!6c2dMl5SG=H zl+`ag;uU2>>Dhz6kTf1MA-+`SVInMW#Q5)P2DV9d3a58{8YB3e*OPa2oXY(nzF{r~ zp)xB;0{BUx%p9wqQY9^dty-PFS)!rIxmON-2%}+m9^kY-_*6DY!B~zX{DdGCq2bUT>^MMfv$)tKaUcSDQYKpFGaCJtYK_941hmyiKo(mL)Yd zV{O%z&U#7s(OWnh{>15GZl%`|j2REkF@KCTwK+3ku#iJTw<&V|Q<|pv+e$-&gR!i7 zK`~sU9lR86%$;F$TsG42h`F3HqLA_qFu%&-(_B)${Eg`RVCUCsSfz2(5iRsqLVLgR zA1B*@w9>-Z+=9fW$<2lm;^__vPvC{4wd>nWImjb-hAY1)kBf1aiVD0f#D*2V+uLBp zk30Q?$QcbrPuooO7aG})ZU?kD0$0lsde|s*jCrnEd~3>WeClbM9ve7f5ZESlFoOKK zxyE)Apvn3jzI`8=p)WAbwk0Vcr*6qRpQ3z4j@$hMJ2~}xS}nW#G~3QCEt>Y0*oJwIPah3Ntam69II@JGn|GZ()~oPucA_+sJZ7 z|AUHJ@V6JWKEtBxb1ts<&;^ePt=1fP1%X}rWOcK6vKnoa-+homDpz63Yc&iN!%{lo_rE_Lw6`!Nzm=Rv zpi6O;V9Pez?{;&rJUsME;u87r(dsJhrcNabqiXskkKko^sGpnL0XtvY?JV z`eVEptp1!I=CQanH`cjc;hMrawI8ip39XaJrY4gzg>k+?U9xM?=l&#EaVf3r7&N{y zgk+kTpg?0NX+O1Cn)~$G9EZM6D4SVp6Kl zSXOf{ynSwiS=+Dby+?9*O)zFR^k znrHD11ORt7Id?Wd*cyjc0v>Ai#H7d_7^VqWeqm>5#fwvb10ws9t&XF;n$E)|9N%Zk z?#35SlJ~Ek#pB@f%b`k=tbYK7`h<%e_gllIPjF0Sr^JRox&8OqR19G*j(&|2;u&T$bpE!XL0OUVeNeUpTHhANTxdBwVn%^6$LHay!$67WN@^nztPR(BC zZkpfRP`mXnUIGi_U^L7N2*^;}qK({b{;bBN@wDGMbZK(Y^QId=>fC9!{PU;Wkc}(^MS3Bb0Pe@9i_D{mu-?#D4b<$ERN&R9}ZL$^)r)+ zKsxLku=+n4CDqfQ{EoAq7j?Z1Bbbr>z5QEfdGsAtLjUw`xOP2xpPDJ3KNj`%s2(l#8sV&~aFH!-mvj?L8We==+4a)9pId?S)>@TdgjC@Mk$#i`$ z_E5xFNXa?s^PKa1o*Vo0p=rZ+nO?iQ&TfIO!{3vep7piM>Zpn=eOY&(Qn`k-3KOGEJ~&u zML@2PGA`oTZNUOt&-%B;xl+&c6Yc{|s)=wqfmGoYpQX#ddqu#Y@T&-Cn*M z`Tsl@S377wkjway0$eMT%PGNm5L?<5u{dwEdJuDv<81MW6kHLx%HzPhYqFR*2TIE(AMYjvOOVFOono>4D1mPAdqU^$P_seukPpZzY+4FU`(}@b$yuZKq(A${ z;KKWm7I)B9^!=RHV&?|%)fD~%08jv?;IbEj5-I!IZ-%H?LvGzh&tDTnu&fL}=4x~{ zg6Zn&@<*DgLX%@8$rxoOl6DTv%=DhdQ9YYPJ$f`Hh{yJA0.5: - QMessageBox.about(self, "Alerta", "Os esforços especificados não são suportados pela seção de concreto analisada. Por favor altera as dimensões da seção da viga ou reveja os esforços de cálculo para a estrutura.") - else: - kx_viga = (1 - math.sqrt(1 - 2*kmd_viga))/0.8 - kz_viga = 1 - 0.4*kx_viga - as_viga = (mk_viga * 1.4 * 1000)/(kz_viga * (d_viga/100) * fyd_viga) - - as_sobre_apoio_viga = as_viga/3 - if h_viga >= 60: - as_pele = (0.1/100)*area_secao_viga*100 - else: - as_pele = 0 - - as_max_viga = (4/100)*area_secao_viga*100 - - if fck_viga == 20: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 25: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 30: - taxa_aco_viga_retangular = 0.173/100 - elif fck_viga == 35: - taxa_aco_viga_retangular = 0.201/100 - elif fck_viga == 40: - taxa_aco_viga_retangular = 0.203/100 - elif fck_viga == 45: - taxa_aco_viga_retangular = 0.259/100 - elif fck_viga == 50: - taxa_aco_viga_retangular = 0.288/100 - - as_min_viga = taxa_aco_viga_retangular * area_secao_viga*100 - - - if kx_viga < 0: - dominio_viga = 'Domínio 1' - elif kx_viga > 0 and kx_viga <0.259: - dominio_viga = 'Domínio 2' - elif kx_viga > 0.259 and kx_viga <0.45: - dominio_viga = 'Domínio 3 - Dúctil' - elif kx_viga > 0.45 and kx_viga <0.63: - dominio_viga = 'Domínio 3 - Não Dúctil' - elif (kx_viga > 0.628 and kx_viga <1): - dominio_viga = 'Domínio 4a' - elif (kx_viga > 0.438 and kx_viga <1) and (fyk_viga == 600): - dominio_viga = 'Domínio 4a' - else: - dominio_viga = 'Domínio 4b' - - kmd_viga = self.truncar(kmd_viga) - kx_viga = self.truncar(kx_viga) - kz_viga = self.truncar(kz_viga) - - print('kmd_viga: ',kmd_viga) - print('kx_viga: ',kx_viga) - print('kz_viga: ',kz_viga) - print('as_viga: ',as_viga) - print('as_sobre_apoio_viga: ',as_sobre_apoio_viga) - print('as_max_viga: ',as_max_viga) - print('as_min_viga',as_min_viga) - - #-------------------------------------- saida de dados ------------------------------------------------ - self.lineEdit_6.setText(str(round(mk_viga*1.4,ndigits=4))) - self.lineEdit_13.setText(dominio_viga) - self.lineEdit_7.setText(str(kmd_viga)) - self.lineEdit_8.setText(str(kx_viga)) - self.lineEdit_9.setText(str(kz_viga)) - - self.lineEdit_10.setText(str(round(as_viga,ndigits=4))) - self.lineEdit_11.setText(str(round(as_sobre_apoio_viga,ndigits=4))) - self.lineEdit_12.setText(str(round(as_pele,ndigits=4))) - self.lineEdit_14.setText(str(round(as_max_viga,ndigits=4))) - self.lineEdit_20.setText(str(round(as_min_viga,ndigits=4))) - - #------------------------------------------------------------------------------------------------- - if (dominio_viga == 'Domínio 4a') or (dominio_viga == 'Domínio 4b'): - QMessageBox.about(self, "Atenção", "Domínio de cálculo 4, recomenda-se utilizar, em seção retangular, armadura dupla ou seção tê para contenção dos esforços de compressão do concreto.") - - if as_viga > as_max_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada superior a Área Máxima especificada para a seção da viga.") - if as_viga < as_min_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada inferior a Área Mínima especificada para a seção da viga.") - - self.calcular_viga_cortante() - - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def calcular_viga_dupla(self): - mk_viga = self.lineEdit.text() - vk_viga = self.lineEdit_2.text() - bw_viga = self.lineEdit_15.text() - h_viga = self.lineEdit_16.text() - d_viga = self.lineEdit_17.text() - - if (mk_viga != '0' and vk_viga != '0' and bw_viga != '0' and h_viga != '0' and d_viga != '0'): - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - bw_viga = float(self.lineEdit_15.text()) - h_viga = float(self.lineEdit_16.text()) - d_viga = float(self.lineEdit_17.text()) - - d_linha_viga = h_viga - d_viga - self.lineEdit_27.setText(str(round(d_linha_viga, ndigits=4))) - - xis_dominio = float(self.lineEdit_35.text()) - - d_min_viga = math.sqrt((mk_viga*1.4*1000)/((bw_viga/100) * (fcd_viga*1000000) * (0.68*xis_dominio - 0.272*(xis_dominio**2)))) - - x_lim_viga = xis_dominio * (d_viga/100) - - momento_lim_viga = 0.68 * (bw_viga/100) * (fcd_viga*1000) * x_lim_viga*((d_viga/100) - 0.4*x_lim_viga) - - print('d_min_viga: ',d_min_viga) - print('x_lim_viga: ',x_lim_viga) - print('momento_lim_viga: ',momento_lim_viga) - - if d_min_viga < (h_viga/100): - self.lineEdit_36.setText(str(round(d_min_viga, ndigits=5))) - self.lineEdit_18.setText(str(round(x_lim_viga, ndigits=5))) - QMessageBox.about(self, "Observação", "A altura atual da viga é maior que a altura útil mínima, calcule como simplesmente armada") - - else: - - momento_lim_viga = 0.68 * (bw_viga/100) * (fcd_viga*1000) * x_lim_viga*((d_viga/100) - 0.4*x_lim_viga) - momento_2_viga = (mk_viga*1.4) - momento_lim_viga - - as_compressao_viga = (momento_2_viga * 1000)/(((d_viga/100) - (d_linha_viga/100))*(fyd_viga)) - #as_tracao_viga = ((momento_lim_viga * 1000)/((1 - 0.4*x_lim_viga)*(d_viga/100)*fyd_viga)) - as_tracao_viga = ((momento_lim_viga * 1000)/((1 - 0.4*xis_dominio)*(d_viga/100)*fyd_viga)) - - as_tracao_viga = as_tracao_viga + as_compressao_viga - - as_total_viga = as_tracao_viga + as_compressao_viga - - as_sobre_apoio_viga = as_tracao_viga/3 - - area_secao_viga = bw_viga * h_viga - if h_viga >= 60: - as_pele = (0.1/100)*area_secao_viga*100 - else: - as_pele = 0 - - if fck_viga == 20: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 25: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 30: - taxa_aco_viga_retangular = 0.173/100 - elif fck_viga == 35: - taxa_aco_viga_retangular = 0.201/100 - elif fck_viga == 40: - taxa_aco_viga_retangular = 0.203/100 - elif fck_viga == 45: - taxa_aco_viga_retangular = 0.259/100 - elif fck_viga == 50: - taxa_aco_viga_retangular = 0.288/100 - - as_max_viga = (4/100)*area_secao_viga*100 - as_min_viga = taxa_aco_viga_retangular * area_secao_viga*100 - - - print('momento_lim_viga: ',momento_lim_viga) - print('momento_2_viga: ',momento_2_viga) - print('as_compressao_viga: ',as_compressao_viga) - print('as_tracao_viga: ',as_tracao_viga) - - - #------------------------------------------ saida de dados -------------------------------------------------- - self.lineEdit_36.setText(str(round(d_min_viga, ndigits=5))) - self.lineEdit_18.setText(str(round(x_lim_viga, ndigits=5))) - self.lineEdit_26.setText(str(round(momento_lim_viga, ndigits=5))) - self.lineEdit_19.setText(str(round(momento_2_viga, ndigits=5))) - - self.lineEdit_22.setText(str(round(as_compressao_viga, ndigits=5))) - self.lineEdit_28.setText(str(round(as_tracao_viga, ndigits=5))) - self.lineEdit_23.setText(str(round(as_sobre_apoio_viga, ndigits=5))) - self.lineEdit_24.setText(str(round(as_pele, ndigits=5))) - self.lineEdit_38.setText(str(round(as_total_viga, ndigits=2))) - self.lineEdit_25.setText(str(round(as_max_viga, ndigits=2))) - self.lineEdit_29.setText(str(round(as_min_viga, ndigits=2))) - #------------------------------------------ ------------- -------------------------------------------------- - - if as_total_viga > as_max_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada superior a Área Máxima especificada para a seção da viga.") - if as_total_viga < as_min_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada inferior a Área Mínima especificada para a seção da viga.") - - self.calcular_viga_cortante() - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - -global pilares_info -pilares_info = [0,0,0,0] - -global pilares_info_aco -pilares_info_aco = [0, 0, 0, 0, 0, 0, 0] - -class Pilares(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('pilares_alt.ui',self) - self.load_signals() - - self.setWindowTitle('Navier - Pilares') - - - def load_signals(self): - print('pilares carregado') - self.cont_x = 0 - self.cont_y = 0 - #self.pushButton.clicked.connect(self.pilar_alterar_tipo_engaste_x) - #self.pushButton_2.clicked.connect(self.pilar_alterar_tipo_engaste_y) - self.pushButton_6.clicked.connect(self.calcular_pilares) - self.pushButton.clicked.connect(self.gerar_envoltoria) - self.pushButton_3.clicked.connect(lambda: pilares_areas_aco.show()) - - - def calcular_pilares(self): - x_pilar = self.lineEdit.text() - y_pilar = self.lineEdit_2.text() - altura_pilar = self.lineEdit_3.text() - altura_lance = self.lineEdit_4.text() - - nk_pilar = self.lineEdit_5.text() - momento_x_topo = self.lineEdit_6.text() - momento_x_base = self.lineEdit_7.text() - momento_y_topo = self.lineEdit_8.text() - momento_y_base = self.lineEdit_9.text() - - - if (x_pilar != '0' and y_pilar != '0' and altura_pilar != '0' and altura_lance != '0' and nk_pilar != '0'): - fck_pilar = float(self.comboBox_3.currentText()) - fcd_pilar = fck_pilar/1.4 - fyk_pilar = float(self.comboBox_4.currentText()) - fyd_pilar = fyk_pilar/1.15 - cobrimento_pilar = float(self.comboBox_5.currentText()) - - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - altura_pilar = float(self.lineEdit_3.text()) - altura_lance = float(self.lineEdit_4.text()) - - nk_pilar = float(self.lineEdit_5.text()) - momento_x_topo = float(self.lineEdit_6.text()) - momento_x_base = float(self.lineEdit_7.text()) - momento_y_topo = float(self.lineEdit_8.text()) - momento_y_base = float(self.lineEdit_9.text()) - - area_secao_pilar = (x_pilar/100)*(y_pilar/100) - - #nd_pilar = (nk_pilar + ((x_pilar/100)*(y_pilar/100)*altura_pilar*25)) * 1.4 - nd_pilar = (nk_pilar) * 1.4 - md_x_topo = 1.4 * momento_x_topo - md_x_base = 1.4 * momento_x_base - md_y_topo = 1.4 * momento_y_topo - md_y_base = 1.4 * momento_y_base - - '''apoio_x = self.stackedWidget.currentIndex() - if apoio_x == 0: - tipo_apoio_x = 'AA' - elif apoio_x == 1: - tipo_apoio_x = 'EA' - elif apoio_x == 2: - tipo_apoio_x = 'EE' - ''' - - tipo_apoio_x = 'AA' - - if momento_x_topo == 0 and momento_x_base == 0 and momento_y_topo == 0 and momento_y_base == 0: - self.tipo_pilar = 'intermediario' - elif momento_x_topo == 0 and momento_x_base == 0: - self.tipo_pilar = 'extremidade-x' - elif momento_y_topo == 0 and momento_y_base == 0: - self.tipo_pilar = 'extremidade-y' - else: - self.tipo_pilar = 'canto' - - - self.lineEdit_13.setText(str(round(md_x_topo, ndigits=5))) - self.lineEdit_14.setText(str(round(md_x_base, ndigits=5))) - self.lineEdit_22.setText(str(round(md_y_topo, ndigits=5))) - self.lineEdit_28.setText(str(round(md_y_base, ndigits=5))) - - #-Eixo-X---------------------------------------------------------------------- - b = y_pilar - h = x_pilar - - m_a = max(md_x_topo, md_x_base) - m_b = min(md_x_topo, md_x_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-x': - alfa_b_x = 1.0 - else: - alfa_b_x = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_x < 0.4: - alfa_b_x = 0.4 - - #excen_min_x = (1.5+0.03*h) - momento_min_x = (nd_pilar *(1.5+0.03*h))/100 - excen_min_x = momento_min_x/nd_pilar - - if md_x_topo < momento_min_x: - md_x_topo = momento_min_x - print('momento topo - mínimo') - alfa_b_x = 1.0 - if md_x_base < momento_min_x: - md_x_base = momento_min_x - print('momento base - mínimo') - alfa_b_x = 1.0 - - compr_efetivo_x = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_x): - compr_efetivo_x = altura_lance*100 - - excen_x_acidental = compr_efetivo_x/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_x_topo,md_x_base,momento_min_x)/nd_pilar)/h - - lambda_pilar_x = 3.46 * (compr_efetivo_x/h) - lambda_pilar_x_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_x - if lambda_pilar_x_limite < 35: - lambda_pilar_x_limite = 35 - - excen_2_x = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_x = nd_pilar * (excen_2_x/100) - - if lambda_pilar_x > lambda_pilar_x_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - md2_x_relativo = nd_pilar * (excen_2/100) - else: - md2_x_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_x_intermediario = alfa_b_x * max(abs(md_x_topo), abs(md_x_base), abs(momento_min_x)) + md2_x_relativo - #msd_x_intermediario = alfa_b_x * abs(momento_min_x) + md2_x_relativo - - mi_x = msd_x_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_x = cobrimento_pilar/h - - - #-Eixo-Y---------------------------------------------------------------------- - h = y_pilar - b = x_pilar - - m_a = max(md_y_topo, md_y_base) - m_b = min(md_y_topo, md_y_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-y': - alfa_b_y = 1.0 - else: - alfa_b_y = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_y < 0.4: - alfa_b_y = 0.4 - - momento_min_y = (nd_pilar *(1.5+0.03*h))/100 - excen_min_y = momento_min_y/nd_pilar - - if md_y_topo < momento_min_y: - md_y_topo = momento_min_y - print('momento topo - mínimo') - alfa_b_y = 1.0 - if md_y_base < momento_min_y: - md_y_base = momento_min_y - print('momento base - mínimo') - alfa_b_y = 1.0 - - compr_efetivo_y = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_y): - compr_efetivo_y = altura_lance*100 - - excen_y_acidental = compr_efetivo_y/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_y_topo,md_y_base,momento_min_y)/nd_pilar)/h - - lambda_pilar_y = 3.46 * (compr_efetivo_y/h) - lambda_pilar_y_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_y - if lambda_pilar_y_limite < 35: - lambda_pilar_y_limite = 35 - - excen_2_y = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_y = nd_pilar * (excen_2_y/100) - - if lambda_pilar_y > lambda_pilar_y_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - md2_y_relativo = nd_pilar * (excen_2/100) - else: - md2_y_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_y_intermediario = alfa_b_y * max(abs(md_y_topo), abs(md_y_base), abs(momento_min_y)) + md2_y_relativo - #msd_y_intermediario = alfa_b_y * abs(momento_min_y) + md2_y_relativo - - mi_y = msd_y_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_y = cobrimento_pilar/h - - #print('v_0: ',v_0) - #print('excen_2_x: ',excen_2_x) - #print('compr_efetivo_x: ',compr_efetivo_x) - #print('alfa_b_x: ',alfa_b_x) - #print('lambda_pilar_x: ',lambda_pilar_x) - #print('lambda_pilar_x_limite: ',lambda_pilar_x_limite) - #print('momento_min_x: ',momento_min_x) - #print('md_x_topo: ',md_x_topo) - #print('md_x_base: ',md_x_base) - #print('msd_x_intermediario: ',msd_x_intermediario) - #print('md2_x: ',md2_x) - #print('--------------------------------------------------') - #print('lambda_pilar_y: ',lambda_pilar_y) - #print('lambda_pilar_y_limite: ',lambda_pilar_y_limite) - #print('momento_min_y: ',momento_min_y) - #print('md_y_topo: ',md_y_topo) - #print('md_y_base: ',md_y_base) - #print('msd_y_intermediario: ',msd_y_intermediario) - - #--------------------------------------------- saida de dados --------------------------------------------- - self.lineEdit_10.setText(str(round(nd_pilar, ndigits=4))) - self.lineEdit_11.setText(str(round(area_secao_pilar, ndigits=4))) - self.lineEdit_12.setText(str(round(v_0, ndigits=4))) - - self.lineEdit_15.setText(str(round(momento_min_x, ndigits=5))) - self.lineEdit_16.setText(str(round(excen_min_x*100, ndigits=5))) - self.lineEdit_17.setText(str(round(lambda_pilar_x, ndigits=5))) - self.lineEdit_18.setText(str(round(lambda_pilar_x_limite, ndigits=5))) - self.lineEdit_19.setText(str(round(excen_2_x, ndigits=5))) - self.lineEdit_20.setText(str(round(md2_x, ndigits=5))) - self.lineEdit_21.setText(str(round(msd_x_intermediario, ndigits=5))) - - self.lineEdit_24.setText(str(round(momento_min_y, ndigits=5))) - self.lineEdit_25.setText(str(round(excen_min_y*100, ndigits=5))) - self.lineEdit_26.setText(str(round(lambda_pilar_y, ndigits=5))) - self.lineEdit_23.setText(str(round(lambda_pilar_y_limite, ndigits=5))) - self.lineEdit_30.setText(str(round(excen_2_y, ndigits=5))) - self.lineEdit_29.setText(str(round(md2_y, ndigits=5))) - self.lineEdit_27.setText(str(round(msd_y_intermediario, ndigits=5))) - - self.lineEdit_31.setText(str(round(mi_x, ndigits=2))) - self.lineEdit_32.setText(str(round(mi_y, ndigits=2))) - self.lineEdit_33.setText(str(round(delta_x, ndigits=2))) - self.lineEdit_34.setText(str(round(delta_y, ndigits=2))) - - global pilares_info - pilares_info = [msd_x_intermediario, msd_y_intermediario, momento_min_x, momento_min_y] - - if md2_x_relativo == 0: - self.label_39.setText('não considera 2º ordem') - else: - self.label_39.setText('considera 2º ordem') - - if md2_y_relativo == 0: - self.label_44.setText('não considera 2º ordem') - else: - self.label_44.setText('considera 2º ordem') - - - if self.tipo_pilar == 'intermediario': - self.label.setText('PILAR INTERMEDIÁRIO') - elif (self.tipo_pilar == 'extremidade-x') or (self.tipo_pilar == 'extremidade-y'): - self.label.setText('PILAR DE EXTREMIDADE') - else: - self.label.setText('PILAR DE CANTO') - - global pilares_info_aco - pilares_info_aco = [mi_x, delta_x, mi_y, delta_y, fck_pilar, area_secao_pilar, nk_pilar] - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def gerar_envoltoria(self): - msd_x_intermediario = pilares_info[0] - msd_y_intermediario = pilares_info[1] - momento_min_x = pilares_info[2] - momento_min_y = pilares_info[3] - - x = [] - y = [] - for i in range(360): - theta = i - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = momento_min_y * seno - - cosseno = math.cos(theta_conv) - cosseno = momento_min_x * cosseno - - x.append(seno) - y.append(cosseno) - - z = [] - w = [] - for j in range(360): - theta = j - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = msd_y_intermediario * seno - - cosseno = math.cos(theta_conv) - cosseno = msd_x_intermediario * cosseno - - z.append(seno) - w.append(cosseno) - - # create plot - '''plt = pg.plot(x, y, title='theTitle', pen='r') - plt.showGrid(x=True,y=True) - ''' - # create plot - plt = pg.plot() - plt.clear() - plt.showGrid(x=True,y=True) - plt.addLegend() - plt.setTitle('Envoltória de Momentos') - - - # set properties - plt.setLabel('left', 'Momentos Y', units='KN.m') - plt.setLabel('bottom', 'Momentos X', units='KN.m') - plt.setXRange(0,10) - plt.setYRange(0,20) - - - plt.enableAutoRange() - plt.setWindowTitle('pyqtgraph plot') - # plot - c1 = plt.plot(x, y, pen='r', name='Envoltória Momentos min') - c2 = plt.plot(z, w, pen='b', name='Envoltória Momentos máx') - - -class Pilar_area_aco(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('pilares_areas_aco.ui',self) - self.setWindowTitle('Navier - Pilares - Áreas de Aço') - - self.pushButton_4.setIcon(QtGui.QIcon('btn_flexaosimples.png')) - self.pushButton_4.setIconSize(QtCore.QSize(50,60)) - self.pushButton_5.setIcon(QtGui.QIcon('btn_flexaocomposta.png')) - self.pushButton_5.setIconSize(QtCore.QSize(50,60)) - - def load_signals(self): - print('inicializado') - self.pushButton_2.clicked.connect(self.calcular_area_aco) - self.pushButton.clicked.connect(self.recuperar_dados) - self.pushButton_3.clicked.connect(self.limpar) - self.pushButton_4.clicked.connect(lambda: self.abrirTabelaAuxiliar(file)) - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(file)) - - def recuperar_dados(self): - self.lineEdit_2.setText(str(round(pilares_info_aco[0], ndigits=2))) - self.lineEdit_3.setText(str(round(pilares_info_aco[1], ndigits=2))) - self.lineEdit_5.setText(str(round(pilares_info_aco[2], ndigits=2))) - self.lineEdit_6.setText(str(round(pilares_info_aco[3], ndigits=2))) - self.lineEdit_12.setText(str(round(pilares_info_aco[4], ndigits=2))) - self.lineEdit_13.setText(str(round(pilares_info_aco[5], ndigits=2))) - self.lineEdit_14.setText(str(round(pilares_info_aco[6], ndigits=2))) - - def calcular_area_aco(self): - fck = float(self.lineEdit_12.text()) - fcd = fck/1.4 - fyd = 500/1.15 - area_concreto = float(self.lineEdit_13.text()) - nk = float(self.lineEdit_14.text()) - nd = 1.4 * nk - - mi_x = float(self.lineEdit_2.text()) - delta_x = float(self.lineEdit_3.text()) - - mi_y = float(self.lineEdit_5.text()) - delta_y = float(self.lineEdit_6.text()) - - omega_x = float(self.lineEdit_4.text()) - omega_y = float(self.lineEdit_7.text()) - - as_x = (omega_x * (area_concreto*1000000) * fcd)/fyd - as_y = (omega_y * (area_concreto*1000000) * fcd)/fyd - - as_x = round(as_x, ndigits=3) - as_y = round(as_y, ndigits=3) - - as_pilar_min = 0.15 * (nd/fyd) - if as_pilar_min < (0.004*area_concreto*100000): - as_pilar_min = round((0.004*area_concreto*100000), ndigits=3) - - as_pilar_max = round((0.08*area_concreto*1000000), ndigits=3) - - #-------------------------------------- saída de dados ---------------------------------------------------- - self.lineEdit_8.setText(str(as_x)) - self.lineEdit_9.setText(str(as_y)) - self.lineEdit_10.setText(str(as_pilar_max)) - self.lineEdit_11.setText(str(as_pilar_min)) - - def teste(self): - print('teste') - - def limpar(self): - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('1') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('1') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - - - - - -class Lajes(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('lajes.ui',self) - - self.lado1 = 'livre' - self.lado2 = 'livre' - self.lado3 = 'livre' - self.lado4 = 'livre' - self.label_37.hide() - self.label_38.hide() - self.label_40.hide() - self.label_41.hide() - global caso - caso = '1' - global lx_lage - lx_lage = 'l_menor' - self.lineEdit.setReadOnly(True) - - self.load_signals() - - self.setWindowTitle('Navier - Lajes') - - def load_signals(self): - print('lajes iniciado') - self.pushButton.clicked.connect(self.estado_l1) - self.pushButton_2.clicked.connect(self.estado_l2) - self.pushButton_3.clicked.connect(self.estado_l3) - self.pushButton_4.clicked.connect(self.estado_l4) - self.pushButton.clicked.connect(self.situacao_laje) - self.pushButton_2.clicked.connect(self.situacao_laje) - self.pushButton_3.clicked.connect(self.situacao_laje) - self.pushButton_4.clicked.connect(self.situacao_laje) - - self.pushButton_5.clicked.connect(self.teste) - self.pushButton_6.clicked.connect(self.calcular_laje) - - self.toolButton.clicked.connect(self.revelar_carg_acidental) - - def teste(self): - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - def revelar_carg_acidental(self): - print('oi--') - carga_adicional.show() - - def estado_l1(self): - if self.lado1 == 'livre': - self.lado1 = 'engastado' - pixmap = QPixmap('engv.png') - self.pushButton.setIcon(QIcon(pixmap)) - else: - self.lado1 = 'livre' - pixmap = QPixmap('livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - def estado_l2(self): - if self.lado2 == 'livre': - self.lado2 = 'engastado' - pixmap = QPixmap('engh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - else: - self.lado2 = 'livre' - pixmap = QPixmap('livh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - - def estado_l3(self): - if self.lado3 == 'livre': - self.lado3 = 'engastado' - pixmap = QPixmap('engh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - else: - self.lado3 = 'livre' - pixmap = QPixmap('livh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - - def estado_l4(self): - if self.lado4 == 'livre': - self.lado4 = 'engastado' - pixmap = QPixmap('engv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - else: - self.lado4 = 'livre' - pixmap = QPixmap('livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - def situacao_laje(self): - l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - l4 = self.lado4 - - cota_v1 = self.label_37 - cota_v2 = self.label_40 - cota_h1 = self.label_38 - cota_h2 = self.label_41 - - if (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre'): - global caso - caso = '1' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - global lx_lage - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '2' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') : - caso = '2' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') or (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado'): - caso = '3' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '4' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '4' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado'): - caso = '5' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '5' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado'): - caso = '6' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - else: - caso='ainda não existe, não sei como você chegou até aqui srsrrsrsrsrsrs' - - - print(caso) - self.lineEdit_6.setText(str(caso)) - - def calcular_laje(self): - lado_maior = float(self.lineEdit_3.text()) - lado_menor = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - - self.lineEdit_7.setText('') - self.lineEdit_9.setText('') - self.lineEdit_8.setText('') - self.lineEdit_10.setText('') - self.lineEdit_16.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - - if lado_maior != 0 and lado_menor != 0 and espes != 0 and d != 0: - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - carreg_adicional = float(self.lineEdit_2.text()) - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - carreg_total = pp + carreg_adicional - #print(caso) - #print(lx_lage) - #---------------------------------- cálculo do Lx baseado no caso do tipo de situação da laje ----------------- - global lx - global lambda_laje - if lx_lage == 'l_menor': - lx = lado2 - lambda_laje = round((lado1/lado2),ndigits=2) - elif lx_lage == 'l_maior': - lx = lado1 - lambda_laje = round((lado2/lado1),ndigits=2) - print(lx_lage) - - #---------------------------------- definição se a laje é unidirecional ou bidirecional baseado no lambda ----------------- - global tipo_laje - if float(lambda_laje) > 2.001: - tipo_laje = 'UNIDIRECIONAL' - self.laje_unidirecional(carreg_total) - else: - tipo_laje = 'BIDIRECIONAL' - self.label_43.setStyleSheet("Background: url('laje_unidirecional_modelo.png') no-repeat") - - mx = my = nx = ny = '' - - if caso == '1': - caso1 = marcus.caso1 - linhas = len(caso1) - colunas = len(caso1[0]) - - for i in range(linhas): - aux = caso1[i][0] - if lambda_laje == aux: - print(caso1[i]) - mx = caso1[i][2] - my = caso1[i][3] - - print('mx: ',mx) - print('my: ',my) - - if caso == '2': - caso2 = marcus.caso2 - linhas = len(caso2) - colunas = len(caso2[0]) - - for i in range(linhas): - aux = caso2[i][0] - if lambda_laje == aux: - print(caso2[i]) - mx = caso2[i][2] - nx = caso2[i][3] - my = caso2[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '3': - caso3 = marcus.caso3 - linhas = len(caso3) - colunas = len(caso3[0]) - - for i in range(linhas): - aux = caso3[i][0] - if lambda_laje == aux: - print(caso3[i]) - mx = caso3[i][2] - nx = caso3[i][3] - my = caso3[i][4] - ny = caso3[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '4': - caso4 = marcus.caso4 - linhas = len(caso4) - colunas = len(caso4[0]) - - for i in range(linhas): - aux = caso4[i][0] - if lambda_laje == aux: - print(caso4[i]) - mx = caso4[i][2] - nx = caso4[i][3] - my = caso4[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '5': - caso5 = marcus.caso5 - linhas = len(caso5) - colunas = len(caso5[0]) - - for i in range(linhas): - aux = caso5[i][0] - if lambda_laje == aux: - print(caso5[i]) - mx = caso5[i][2] - nx = caso5[i][3] - my = caso5[i][4] - ny = caso5[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '6': - caso6 = marcus.caso6 - linhas = len(caso6) - colunas = len(caso6[0]) - - for i in range(linhas): - aux = caso6[i][0] - if lambda_laje == aux: - print(caso6[i]) - mx = caso6[i][2] - nx = caso6[i][3] - my = caso6[i][4] - ny = caso6[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - print(lx) - if mx != '': - self.lineEdit_7.setText(str(mx)) - momento_pos_x = ((carreg_total * (lx**2))/mx) - momento_pos_x = round(momento_pos_x,ndigits=4) - self.lineEdit_13.setText(str(momento_pos_x)) - #else: - # self.lineEdit_13.setText('0') - if nx != '': - self.lineEdit_9.setText(str(nx)) - momento_neg_x = round(((carreg_total * (lx**2))/nx),ndigits=4) - self.lineEdit_14.setText(str(momento_neg_x)) - #momento_neg_x = round(momento_neg_x,ndigits=2) - #else: - # self.lineEdit_14.setText('0') - if my != '': - self.lineEdit_8.setText(str(my)) - momento_pos_y = ((carreg_total * (lx**2))/my) - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - #else: - # self.lineEdit_15.setText('0') - if ny != '': - self.lineEdit_10.setText(str(ny)) - momento_neg_y = round(((carreg_total * (lx**2))/ny),ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - #momento_neg_y = round(momento_neg_y,ndigits=2) - #else: - # self.lineEdit_16.setText('0') - - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def laje_unidirecional(self,carreg_total): - - #self.lineEdit_7.setText('') - #self.lineEdit_9.setText('') - #self.lineEdit_8.setText('') - #self.lineEdit_10.setText('') - #self.lineEdit_16.setText('') - #self.lineEdit_13.setText('') - #self.lineEdit_14.setText('') - #self.lineEdit_15.setText('') - #self.lineEdit_16.setText('') - - print('unidirecional') - #l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - #l4 = self.lado4 - print(carreg_total) - if (l2 == 'livre' and l3 == 'livre'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_ll2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/8 - momento_neg_y = 0 - elif (l2 == 'engastado' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_ee2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/24 - momento_neg_y = (carreg_total * (lx**2))/12 - elif (l2 == 'engastado' and l3 == 'livre') or (l2 == 'livre' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_le2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/14.2 - momento_neg_y = (carreg_total * (lx**2))/8 - - print('momento_pos_y: ',momento_pos_y) - print('momento_neg_y: ',momento_neg_y) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - momento_neg_y = round(momento_neg_y,ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def resultados_laje(self): - - mx = self.lineEdit_13.text() - if mx == '': - self.lineEdit_13.setText('0') - - my = self.lineEdit_15.text() - if my == '': - self.lineEdit_15.setText('0') - - nx = self.lineEdit_14.text() - if nx == '': - self.lineEdit_14.setText('0') - - ny = self.lineEdit_16.text() - if ny == '': - self.lineEdit_16.setText('0') - - fck_laje = float(self.comboBox.currentText()) - fyk_laje = float(self.comboBox_2.currentText()) - fcd_laje = fck_laje * 1.4 * 1000000 - fyd_laje = fyk_laje * 1.4 * 1000000 - d_laje = float(self.lineEdit_27.text()) - - mx = float(self.lineEdit_13.text()) - my = float(self.lineEdit_15.text()) - nx = float(self.lineEdit_14.text()) - ny = float(self.lineEdit_16.text()) - #print('mx: ',mx) - #print('nx: ',nx) - #print('my: ',my) - #print('ny: ',ny) - if mx > nx: - mk_x = mx - else: - mk_x = nx - if my > ny: - mk_y = my - else: - mk_y = ny - - #print('mkx: ',mk_x) - #print('mky: ',mk_y) - md_x = round(1.4 * mk_x, ndigits = 4) - kmd_x_laje = (md_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje = (1 - math.sqrt(1 - 2*kmd_x_laje))/0.8 - kz_x_laje = 1 - 0.4 * kx_x_laje - - as_x_laje = (md_x * 1000/ (kz_x_laje * (d_laje/100) * fyd_laje))*100000 - - print('md_x: ', md_x) - print('kmd_x_laje: ', kmd_x_laje) - print('kx_x_laje: ', kx_x_laje) - print('kz_x_laje: ', kz_x_laje) - print('as_x_laje: ', as_x_laje) - - md_y = round(1.4 * mk_y, ndigits = 4) - kmd_y_laje = (md_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje = (1 - math.sqrt(1 - 2*kmd_y_laje))/0.8 - kz_y_laje = 1 - 0.4 * kx_y_laje - - as_y_laje = (md_y * 1000/ (kz_y_laje * (d_laje/100) * fyd_laje))*100000 - - print('md_y: ', md_y) - print('kmd_y_laje: ', kmd_y_laje) - print('kx_y_laje: ', kx_y_laje) - print('kz_y_laje: ', kz_y_laje) - print('as_y_laje: ', as_y_laje) - - #------------------------------------------ saida de dados ------------------------------------ - kmd_x_laje = self.truncar(kmd_x_laje) - kx_x_laje = self.truncar(kx_x_laje) - kz_x_laje = self.truncar(kz_x_laje) - as_x_laje = self.truncar(as_x_laje) - - kmd_y_laje = self.truncar(kmd_y_laje) - kx_y_laje = self.truncar(kx_y_laje) - kz_y_laje = self.truncar(kz_y_laje) - as_y_laje = self.truncar(as_y_laje) - - self.lineEdit_17.setText(str(md_x)) - self.lineEdit_18.setText(str(kmd_x_laje)) - self.lineEdit_19.setText(str(kx_x_laje)) - self.lineEdit_20.setText(str(kz_x_laje)) - self.lineEdit_21.setText(str(as_x_laje)) - - self.lineEdit_22.setText(str(md_y)) - self.lineEdit_24.setText(str(kmd_y_laje)) - self.lineEdit_25.setText(str(kx_y_laje)) - self.lineEdit_26.setText(str(kz_y_laje)) - self.lineEdit_23.setText(str(as_y_laje)) - - - -class Carga_Adicional(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - - self.ui = loadUi('lajes_carg_adicional.ui',self) - #self.tableWidget.setRowCount(linhas) - #self.tableWidget.setColumnCount(colunas) - #table = self.tableWidget() - #header = self.tableWidget.horizontalHeader() - #header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents) - #header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - self.tableWidget.resizeRowsToContents() - - self.setWindowTitle('Navier - Cargas Adicionais') - -class Sapatas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('sapatas_alt.ui',self) - self.load_signals() - self.setWindowTitle('Navier - Sapatas') - - def load_signals(self): - print('sapatas carregado') - self.pushButton_6.clicked.connect(self.calcular_sapata) - self.pushButton.clicked.connect(self.gerar_dim_sapata) - - def arredondar_cinco(self, numero): - numero = round(numero, ndigits=2) - numero = 100*numero - resto = numero%5 - while resto != 0: - numero += 1 - resto = numero%5 - print('numero:',numero,' - resto: ',resto) - - numero = numero/100 - return numero - - def calcular_sapata(self): - - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - - base_y_sapata = float(self.lineEdit_10.text()) - base_x_sapata = float(self.lineEdit_9.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - y_sapata = float(self.lineEdit_9.text()) - x_sapata = float(self.lineEdit_10.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - if (nk != 0 and x_pilar != 0 and y_pilar != 0 and tensao_adm_solo != 0 and fator_solo != 0 and base_y_sapata != 0 and base_x_sapata != 0 and h_total != 0 and h_0 != 0): - if (x_sapata < 0.6 or y_sapata < 0.6): - QMessageBox.about(self, "Erro de Entrada", "As sapatas não podem apresentar lados menores de 60 cm, conforme a NBR 6122") - else: - fck_sapata = float(self.comboBox.currentText()) - fcd_sapata = fck_sapata / 1.4 - fyk_sapata = float(self.comboBox_2.currentText()) - fyd_sapata = fyk_sapata / 1.15 - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - angulo_dissp_sapata = float(self.spinBox.value()) - - angulo_dissp_sapata = (angulo_dissp_sapata / 180)* 3.14 - - x_pilar = float(self.lineEdit.text())/100 - y_pilar = float(self.lineEdit_2.text())/100 - - y_sapata = float(self.lineEdit_9.text()) - x_sapata = float(self.lineEdit_10.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - if (momento_x_sapata != 0 and momento_y_sapata == 0) or (momento_x_sapata == 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.05 - elif (momento_x_sapata != 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.103 - else: - fator_acrescimo_dimensoes = 1.0 - - x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) - y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) - - wx = x_sapata * (y_sapata**2)/6 - wy = y_sapata * (x_sapata**2)/6 - - mw_x = (momento_x_sapata/wx)*1000 - mw_y = (momento_y_sapata/wy)*1000 - - tensao_sapata = (fator_solo*nk*1000)/(x_sapata*y_sapata) - tensao_max_sapata = tensao_sapata + mw_x + mw_y - tensao_min_sapata = tensao_sapata - mw_x - mw_y - - nk_equiv = (x_sapata * y_sapata * tensao_max_sapata)/fator_solo - area_sapata = round(fator_solo * ((nk*1000)/(tensao_adm_solo*1000000)),ndigits=6) - - ca_sapata = (x_sapata - x_pilar)/2 - cb_sapata = (y_sapata - y_pilar)/2 - h_rig_x = 2/3 * ca_sapata - h_rig_y = 2/3 * cb_sapata - - h_mincis = (1.4 * nk_equiv)/(2*(x_pilar+y_pilar)*0.27*(1-(fck_sapata/250))*(fcd_sapata*1000000)) - if h_mincis < 0.40: - h_mincis = 0.40 - if h_total < h_mincis: - h_total = h_mincis - - braco_alavanca_sapata = h_total - 0.05 - - h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) - h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) - - #h0 = round(h0a, ndigits=2) - #if h0a < h0b: - # h0 = round(h0b, ndigits=2) - - volume_concreto_sapata = (h_total-h_0)/(3*(x_sapata*y_sapata+x_pilar*y_pilar+math.sqrt(x_sapata*y_sapata*x_pilar*y_pilar))+x_sapata*y_sapata*h_0) - - tracao_x_sapata = 1.1 * nk_equiv * (x_sapata - x_pilar)/(8 * braco_alavanca_sapata) - tracao_y_sapata = 1.1 * nk_equiv * (y_sapata - y_pilar)/(8 * braco_alavanca_sapata) - as_x_sapata = (1.4 * tracao_x_sapata)/(fyd_sapata) - as_y_sapata = (1.4 * tracao_y_sapata)/fyd_sapata - - taxa_aco_sapata = (0.078 * (fck_sapata)**(2/3))/fyd_sapata - - if taxa_aco_sapata <= 0.0015: - taxa_aco_sapata = 0.0015 - - as_x_min_laje = 0.67 * taxa_aco_sapata * h_mincis * x_sapata - as_y_min_laje = 0.67 * taxa_aco_sapata * h_mincis * y_sapata - - print('x_sapata: ',x_sapata) - print('y_sapata: ',y_sapata) - - print('wx: ',wx) - print('wy: ',wy) - print('mw_x: ',mw_x) - print('mw_y: ',mw_y) - print('tensao_max_sapata: ',tensao_max_sapata) - print('tensao_min_sapata: ',tensao_min_sapata) - print('nk_equiv: ',nk_equiv) - print('ca_sapata: ',ca_sapata) - print('cb_sapata: ',cb_sapata) - print('h0a: ',h0a) - print('h0b: ',h0b) - print('h_mincis: ',h_mincis) - #print('h0: ',h0) - print('h_total',h_total) - print('-------------------------------------\n') - - #-------------------------------------- saida dos dados -------------------------------------------------- - self.lineEdit_11.setText(str(h_total)) - #self.lineEdit_12.setText(str(h0)) - - self.lineEdit_15.setText(str(area_sapata)) - self.lineEdit_16.setText(str(round(wx, ndigits=6))) - self.lineEdit_17.setText(str(round(wy, ndigits=6))) - self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) - self.lineEdit_19.setText(str(round(tensao_max_sapata/1000000, ndigits=4))) - self.lineEdit_20.setText(str(round(tensao_min_sapata/1000000, ndigits=4))) - self.lineEdit_21.setText(str(round(ca_sapata*100, ndigits=4))) - self.lineEdit_22.setText(str(round(cb_sapata*100, ndigits=4))) - - self.lineEdit_23.setText(str(round(h_rig_x*100, ndigits=4))) - self.lineEdit_24.setText(str(round(h_rig_y*100, ndigits=4))) - self.lineEdit_25.setText(str(round(h_mincis*100, ndigits=4))) - self.lineEdit_26.setText(str(round(h0a*100, ndigits=4))) - self.lineEdit_28.setText(str(round(h0b*100, ndigits=4))) - self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) - - self.lineEdit_14.setText(str(round(tracao_x_sapata/1000, ndigits=4))) - self.lineEdit_29.setText(str(round(tracao_y_sapata/1000, ndigits=4))) - self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) - self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) - - self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) - self.lineEdit_33.setText(str(round(as_x_min_laje*1000000, ndigits=4))) - self.lineEdit_34.setText(str(round(as_y_min_laje*1000000, ndigits=4))) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - - def gerar_dim_sapata(self): - - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - - - if (nk != 0 and x_pilar != 0 and y_pilar != 0 and tensao_adm_solo != 0 and fator_solo != 0): - - fck_sapata = float(self.comboBox.currentText()) - fcd_sapata = fck_sapata / 1.4 - fyk_sapata = float(self.comboBox_2.currentText()) - fyd_sapata = fyk_sapata / 1.15 - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - angulo_dissp_sapata = float(self.spinBox.value()) - - angulo_dissp_sapata = (angulo_dissp_sapata / 180)* 3.14 - - x_pilar = float(self.lineEdit.text())/100 - y_pilar = float(self.lineEdit_2.text())/100 - - area_sapata = round(fator_solo * ((nk*1000)/(tensao_adm_solo*1000000)),ndigits=6) - - y_sapata = 0.5*(y_pilar - x_pilar) + math.sqrt(0.25*((y_pilar - x_pilar)**2)+area_sapata) - - x_sapata = area_sapata/y_sapata - - if (momento_x_sapata != 0 and momento_y_sapata == 0) or (momento_x_sapata == 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.05 - elif (momento_x_sapata != 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.103 - else: - fator_acrescimo_dimensoes = 1.0 - - x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) - y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) - - if x_sapata < 0.6: - x_sapata = 0.6 - if y_sapata < 0.6: - y_sapata = 0.6 - print(x_sapata,'<--------------------------------------------------') - wx = x_sapata * (y_sapata**2)/6 - wy = y_sapata * (x_sapata**2)/6 - - mw_x = (momento_x_sapata/wx)*1000 - mw_y = (momento_y_sapata/wy)*1000 - - tensao_sapata = (fator_solo*nk*1000)/(x_sapata*y_sapata) - tensao_max_sapata = tensao_sapata + mw_x + mw_y - tensao_min_sapata = tensao_sapata - mw_x - mw_y - - x_sapata = self.arredondar_cinco(x_sapata) - y_sapata = self.arredondar_cinco(y_sapata) - if x_sapata < 0.6: - x_sapata = 0.6 - if y_sapata < 0.6: - y_sapata = 0.6 - - nk_equiv = (x_sapata * y_sapata * tensao_max_sapata)/fator_solo - - ca_sapata = (x_sapata - x_pilar)/2 - cb_sapata = (y_sapata - y_pilar)/2 - h_rig_x = 2/3 * ca_sapata - h_rig_y = 2/3 * cb_sapata - - h_total = h_rig_x - if h_total < h_rig_y: - h_total = h_rig_y - - h_mincis = (1.4 * nk_equiv)/(2*(x_pilar+y_pilar)*0.27*(1-(fck_sapata/250))*(fcd_sapata*1000000)) - if h_mincis < 0.40: - h_mincis = 0.40 - h_mincis = round(h_mincis, ndigits=4) - - if h_total < h_mincis: - h_total = h_mincis - - h_total = self.arredondar_cinco(h_total) - - h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) - h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) - h0_prerrogativo = h_total/3 - tangente_angulo = math.tan(angulo_dissp_sapata) - h0 = round(h0a, ndigits=2) - if h0a < h0b: - h0 = round(h0b, ndigits=2) - elif h0b < h0_prerrogativo: - h0 = h0_prerrogativo - if h0 < 0.25: - h0 = 0.25 - h0 = self.arredondar_cinco(h0) - - volume_concreto_sapata = ((h_total-h0)/3*(x_sapata*y_sapata+x_pilar*y_pilar+math.sqrt(x_sapata*y_sapata*x_pilar*y_pilar)))+(x_sapata*y_sapata*h0) - - braco_alavanca_sapata = h_total - 0.05 - - tracao_x_sapata = 1.1 * nk_equiv * (x_sapata - x_pilar)/(8 * braco_alavanca_sapata) - tracao_y_sapata = 1.1 * nk_equiv * (y_sapata - y_pilar)/(8 * braco_alavanca_sapata) - as_x_sapata = (1.4 * tracao_x_sapata)/(fyd_sapata) - as_y_sapata = (1.4 * tracao_y_sapata)/fyd_sapata - - taxa_aco_sapata = (0.078 * (fck_sapata)**(2/3))/fyd_sapata - - if taxa_aco_sapata <= 0.0015: - taxa_aco_sapata = 0.0015 - - as_x_min_laje = 0.67 * taxa_aco_sapata * h_total * x_sapata - as_y_min_laje = 0.67 * taxa_aco_sapata * h_total * y_sapata - - print('x_sapata: ',x_sapata) - print('y_sapata: ',y_sapata) - - print('wx: ',wx) - print('wy: ',wy) - print('mw_x: ',mw_x) - print('mw_y: ',mw_y) - print('tensao_max_sapata: ',tensao_max_sapata) - print('tensao_min_sapata: ',tensao_min_sapata) - print('nk_equiv: ',nk_equiv) - print('ca_sapata: ',ca_sapata) - print('cb_sapata: ',cb_sapata) - print('h0a: ',h0a) - print('h0b: ',h0b) - print('h_mincis: ',h_mincis) - print('h0: ',h0) - print('tangente_angulo: ',tangente_angulo) - print('----------') - print('h_total: ',h_total) - print('tracao_x_sapata: ',tracao_x_sapata) - print('tracao_y_sapata: ',tracao_y_sapata) - print('as_x_sapata: ',as_x_sapata) - print('as_y_sapata: ',as_y_sapata) - print('taxa_aco_sapata: ',taxa_aco_sapata) - print('as_x_min_laje: ',as_x_min_laje) - print('as_y_min_laje: ',as_y_min_laje) - print('-------------------------------------\n') - #------------------------------ saida de dados --------------------------------------------- - self.lineEdit_9.setText(str(y_sapata)) - self.lineEdit_10.setText(str(x_sapata)) - self.lineEdit_15.setText(str(area_sapata)) - - self.lineEdit_11.setText(str(round(h_total, ndigits=4))) - self.lineEdit_12.setText(str(round(h0, ndigits=4))) - - - self.lineEdit_15.setText(str(area_sapata)) - self.lineEdit_16.setText(str(round(wx, ndigits=6))) - self.lineEdit_17.setText(str(round(wy, ndigits=6))) - self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) - self.lineEdit_19.setText(str(round(tensao_max_sapata/1000000, ndigits=4))) - self.lineEdit_20.setText(str(round(tensao_min_sapata/1000000, ndigits=4))) - self.lineEdit_21.setText(str(round(ca_sapata*100, ndigits=4))) - self.lineEdit_22.setText(str(round(cb_sapata*100, ndigits=4))) - - self.lineEdit_23.setText(str(round(h_rig_x*100, ndigits=4))) - self.lineEdit_24.setText(str(round(h_rig_y*100, ndigits=4))) - self.lineEdit_25.setText(str(round(h_mincis*100, ndigits=4))) - self.lineEdit_26.setText(str(round(h0a*100, ndigits=4))) - self.lineEdit_28.setText(str(round(h0b*100, ndigits=4))) - self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) - - self.lineEdit_14.setText(str(round(tracao_x_sapata/1000, ndigits=4))) - self.lineEdit_29.setText(str(round(tracao_y_sapata/1000, ndigits=4))) - self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) - self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) - - self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) - self.lineEdit_33.setText(str(round(as_x_min_laje*1000000, ndigits=4))) - self.lineEdit_34.setText(str(round(as_y_min_laje*1000000, ndigits=4))) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - -class App2(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.setGeometry(400, 100, 200, 200) - self.editor = QtWidgets.QTextEdit('Achou', self) - self.editor.setGeometry(20, 20, 160, 160) - -#---------------------------------------------- Janelas de Detalhamento ---------------------------------------------------- -tabela_bitolas_ferro = [ - [6.3, 31.17], - [8, 50.26], - [10, 78.53], - [12.5, 122.71], - [16, 201.06], - [20, 314.15], - [25, 490.87], - [32, 804.24], - [40, 1256.63] - ] - -'''class Detalhar_viga(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('detalhamento_vigas.ui',self) - self.setWindowTitle('Navier - Vigas - Detalhamento') - def load_signals(self): - print('inicializado') - self.pushButton.clicked.connect(self.calcular_area) - self.pushButton_2.clicked.connect(self.limpar_detalhamento) - - #pg.plot(x=[0,1,2,3,4], y=[0,1,2,3,4]**2 ) - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch) - - self.widget.setTitle('Nº barras/Bitola') - self.widget.showGrid(x=True,y=True,alpha=1) - - - def calcular_area(self): - area_aco = self.lineEdit.text() - base = self.lineEdit_2.text() - altura = self.lineEdit_3.text() - d_agreg = self.lineEdit_4.text() - - if (area_aco != '0' and base != '0' and altura != '0' and d_agreg != '0'): - - self.widget.clear() - area_aco = float(self.lineEdit.text()) - base = float(self.lineEdit_2.text()) - altura = float(self.lineEdit_3.text()) - cobrimento = float(self.comboBox.currentText()) - x = [] - y = [] - z = [] - cont = 0 - for i in tabela_bitolas_ferro: - n_barras = float(area_aco/i[1]) - print('bitola: ',i[0],' - nº barras: ',n_barras) - - self.tableWidget.setItem(cont,2, QTableWidgetItem(str(round(n_barras, ndigits=2)))) - self.tableWidget.setItem(cont,3, QTableWidgetItem(str(round(n_barras +0.5)+1))) - - x.append(i[0]) - y.append(round(n_barras +0.5)+1) - - bitola = x[cont] - n_barras = (round(n_barras +0.5)+1) - - espass_horizontal = (round(base - 2*(cobrimento+0.5) - n_barras*(bitola/10), ndigits=2))/(n_barras-1) - z.append(round(espass_horizontal,ndigits=2)) - self.tableWidget.setItem(cont,4, QTableWidgetItem(str(espass_horizontal))) - - cont +=1 - - print(x) - print(y) - print(z) - - self.widget.plot(x=x,y=y,pen=(3)) - - self.calcular_espacamentos() - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def calcular_espacamentos(self): - bitola = float(self.comboBox_2.currentText()) - d_agreg = float(self.lineEdit_4.text()) - - s_horizontal = max(2, (bitola/10), 1.2*d_agreg) - s_vertical = max(2, (bitola/10), 0.5*d_agreg) - - #------------------------------- saida de dados ---------------------------------- - self.lineEdit_5.setText(str(s_horizontal)) - self.lineEdit_6.setText(str(s_vertical)) - - def limpar_detalhamento(self): - self.widget.clear() - self.lineEdit.setText(str('0')) - self.lineEdit_2.setText(str('0')) - self.lineEdit_3.setText(str('0')) - self.lineEdit_5.setText(str('0')) - self.lineEdit_4.setText(str('0')) -''' - -tabela_bitolas_ferro = [ - [6.3, 31.17], - [8, 50.26], - [10, 78.53], - [12.5, 122.71], - [16, 201.06], - [20, 314.15], - [25, 490.87], - [32, 804.24], - [40, 1256.63] - ] -info_viga = ['95','12','45','40','1.9'] - -class Detalhar_viga(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('detalhamento_vigas_alt.ui',self) - self.setWindowTitle('Navier - Vigas - Detalhamento') - #self.show() - def load_signals(self): - print('inicializado') - self.pushButton.clicked.connect(self.calcular_area) - #self.pushButton.clicked.connect(self.calcular_estribos) - self.pushButton_2.clicked.connect(self.limpar_detalhamento) - self.pushButton_3.clicked.connect(self.recuperarValores) - - - #pg.plot(x=[0,1,2,3,4], y=[0,1,2,3,4]**2 ) - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch) - - self.widget.setTitle('nº barras/Bitola') - self.widget.showGrid(x=True,y=True,alpha=1) - - #if '0' not in info_viga: - # self.recuperarValores() - - def calcular_estribos(self): - vsw = self.lineEdit_14.text() - fyk_estribo = self.comboBox_2.currentText() - tramos = self.lineEdit_15.text() - - if (vsw != '0' and tramos != '0'): - vsw = float(self.lineEdit_14.text()) - bitola_estribo = float(self.comboBox.currentText()) - fyk_estribo = float(self.comboBox_2.currentText()) - tramos = float(self.lineEdit_15.text()) - d = float(self.lineEdit_13.text()) - - area_bitola = (3.14*((bitola_estribo/1000)**2)/4) - - print(vsw) - print(bitola_estribo) - print(tramos) - print(fyk_estribo) - print(area_bitola) - - - s_estribo = ((tramos * area_bitola * 0.9 * (d/100) * (fyk_estribo*100000/1.15))/vsw*1000)/100 - s_estribo = round(s_estribo, ndigits=3) - - self.lineEdit.setText(str(s_estribo)) - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes para o cálculo dos Estribos!") - - - def recuperarValores(self): - area_aco = info_viga[0] - base = info_viga[1] - altura = info_viga[2] - d = info_viga[3] - d_agreg = info_viga[4] - - self.lineEdit_11.setText(area_aco) - self.lineEdit_10.setText(base) - self.lineEdit_9.setText(altura) - self.lineEdit_12.setText(d_agreg) - self.lineEdit_13.setText(d) - - def calcular_area(self): - area_aco = self.lineEdit_11.text() - base = self.lineEdit_10.text() - altura = self.lineEdit_9.text() - d_agreg = self.lineEdit_12.text() - d = self.lineEdit_13.text() - - if (area_aco != '0' and base != '0' and altura != '0' and d_agreg != '0' and d != '0'): - - self.widget.clear() - area_aco = float(self.lineEdit_11.text()) - base = float(self.lineEdit_10.text()) - altura = float(self.lineEdit_9.text()) - cobrimento = float(self.comboBox_3.currentText()) - bitola_estribo = float(self.comboBox.currentText()) - x = [] - y = [] - z = [] - cont = 0 - for i in tabela_bitolas_ferro: - n_barras = float(area_aco/i[1]) - print('bitola: ',i[0],' - nº barras: ',n_barras) - - self.tableWidget.setItem(cont,2, QTableWidgetItem(str(round(n_barras, ndigits=2)))) - self.tableWidget.setItem(cont,3, QTableWidgetItem(str(round(n_barras +0.5)+1))) - - x.append(i[0]) - y.append(round(n_barras +0.5)+1) - - bitola = x[cont] - n_barras = (round(n_barras +0.5)+1) - - espass_horizontal = (round(base - 2*(cobrimento+bitola_estribo/10) - n_barras*(bitola/10), ndigits=2))/(n_barras-1) - - z.append(round(espass_horizontal,ndigits=2)) - self.tableWidget.setItem(cont,4, QTableWidgetItem(str(espass_horizontal))) - - print('base:',base) - print('cobrimento:',cobrimento) - print('bitola_estribo:',bitola_estribo) - print('n_barras:',n_barras) - - cont +=1 - - #print(x) - #print(y) - #print(z) - - self.widget.plot(x=x,y=y,pen=(3)) - - self.calcular_espacamentos() - self.calcular_estribos() - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def calcular_espacamentos(self): - bitola = float(self.comboBox_4.currentText()) - d_agreg = float(self.lineEdit_12.text()) - - s_horizontal = max(2, (bitola/10), 1.2*d_agreg) - s_vertical = max(2, (bitola/10), 0.5*d_agreg) - - #------------------------------- saida de dados ---------------------------------- - self.lineEdit_7.setText(str(s_horizontal)) - self.lineEdit_8.setText(str(s_vertical)) - - def limpar_detalhamento(self): - self.widget.clear() - self.lineEdit_11.setText(str('0')) - self.lineEdit_9.setText(str('0')) - self.lineEdit_10.setText(str('0')) - self.lineEdit_7.setText(str('0')) - self.lineEdit_8.setText(str('0')) - - - -class Tabela_Bitolas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('bitolas_ferros.ui',self) - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - self.setWindowTitle('Navier - Tabela de Bitolas') - -class Tabela_Classe_Agressividade(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('class_agres.ui',self) - self.setWindowTitle('Navier - Classes de Agressividade e Cobrimentos Mínimos') - def load_signals(self): - print('inicializado') - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - - self.tableWidget.setSpan(0, 0, 1, 4) - - header_2 = self.tableWidget_2.horizontalHeader() - header_2.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(3, QtWidgets.QHeaderView.ResizeToContents) - - self.tableWidget_2.setSpan(0, 0, 2, 1) - self.tableWidget_2.setSpan(0, 1, 2, 1) - self.tableWidget_2.setSpan(0, 3, 2, 1) - - self.tableWidget_2.setSpan(3, 0, 2, 1) - self.tableWidget_2.setSpan(3, 1, 2, 1) - self.tableWidget_2.setSpan(3, 3, 2, 1) - - self.tableWidget_2.setSpan(5, 0, 2, 1) - self.tableWidget_2.setSpan(5, 1, 2, 1) - self.tableWidget_2.setSpan(5, 3, 2, 1) - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - inicio = Inicio() - vigas = Vigas() - detalhar_vigas = Detalhar_viga() - pilares = Pilares() - pilares_areas_aco = Pilar_area_aco() - #pilares.show() - #vigas.show() - lajes = Lajes() - #lajes.show() - sapatas = Sapatas() - #sapatas.show() - carga_adicional = Carga_Adicional() - tabela_classe_agressividade = Tabela_Classe_Agressividade() - tabela_bitolas = Tabela_Bitolas() - - app.exec_() \ No newline at end of file diff --git a/inicial_new.py b/inicial_new.py deleted file mode 100644 index 5659a9a..0000000 --- a/inicial_new.py +++ /dev/null @@ -1,3040 +0,0 @@ - - -import sys -import os -import math - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox, QTableWidget, QTableWidgetItem -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -import pyqtgraph as pg - - -#import marcus - -tabela_marcus = 'tabela_marcus.pdf' -abaco_normal = 'abaco_normal.pdf' -abaco_obliqua = 'abaco_obliqua.pdf' - - -import numpy as np - -marcus_caso1 = np.array([ -[0.50, 0.059, 169.18, 42.29 ], -[0.51, 0.063, 158.42, 41.20 ], -[0.52, 0.068, 148.64, 40.19 ], -[0.53, 0.073, 139.70, 39.24 ], -[0.54, 0.078, 131.55, 38.36 ], -[0.55, 0.084, 124.10, 37.53 ], -[0.56, 0.089, 117.25, 36.77 ], -[0.57, 0.095, 110.96, 36.05 ], -[0.58, 0.102, 105.19, 35.38 ], -[0.59, 0.108, 99.86, 34.76 ], -[0.60, 0.115, 94.94, 34.18 ], -[0.61, 0.122, 90.40, 33.64 ], -[0.62, 0.129, 86.20, 33.13 ], -[0.63, 0.136, 82.30, 32.66 ], -[0.64, 0.144, 78.68, 32.23 ], -[0.65, 0.151, 75.32, 31.82 ], -[0.66, 0.159, 72.19, 31.44 ], -[0.67, 0.168, 69.27, 31.09 ], -[0.68, 0.176, 66.54, 30.99 ], -[0.69, 0.185, 63.99, 30.46 ], -[0.70, 0.194, 61.60, 30.18 ], -[0.71, 0.203, 59.37, 29.93 ], -[0.72, 0.212, 57.27, 29.69 ], -[0.73, 0.221, 55.29, 29.47 ], -[0.74, 0.231, 53.44, 29.26 ], -[0.75, 0.240, 51.69, 29.07 ], -[0.76, 0.250, 50.04, 28.90 ], -[0.77, 0.260, 48.48, 28.74 ], -[0.78, 0.270, 47.01, 28.60 ], -[0.79, 0.280, 45.61, 28.46 ], -[0.80, 0.290, 44.29, 28.34 ], -[0.81, 0.301, 43.03, 28.23 ], -[0.82, 0.311, 41.84, 28.13 ], -[0.83, 0.322, 40.70, 28.04 ], -[0.84, 0.332, 39.62, 27.96 ], -[0.85, 0.343, 38.59, 27.88 ], -[0.86, 0.354, 37.61, 27.81 ], -[0.87, 0.364, 36.67, 27.75 ], -[0.88, 0.375, 35.77, 27.70 ], -[0.89, 0.385, 34.91, 27.65 ], -[0.90, 0.396, 34.09, 27.61 ], -[0.91, 0.407, 33.30, 27.57 ], -[0.92, 0.417, 32.54, 27.54 ], -[0.93, 0.428, 31.81, 27.51 ], -[0.94, 0.438, 31.11, 27.49 ], -[0.95, 0.449, 30.44, 27.47 ], -[0.96, 0.459, 29.79, 27.45 ], -[0.97, 0.469, 29.17, 27.44 ], -[0.98, 0.480, 28.57, 27.43 ], -[0.99, 0.490, 27.99, 27.43 ], -[1.00, 0.500, 27.43, 27.43 ], -[1.00, 0.500, 27.43, 27.43], -[1.01, 0.510, 26.89, 27.43], -[1.02, 0.520, 26.37, 27.43], -[1.03, 0.529, 25.87, 27.44], -[1.04, 0.539, 25.38, 27.45], -[1.05, 0.549, 24.91, 27.47], -[1.06, 0.558, 24.46, 27.48], -[1.07, 0.567, 24.02, 27.50], -[1.08, 0.576, 23.60, 27.52], -[1.09, 0.585, 23.19, 27.55], -[1.10, 0.594, 22.79, 27.57], -[1.11, 0.603, 22.41, 27.61], -[1.12, 0.611, 22.03, 27.64], -[1.13, 0.620, 21.67, 27.67], -[1.14, 0.628, 21.32, 27.71], -[1.15, 0.636, 20.99, 27.76], -[1.16, 0.644, 20.66, 27.80], -[1.17, 0.652, 20.34, 27.85], -[1.18, 0.660, 20.04, 27.90], -[1.19, 0.667, 19.74, 27.95], -[1.20, 0.675, 19.45, 28.01], -[1.21, 0.682, 19.17, 28.07], -[1.22, 0.689, 18.90, 28.13], -[1.23, 0.696, 18.64, 28.20], -[1.24, 0.703, 18.39, 28.27], -[1.25, 0.709, 18.14, 28.34], -[1.26, 0.716, 17.90, 28.42], -[1.27, 0.722, 17.67, 28.50], -[1.28, 0.729, 17.44, 28.58], -[1.29, 0.735, 17.23, 28.67], -[1.30, 0.741, 17.01, 28.76], -[1.31, 0.746, 16.81, 28.85], -[1.32, 0.752, 16.61, 28.94], -[1.33, 0.758, 16.42, 29.04], -[1.34, 0.763, 16.23, 29.14], -[1.35, 0.769, 16.05, 29.25], -[1.36, 0.774, 15.87, 29.36], -[1.37, 0.779, 15.70, 29.47], -[1.38, 0.784, 15.53, 29.58], -[1.39, 0.789, 15.37, 29.70], -[1.40, 0.793, 15.21, 29.82], -[1.41, 0.798, 15.06, 29.95], -[1.42, 0.803, 14.91, 30.07], -[1.43, 0.807, 14.77, 30.20], -[1.44, 0.811, 14.63, 30.34], -[1.45, 0.815, 14.49, 30.47], -[1.46, 0.820, 14.36, 30.61], -[1.47, 0.824, 14.23, 30.76], -[1.48, 0.827, 14.11, 30.90], -[1.49, 0.831, 13.99, 31.05], -[1.50, 0.835, 13.87, 31.21], -[1.50, 0.835, 13.87, 31.21], -[1.51, 0.839, 13.75, 31.36], -[1.52, 0.842, 13.64, 31.52], -[1.53, 0.846, 13.53, 31.68], -[1.54, 0.849, 13.43, 31.85], -[1.55, 0.852, 13.32, 32.01], -[1.56, 0.855, 13.22, 32.18], -[1.57, 0.859, 13.13, 32.36], -[1.58, 0.862, 13.03, 32.53], -[1.59, 0.865, 12.94, 32.71], -[1.60, 0.868, 12.85, 32.80], -[1.61, 0.870, 12.76, 33.08], -[1.62, 0.873, 12.68, 33.27], -[1.63, 0.876, 12.59, 33.46], -[1.64, 0.878, 12.51, 33.65], -[1.65, 0.881, 12.43, 33.85], -[1.66, 0.884, 12.35, 34.04], -[1.67, 0.886, 12.28, 34.24], -[1.68, 0.888, 12.21, 34.45], -[1.69, 0.891, 12.13, 34.65], -[1.70, 0.893, 12.06, 34.87], -[1.71, 0.895, 12.00, 35.08], -[1.72, 0.897, 11.93, 35.29], -[1.73, 0.899, 11.86, 35.51], -[1.74, 0.902, 11.80, 35.73], -[1.75, 0.904, 11.74, 35.95], -[1.76, 0.906, 11.68, 36.17], -[1.77, 0.907, 11.62, 36.40], -[1.78, 0.909, 11.56, 36.63], -[1.79, 0.911, 11.51, 36.86], -[1.80, 0.913, 11.45, 37.10], -[1.81, 0.915, 11.40, 37.33], -[1.82, 0.916, 11.34, 37.58], -[1.83, 0.918, 11.29, 37.82], -[1.84, 0.920, 11.24, 38.06], -[1.85, 0.921, 11.19, 38.31], -[1.86, 0.923, 11.15, 38.56], -[1.87, 0.924, 11.10, 38.81], -[1.88, 0.926, 11.05, 39.07], -[1.89, 0.927, 11.01, 39.32], -[1.90, 0.929, 10.96, 39.58], -[1.91, 0.930, 10.92, 39.84], -[1.92, 0.931, 10.88, 40.10], -[1.93, 0.933, 10.84, 40.37], -[1.94, 0.934, 10.80, 40.63], -[1.95, 0.935, 10.76, 40.91], -[1.96, 0.936, 10.72, 41.18], -[1.97, 0.938, 10.68, 41.45], -[1.98, 0.939, 10.64, 41.73], -[1.99, 0.940, 10.60, 42.01], -[2.00, 0.941, 10.57, 42.29],]) - - - -marcus_caso2 = np.array([ -[0.50, 0.135, 140.93, 59.20, 45.13], -[0.51, 0.145, 132.95, 55.31, 44.11], -[0.52, 0.154, 125.68, 51.77, 43.22], -[0.53, 0.165, 119.03, 48.56, 42.38], -[0.54, 0.175, 112.94, 45.64, 41.60], -[0.55, 0.186, 107.35, 42.97, 40.88], -[0.56, 0.197, 102.20, 40.54, 40.21], -[0.57, 0.209, 97.46, 38.32, 39.60], -[0.58, 0.220, 93.08, 36.28, 39.03], -[0.59, 0.232, 89.03, 34.41, 38.51], -[0.60, 0.245, 85.28, 32.69, 38.04], -[0.61, 0.257, 81.79, 31.11, 37.60], -[0.62, 0.270, 78.55, 29.66, 37.20], -[0.63, 0.282, 75.53, 28.31, 36.83], -[0.64, 0.295, 72.71, 27.07, 36.49], -[0.65, 0.308, 70.07, 25.93, 36.19], -[0.66, 0.322, 67.60, 24.86, 35.92], -[0.67, 0.335, 65.28, 23.88, 35.67], -[0.68, 0.348, 63.10, 22.97, 35.44], -[0.69, 0.362, 61.05, 22.12, 35.25], -[0.70, 0.375, 59.12, 21.33, 35.07], -[0.71, 0.388, 57.30, 20.59, 34.92], -[0.72, 0.402, 55.58, 19.91, 34.78], -[0.73, 0.415, 53.95, 19.27, 34.67], -[0.74, 0.428, 52.41, 18.67, 34.57], -[0.75, 0.442, 50.94, 18.11, 34.50], -[0.76, 0.455, 49.56, 17.59, 34.44], -[0.77, 0.468, 48.24, 17.10, 34.39], -[0.78, 0.481, 46.98, 16.64, 34.36], -[0.79, 0.493, 45.79, 16.21, 34.35], -[0.80, 0.506, 44.65, 15.81, 34.35], -[0.81, 0.518, 43.56, 15.43, 34.36], -[0.82, 0.531, 42.53, 15.08, 34.39], -[0.83, 0.543, 41.54, 14.74, 34.42], -[0.84, 0.554, 40.60, 14.43, 34.48], -[0.85, 0.566, 39.69, 14.13, 34.54], -[0.86, 0.578, 38.83, 13.85, 34.62], -[0.87, 0.589, 38.01, 13.59, 34.70], -[0.88, 0.600, 97.22, 13.34, 34.80], -[0.89, 0.611, 96.46, 13.10, 34.91], -[0.90, 0.621, 95.73, 12.88, 35.03], -[0.91, 0.632, 35.04, 12.67, 35.16], -[0.92, 0.642, 34.37, 12.47, 35.29], -[0.93, 0.652, 33.73, 12.28, 35.44], -[0.94, 0.661, 33.12, 12.10, 35.60], -[0.95, 0.671, 32.53, 11.93, 35.77], -[0.96, 0.680, 31.97, 11.77, 35.95], -[0.97, 0.689, 31.43, 11.61, 36.13], -[0.98, 0.697, 30.91, 11.47, 36.33], -[0.99, 0.706, 30.41, 11.33, 36.53], -[1.00, 0.714, 29.93, 11.20, 36.74], -[ 1.00, 0.714, 29.93, 11.20, 36], -[ 1.02, 0.730, 29.02, 10.96, 37], -[ 1.04, 0.745, 28.18, 10.73, 37], -[ 1.06, 0.759, 27.41, 10.53, 38], -[ 1.08, 0.773, 26.69, 10.35, 38], -[ 1.10, 0.785, 26.02, 10.18, 39], -[ 1.12, 0.797, 25.40, 10.03, 39], -[1.14, 0.808, 24.83, 9.89, 40.55], -[1.16, 0.819, 24.29, 9.77, 41.21], -[1.18, 0.829, 23.79, 9.65, 41.90], -[1.20, 0.838, 23.33, 9.45, 42.62], -[1.22, 0.847, 22.89, 9.44, 43.36], -[1.24, 0.855, 22.49, 9.35, 44.13], -[1.26, 0.863, 22.11, 9.27, 44.93], -[1.28, 0.870, 21.75, 9.19, 45.75], -[1.30, 0.877, 21.42, 9.12, 46.59], -[1.32, 0.884, 21.11, 9.05, 47.46], -[1.34, 0.889, 20.82, 8.99, 48.34], -[1.36, 0.895, 20.54, 8.93, 49.26], -[1.38, 0.901, 20.28, 8.88, 50.20], -[1.40, 0.906, 20.04, 8.83, 51.15], -[1.42, 0.910, 19.81, 8.79, 52.14], -[1.44, 0.915, 19.59, 8.74, 53.14], -[1.46, 0.919, 19.39, 8.70, 54.16], -[1.48, 0.923, 19.20, 8.67, 55.21], -[1.50, 0.927, 19.01, 8.63, 56.28], -[1.52, 0.930, 18.84, 8.60, 57.36], -[1.54, 0.934, 18.68, 8.57, 58.47], -[1.56, 0.937, 18.52, 8.54, 59.60], -[1.58, 0.940, 18.37, 8.51, 60.74], -[1.60, 0.942, 18.23, 8.49, 61.91], -[1.62, 0.945, 18.10, 8.46, 63.11], -[1.64, 0.948, 17.97, 8.44, 64.31], -[1.66, 0.950, 17.85, 8.42, 65.53], -[1.68, 0.952, 17.74, 8.40, 66.78], -[1.70, 0.954, 17.63, 8.38, 68.04], -[1.72, 0.956, 17.52, 8.36, 69.33], -[1.74, 0.958, 17.42, 8.35, 70.63], -[1.76, 0.960, 17.33, 8.33, 71.96], -[1.78, 0.962, 17.25, 8.32, 73.30], -[1.80, 0.963, 17.15, 8.30, 74.65], -[1.82, 0.965, 17.07, 8.29, 76.03], -[1.84, 0.966, 16.99, 8.28, 77.42], -[1.86, 0.968, 16.91, 8.27, 78.85], -[1.88, 0.969, 16.84, 8.26, 80.27], -[1.90, 0.970, 16.77, 8.24, 81.73], -[1.92, 0.971, 16.70, 8.23, 83.18], -[1.94, 0.972, 16.64, 8.23, 84.67], -[1.96, 0.974, 16.57, 8.22, 86.19], -[1.98, 0.975, 16.51, 8.21, 87.70], -[2.00, 0.976, 16.46, 8.20, 89.22],]) - - -marcus_caso3 = np.array([ -[1.00, 0.500, 37.14, 16.00, 37.14, 16.00], -[1.01, 0.510, 36.42, 15.69, 37.15, 16.00], -[1.02, 0.520, 35.72, 15.39, 37.16, 16.01], -[1.03, 0.529, 35.05, 15.11, 37.19, 16.03], -[1.04, 0.539, 34.42, 14.84, 37.22, 16.05], -[1.05, 0.549, 33.81, 14.58, 37.27, 16.08], -[1.06, 0.558, 33.21, 14.34, 27.32, 16.11], -[1.07, 0.567, 32.65, 14.10, 37.38, 16.15], -[1.08, 0.576, 32.11, 13.88, 37.45, 16.19], -[1.09, 0.585, 31.59, 13.67, 37.53, 16.24], -[1.10, 0.594, 31.09, 13.46, 37.61, 16.29], -[1.11, 0.603, 30.61, 13.27, 37.71, 16.35], -[1.12, 0.611, 30.14, 13.08, 37.81, 16.41], -[1.13, 0.620, 29.70, 12.91, 37.92, 16.48], -[1.14, 0.628, 29.27, 12.74, 38.04, 16.55], -[1.15, 0.636, 28.85, 12.57, 38.16, 16.63], -[1.16, 0.644, 28.46, 12.42, 38.29, 16.71], -[1.17, 0.652, 28.08, 12.27, 38.43, 16.79], -[1.18, 0.660, 27.71, 12.13, 38.58, 16.88], -[1.19, 0.667, 27.35, 11.99, 38.73, 16.98], -[1.20, 0.674, 27.00, 11.85, 38.89, 17.07], -[1.21, 0.682, 26.68, 11.73, 39.06, 17.18], -[1.22, 0.690, 26.36, 11.61, 39.23, 17.28], -[1.23, 0.696, 26.05, 11.49, 39.41, 17.39], -[1.24, 0.703, 25.75, 11.38, 39.59, 17.50], -[1.25, 0.709, 25.46, 11.28, 39.78, 17.62], -[1.26, 0.716, 25.18, 11.17, 39.98, 17.74], -[1.27, 0.722, 24.92, 11.07, 40.19, 17.86], -[1.28, 0.729, 24.66, 10.98, 40.40, 17.99], -[1.29, 0.735, 24.40, 10.89, 40.61, 18.12], -[1.30, 0.741, 24.16, 10.80, 40.83, 18.25], -[1.31, 0.746, 23.93, 10.72, 41.06, 18.39], -[1.32, 0.752, 23.70, 10.63, 41.29, 18.53], -[1.33, 0.758, 23.48, 10.56, 41.53, 18.67], -[1.34, 0.763, 23.26, 10.48, 41.77, 18.82], -[1.35, 0.769, 23.06, 10.41, 42.02, 18.97], -[1.36, 0.774, 22.86, 10.34, 42.28, 19.12], -[1.37, 0.779, 22.66, 10.27, 42.54, 19.28], -[1.38, 0.784, 22.48, 10.21, 42.80, 19.43], -[1.39, 0.789, 22.29, 10.14, 43.07, 19.60], -[1.40, 0.793, 22.12, 10.08, 43.35, 19.76], -[1.41, 0.798, 21.95, 10.02, 43.63, 19.93], -[1.42, 0.803, 21.78, 9.97, 43.92, 20.10], -[1.43, 0.807, 21.62, 9.91, 44.21, 20.27], -[1.44, 0.811, 21.46, 9.86, 44.50, 20.45], -[1.45, 0.815, 21.31, 9.81, 44.80, 20.62], -[1.46, 0.820, 21.16, 9.76, 45.11, 20.80], -[1.47, 0.824, 21.02, 9.71, 45.42, 20.99], -[1.48, 0.827, 20.88, 9.67, 45.74, 21.17], -[1.49, 0.831, 20.75, 9.62, 46.06, 21.36], -[1.50, 0.835, 20.61, 9.38, 46.38, 21.55], -[1.50, 0.835, 20.61, 9.58, 46.38, 21.55], -[1.51, 0.839, 20.49, 9.54, 46.71, 21.75], -[1.52, 0.842, 20.36, 9.50, 47.05, 21.94], -[1.53, 0.846, 20.24, 9.46, 47.38, 22.14], -[1.54, 0.849, 20.12, 9.42, 47.73, 22.34], -[1.55, 0.852, 20.01, 9.39, 48.07, 22.55], -[1.56, 0.855, 19.90, 9.35, 48.43, 22.76], -[1.57, 0.859, 19.79, 9.32, 48.78, 22.96], -[1.58, 0.862, 19.69, 9.28, 49.14, 23.17], -[1.59, 0.865, 19.58, 9.25, 49.51, 23.09], -[1.60, 0.868, 19.48, 9.22, 49.88, 23.60], -[1.61, 0.870, 19.39, 9.19, 50.25, 23.82], -[1.62, 0.873, 19.29, 9.16, 52.63, 24.04], -[1.63, 0.876, 19.20, 9.13, 51.01, 24.26], -[1.64, 0.878, 19.11, 9.11, 51.40, 24.49], -[1.65, 0.881, 19.02, 9.08, 51.79, 24.72], -[1.66, 0.884, 18.94, 9.05, 52.19, 24.95], -[1.67, 0.886, 18.86, 9.03, 52.58, 25.18], -[1.68, 0.888, 18.77, 9.00, 52.99, 25.41], -[1.69, 0.891, 18.70, 8.98, 53.39, 25.65], -[1.70, 0.893, 18.62, 8.96, 53.81, 25.89], -[1.71, 0.895, 18.54, 8.93, 54.22, 26.13], -[1.72, 0.897, 18.47, 8.91, 54.64, 26.37], -[1.73, 0.899, 18.40, 8.89, 55.07, 26.61], -[1.74, 0.902, 18.33, 8.87, 55.49, 26.86], -[1.75, 0.904, 18.26, 8.85, 55.92, 27.11], -[1.76, 0.906, 18.18, 8.83, 56.36, 27.36], -[1.77, 0.907, 18.13, 8.81, 56.80, 27.61], -[1.78, 0.909, 18.07, 8.80, 57.24, 27.87], -[1.79, 0.911, 18.00, 8.78, 57.68, 28.13], -[1.80, 0.913, 17.94, 8.76, 58.14, 28.39], -[1.81, 0.915, 17.88, 8.74, 58.59, 28.65], -[1.82, 0.916, 17.83, 8.73, 59.05, 28.91], -[1.83, 0.918, 17.77, 8.71, 59.51, 29.18], -[1.84, 0.920, 17.72, 8.70, 59.97, 29.44], -[1.85, 0.921, 17.66, 8.68, 60.44, 29.72], -[1.86, 0.923, 17.61, 8.67, 60.92, 29.99], -[1.87, 0.924, 17.56, 8.65, 61.39, 30.26], -[1.88, 0.926, 17.51, 8.64, 61.88, 30.54], -[1.89, 0.927, 17.46, 8.63, 62.36, 30.81], -[1.90, 0.929, 17.41, 8.61, 62.85, 31.09], -[1.91, 0.930, 17.36, 8.60, 63.34, 31.38], -[1.92, 0.931, 17.32, 8.59, 63.83, 31.66], -[1.93, 0.933, 17.27, 8.58, 64.33, 31.94], -[1.94, 0.934, 17.23, 8.56, 64.83, 32.23], -[1.95, 0.935, 17.18, 8.55, 65.34, 32.52], -[1.96, 0.936, 17.14, 8.54, 65.84, 32.81], -[1.97, 0.938, 17.10, 8.53, 66.36, 33.10], -[1.98, 0.939, 17.06, 8.52, 66.88, 33.40], -[1.99, 0.940, 17.02, 8.51, 67.39, 33.70], -[2.00, 0.941, 16.93, 8.50, 67.92, 34.00],]) - - -marcus_caso5 = np.array([ -[0.50, 0.111, 246.52, 108.00, 71.43, 36.00], -[0.51, 0.119, 230.76, 100.70, 69.53, 34.92], -[0.52, 0.127, 216.51, 95.07, 67.77, 33.91], -[0.53, 0.136, 203.52, 88.05, 66.13, 32.97], -[0.54, 0.145, 191.66, 82.56, 64.60, 32.10], -[0.55, 0.155, 180.83, 77.57, 63.18, 31.29], -[0.56, 0.164, 170.91, 73.01, 61.86, 30.53], -[0.57, 0.174, 161.79, 68.84, 60.63, 29.82], -[0.58, 0.184, 153.42, 65.02, 59.49, 29.16], -[0.59, 0.195, 145.72, 61.52, 58.42, 28.55], -[0.60, 0.206, 138.61, 58.30, 57.43, 27.98], -[0.61, 0.217, 132.05, 55.34, 56.52, 27.45], -[0.62, 0.228, 125.98, 52.61, 55.67, 26.96], -[0.63, 0.239, 120.36, 50.09, 54.88, 26.51], -[0.64, 0.251, 115.15, 47.76, 54.15, 26.08], -[0.65, 0.263, 110.30, 45.61, 53.48, 25.69], -[0.66, 0.275, 105.81, 43.62, 52.85, 25.33], -[0.67, 0.287, 101.61, 41.77, 52.28, 25.00], -[0.68, 0.299, 97.70, 40.06, 51.76, 24.70], -[0.69, 0.312, 94.06, 38.47, 51.28, 24.42], -[0.70, 0.324, 90.65, 36.99, 50.84, 24.17], -[0.71, 0.337, 87.46, 35.61, 50.45, 23.93], -[0.72, 0.349, 84.48, 34.33, 50.09, 23.73], -[0.73, 0.362, 81.68, 33.13, 49.77, 23.54], -[0.74, 0.375, 82.05, 32.48, 49.05, 23.37], -[0.75, 0.387, 76.58, 30.96, 49.23, 23.22], -[0.76, 0.400, 74.26, 29.98, 49.00, 23.09], -[0.77, 0.413, 72.08, 29.07, 48.81, 22.98], -[0.78, 0.425, 70.02, 28.21, 48.65, 22.88], -[0.79, 0.438, 68.08, 27.40, 48.51, 22.80], -[0.80, 0.450, 66.24, 26.65, 48.40, 22.74], -[0.81, 0.463, 64.51, 25.94, 48.32, 22.69], -[0.82, 0.475, 62.88, 25.27, 48.26, 22.65], -[0.83, 0.487, 61.33, 24.64, 48.22, 22.63], -[0.84, 0.499, 59.86, 24.05, 48.21, 22.63], -[0.85, 0.511, 58.47, 23.49, 48.22, 22.63], -[0.86, 0.522, 57.15, 22.97, 48.25, 22.65], -[0.87, 0.543, 55.90, 22.47, 48.30, 22.68], -[0.88, 0.545, 54.71, 22.00, 48.37, 22.72], -[0.89, 0.558, 53.58, 21.56, 48.46, 22.77], -[0.90, 0.567, 52.51, 21.14, 48.57, 22.84], -[0.91, 0.578, 51.49, 20.75, 48.69, 22.91], -[0.92, 0.589, 50.51, 20.37, 48.83, 22.99], -[0.93, 0.599, 49.59, 20.02, 48.99, 23.09], -[0.94, 0.610, 48.70, 19.68, 49.17, 23.19], -[0.95, 0.620, 47.86, 19.37, 49.06, 13.30], -[0.96, 0.629, 47.06, 19.06, 49.57, 23.42], -[0.97, 0.639, 46.29, 18.78, 49.80, 23.56], -[0.98, 0.648, 45.55, 18.50, 50.04, 23.70], -[0.99, 0.658, 44.85, 18.25, 50.29, 23.84], -[1.00, 0.667, 44.18, 18.00, 50.56, 24.00], -[1.00, 0.667, 44.18, 18.00, 50.56, 24.00], -[1.02, 0.684, 42.92, 17.54, 51.14, 24.33], -[1.04, 0.700, 41.77, 17.13, 51.76, 24.70], -[1.06, 0.716, 40.71, 16.75, 52.44, 25.10], -[1.08, 0.731, 39.74, 16.41, 53.18, 25.52], -[1.10, 0.745, 38.84, 16.10, 53.95, 25.97], -[1.12, 0.759, 38.01, 15.81, 54.78, 26.45], -[1.14, 0.772, 37.25, 15.55, 55.64, 26.95], -[1.16, 0.784, 36.54, 15.31, 56.55, 27.47], -[1.18, 0.795, 35.88, 15.09, 57.50, 28.02], -[1.20, 0.806, 35.27, 14.89, 58.50, 28.59], -[1.22, 0.816, 34.70, 14.71, 59.53, 29.19], -[1.24, 0.825, 34.17, 14.54, 60.60, 29.80], -[1.26, 0.834, 33.68, 14.38, 61.71, 30.44], -[1.28, 0.843, 33.22, 14.23, 62.85, 31.10], -[1.30, 0.851, 32.79, 14.10, 64.03, 31.77], -[1.32, 0.859, 32.38, 13.98, 65.25, 32.47], -[1.34, 0.866, 32.01, 13.86, 66.50, 33.18], -[1.36, 0.872, 31.65, 13.75, 66.78, 33.92], -[1.38, 0.879, 31.02, 13.65, 69.10, 34.67], -[1.40, 0.885, 31.01, 13.56, 70.45, 35.44], -[1.42, 0.890, 30.72, 13.47, 71.83, 36.23], -[1.44, 0.896, 30.44, 13.39, 73.24, 37.03], -[1.46, 0.901, 30.18, 13.32, 74.69, 37.86], -[1.48, 0.906, 29.94, 13.25, 76.17, 38.70], -[1.50, 0.910, 29.71, 13.18, 77.67, 39.55], -[1.52, 0.914, 29.49, 13.12, 79.20, 40.43], -[1.54, 0.918, 29.28, 13.07, 80.77, 41.32], -[1.56, 0.922, 29.09, 13.01, 82.36, 12.22], -[1.58, 0.926, 28.90, 12.96, 83.98, 43.14], -[1.60, 0.929, 28.73, 12.91, 85.64, 44.08], -[1.62, 0.932, 28.56, 12.87, 87.31, 45.03], -[1.64, 0.935, 28.40, 12.83, 89.02, 46.00], -[1.66, 0.938, 28.25, 12.79, 90.77, 46.99], -[1.68, 0.941, 28.11, 12.75, 92.52, 47.98], -[1.70, 0.943, 27.97, 12.72, 94.32, 49.00], -[1.72, 0.946, 27.84, 12.68, 96.13, 50.03], -[1.74, 0.948, 27.72, 12.65, 97.98, 51.08], -[1.76, 0.950, 27.60, 12.62, 99.86, 52.14], -[1.78, 0.952, 27.49, 12.60, 101.75, 53.21], -[1.80, 0.954, 27.38, 12.57, 103.68, 54.30], -[1.82, 0.956, 27.28, 12.55, 105.63, 55.41], -[1.84, 0.958, 27.18, 12.52, 107.62, 56.63], -[1.86, 0.960, 27.09, 12.50, 109.63, 57.67], -[1.88, 0.961, 27.00, 12.48, 111.65, 58.81], -[1.90, 0.963, 26.91, 12.46, 110.71, 59.97], -[1.92, 0.964, 26.83, 12.44, 115.79, 61.15], -[1.94, 0.966, 26.75, 12.42, 117.89, 62.33], -[1.96, 0.967, 26.68, 12.41, 120.04, 63.55], -[1.98, 0.968, 26.61, 12.39, 122.19, 64.76], -[2.00, 0.970, 26.54, 12.37, 124.35, 65.98]]) - - -marcus_caso6 = np.array([ -[1.00, 0.500, 55.74, 24.00, 55.74, 24.00], -[1.01, 0.510, 54.65, 32.53, 55.75, 24.00], -[1.02, 0.520, 53.61, 32.09, 55.78, 24.02], -[1.03, 0.529, 52.62, 22.66, 55.82, 24.04], -[1.04, 0.539, 51.76, 22.26, 55.88, 24.07], -[1.05, 0.549, 50.76, 21.87, 55.96, 24.11], -[1.06, 0.558, 49.89, 21.50, 56.06, 24.16], -[1.07, 0.567, 49.06, 21.15, 56.17, 24.22], -[1.08, 0.576, 48.27, 20.82, 56.30, 24.28], -[1.09, 0.585, 47.50, 20.50, 56.44, 24.36], -[1.10, 0.594, 46.77, 20.20, 56.59, 24.44], -[1.11, 0.603, 46.07, 19.90, 56.76, 24.52], -[1.12, 0.611, 45.40, 19.63, 56.95, 24.62], -[1.13, 0.620, 44.75, 19.36, 57.14, 24.72], -[1.14, 0.628, 44.13, 19.10, 57.36, 24.83], -[1.15, 0.636, 43.54, 18.86, 57.58, 24.94], -[1.16, 0.644, 42.97, 18.63, 57.82, 25.06], -[1.17, 0.652, 42.42, 18.40, 58.07, 25.19], -[1.18, 0.660, 41.89, 18.19, 58.33, 25.33], -[1.19, 0.667, 41.38, 17.98, 58.60, 25.47], -[1.20, 0.675, 40.90, 17.79, 58.89, 25.61], -[1.21, 0.682, 40.42, 17.60, 59.19, 25.76], -[1.22, 0.689, 39.97, 17.42, 59.49, 25.92], -[1.23, 0.696, 39.54, 17.24, 59.81, 26.09], -[1.24, 0.703, 39.12, 17.07, 60.15, 26.25], -[1.25, 0.709, 38.71, 16.91, 60.49, 26.43], -[1.26, 0.716, 38.32, 16.76, 60.84, 26.61], -[1.27, 0.722, 37.95, 16.61, 61.20, 26.79], -[1.28, 0.729, 37.58, 16.47, 61.57, 26.98], -[1.29, 0.735, 37.23, 16.33, 61.96, 27.18], -[1.30, 0.741, 36.89, 16.20, 62.05, 27.38], -[1.31, 0.746, 36.57, 16.07, 62.75, 27.58], -[1.32, 0.752, 36.25, 15.95, 63.16, 27.79], -[1.33, 0.758, 35.95, 15.83, 63.59, 28.01], -[1.34, 0.763, 35.65, 15.72, 64.02, 28.23], -[1.35, 0.769, 35.37, 15.61, 64.46, 28.45], -[1.36, 0.774, 35.09, 15.51, 64.91, 28.68], -[1.37, 0.779, 34.83, 15.41, 65.36, 28.91], -[1.38, 0.784, 34.57, 15.31, 65.83, 29.15], -[1.39, 0.789, 34.32, 15.21, 66.31, 29.39], -[1.40, 0.793, 34.08, 15.12, 66.79, 29.64], -[1.41, 0.798, 33.85, 15.04, 67.29, 29.89], -[1.42, 0.803, 33.62, 14.95, 67.79, 30.15], -[1.43, 0.807, 33.40, 14.87, 68.30, 30.40], -[1.44, 0.811, 33.19, 14.79, 68.82, 30.67], -[1.45, 0.815, 32.98, 14.71, 69.34, 30.94], -[1.46, 0.820, 32.78, 14.64, 69.88, 31.21], -[1.47, 0.824, 32.59, 14.57, 70.42, 31.48], -[1.48, 0.827, 32.40, 14.50, 70.97, 31.76], -[1.49, 0.831, 32.22, 14.43, 71.53, 32.04], -[1.50, 0.835, 32.04, 14.37, 72.10, 32.33], -[1.50, 0.835, 32.04, 14.37, 72.10, 32.33], -[1.51, 0.839, 31.87, 14.31, 72.67, 32.62], -[1.52, 0.842, 31.71, 14.25, 73.25, 32.92], -[1.53, 0.846, 31.54, 14.19, 73.84, 33.22], -[1.54, 0.849, 31.39, 14.13, 74.44, 33.52], -[1.55, 0.852, 31.24, 14.08, 75.04, 33.82], -[1.56, 0.855, 31.09, 14.03, 75.65, 34.13], -[1.57, 0.859, 30.94, 13.97, 76.27, 34.45], -[1.58, 0.862, 30.80, 13.92, 76.90, 34.79], -[1.59, 0.865, 30.67, 13.88, 77.52, 35.08], -[1.60, 0.868, 30.54, 13.83, 78.17, 35.41], -[1.61, 0.870, 30.41, 13.79, 78.81, 35.73], -[1.62, 0.873, 30.28, 13.74, 79.47, 36.06], -[1.63, 0.876, 30.16, 13.70, 80.13, 36.40], -[1.64, 0.878, 30.04, 13.66, 80.80, 36.74], -[1.65, 0.881, 29.93, 13.62, 81.48, 37.08], -[1.66, 0.884, 29.82, 13.58, 82.16, 37.42], -[1.67, 0.886, 29.71, 13.54, 82.84, 37.77], -[1.68, 0.888, 29.60, 13.51, 83.54, 38.12], -[1.69, 0.891, 29.50, 13.47, 84.24, 38.47], -[1.70, 0.893, 29.40, 13.44, 84.95, 38.83], -[1.71, 0.895, 29.30, 13.40, 85.67, 39.19], -[1.72, 0.897, 29.20, 13.37, 86.38, 39.55], -[1.73, 0.899, 29.11, 13.34, 87.12, 39.92], -[1.74, 0.902, 29.02, 13.31, 87.85, 40.29], -[1.75, 0.904, 28.93, 13.28, 88.60, 40.67], -[1.76, 0.906, 28.84, 13.25, 89.34, 41.04], -[1.77, 0.907, 28.76, 13.22, 90.09, 41.42], -[1.78, 0.909, 28.68, 13.19, 90.86, 41.81], -[1.79, 0.911, 28.60, 13.17, 91.61, 42.19], -[1.80, 0.913, 28.52, 13.14, 92.39, 42.58], -[1.81, 0.915, 28.44, 13.12, 93.17, 42.97], -[1.82, 0.916, 28.37, 13.09, 93.96, 43.37], -[1.83, 0.918, 28.29, 13.07, 94.75, 43.77], -[1.84, 0.920, 28.22, 13.05, 95.54, 44.17], -[1.85, 0.921, 28.15, 13.02, 96.35, 44.57], -[1.86, 0.923, 28.09, 13.00, 97.16, 44.98], -[1.87, 0.924, 28.02, 12.98, 97.98, 45.09], -[1.88, 0.926, 27.95, 12.96, 98.80, 45.81], -[1.89, 0.927, 27.89, 12.94, 99.62, 46.22], -[1.90, 0.929, 27.83, 12.92, 100.46, 46.64], -[1.91, 0.930, 27.77, 12.90, 101.30, 47.06], -[1.92, 0.931, 27.71, 12.88, 102.14, 47.49], -[1.93, 0.933, 27.65, 12.86, 103.00, 47.92], -[1.94, 0.934, 27.60, 12.85, 103.85, 48.35], -[1.95, 0.935, 27.54, 12.83, 104.72, 48.78], -[1.96, 0.936, 27.49, 12.81, 105.58, 49.21], -[1.97, 0.938, 27.43, 12.80, 106.45, 49.65], -[1.98, 0.939, 27.38, 12.78, 107.35, 50.10], -[1.99, 0.940, 27.33, 12.76, 108.23, 50.55], -[2.00, 0.941, 27.28, 12.75, 109.12, 50.99],]) - - -marcus_caso4 = np.array([ -[1.00, 0.833, 37.47, 14.40, 55.74], -[1.02, 0.844, 36.71, 14.22, 57.01], -[1.04, 0.854, 36.00, 14.05, 58.33], -[1.06, 0.863, 35.34, 13.90, 59.70], -[1.08, 0.872, 34.74, 13.76, 61.12], -[1.10, 0.880, 34.18, 13.64, 62.59], -[1.12, 0.887, 33.66, 13.52, 64.10], -[1.14, 0.894, 33.18, 13.42, 65.66], -[1.16, 0.900, 32.74, 13.32, 67.26], -[1.18, 0.906, 32.32, 13.24, 68.91], -[1.20, 0.912, 31.93, 13.16, 70.60], -[1.22, 0.917, 31.57, 13.08, 72.33], -[1.24, 0.922, 31.23, 13.01, 74.11], -[1.26, 0.926, 30.92, 12.95, 75.92], -[1.28, 0.931, 30.62, 12.89, 77.78], -[1.30, 0.934, 30.34, 12.84, 79.66], -[1.32, 0.938, 30.08, 12.79, 81.60], -[1.34, 0.942, 29.83, 12.74, 83.58], -[1.36, 0.945, 29.60, 12.70, 85.58], -[1.38, 0.948, 29.39, 12.66, 87.63], -[1.40, 0.950, 29.18, 12.62, 89.72], -[1.42, 0.953, 28.99, 12.59, 91.84], -[1.44, 0.955, 28.80, 12.56, 94.01], -[1.46, 0.958, 28.63, 12.53, 96.20], -[1.48, 0.960, 28.47, 12.50, 98.45], -[1.50, 0.962, 28.31, 12.47, 100.72], -[1.52, 0.964, 28.16, 12.45, 103.02], -[1.54, 0.966, 28.02, 12.43, 105.38], -[1.56, 0.967, 27.89, 12.40, 107.76], -[1.58, 0.969, 27.76, 12.38, 110.16], -[1.60, 0.970, 27.64, 12.37, 112.61], -[1.62, 0.972, 27.53, 12.35, 115.12], -[1.64, 0.973, 27.42, 12.33, 117.62], -[1.66, 0.974, 27.31, 12.32, 120.17], -[1.68, 0.975, 27.21, 12.30, 122.76], -[1.70, 0.977, 27.12, 12.29, 125.41], -[1.72, 0.978, 27.03, 12.27, 128.04], -[1.74, 0.979, 26.94, 12.26, 130.75], -[1.76, 0.800, 26.86, 12.25, 133.50], -[1.78, 0.980, 26.78, 12.24, 136.24], -[1.80, 0.981, 26.70, 12.23, 139.05], -[1.82, 0.982, 26.63, 12.22, 141.85], -[1.84, 0.983, 26.56, 12.21, 144.78], -[1.86, 0.983, 26.49, 12.20, 147.65], -[1.88, 0.984, 26.43, 12.19, 150.60], -[1.90, 0.985, 26.37, 12.18, 153.54], -[1.92, 0.985, 26.31, 12.18, 156.53], -[1.94, 0.986, 26.25, 12.17, 159.56], -[1.96, 0.987, 26.19, 12.16, 162.60], -[1.98, 0.987, 26.14, 12.16, 165.75], -[2.00, 0.988, 26.09, 12.15, 168.80], - - - -[0.50, 0.238, 37.06, 50.40, 49.92], -[0.51, 0.253, 30.06, 47.48, 49.11], -[0.52, 0.268, 23.66, 44.83, 48.38], -[0.53, 0.283, 17.79, 42.42, 47.72], -[0.54, 0.298, 12.39, 40.23, 47.13], -[0.55, 0.314, 107.42, 38.23, 46.60], -[0.56, 0.330, 102.83, 36.40, 46.13], -[0.57, 0.345, 98.59, 34.74, 45.72], -[0.58, 0.361, 94.67, 33.21, 45.35], -[0.59, 0.377, 91.02, 31.81, 45.04], -[0.60, 3.930, 87.62, 30.52, 44.77], -[0.61, 0.409, 84.46, 29.33, 44.54], -[0.62, 0.425, 81.51, 28.24, 44.35], -[0.63, 0.441, 78.76, 27.24, 44.21], -[0.64, 0.456, 76.18, 26.30, 44.10], -[0.65, 0.472, 73.76, 25.45, 44.02], -[0.66, 0.487, 71.49, 24.65, 43.98], -[0.67, 0.502, 69.36, 23.91, 47.97], -[0.68, 0.517, 67.36, 23.22, 43.98], -[0.69, 0.531, 65.47, 22.59, 44.03], -[0.70, 0.545, 63.69, 22.00, 44.11], -[0.71, 0.559, 62.01, 21.44, 44.21], -[0.72, 0.573, 60.42, 20.93, 44.34], -[0.73, 0.587, 58.92, 20.45, 44.49], -[0.74, 0.600, 57.51, 20.00, 44.66], -[0.75, 0.613, 56.16, 19.38, 44.86], -[0.76, 0.625, 54.89, 19.19, 45.08], -[0.77, 0.637, 53.69, 18.83, 45.33], -[0.78, 0.649, 52.54, 18.48, 45.59], -[0.79, 0.661, 51.46, 18.16, 45.87], -[0.80, 0.672, 50.42, 17.86, 46.17], -[0.81, 0.683, 49.44, 17.57, 46.30], -[0.82, 0.693, 48.51, 17.31, 46.84], -[0.83, 0.703, 47.62, 17.06, 47.20], -[0.84, 0.713, 46.78, 16.82, 47.57], -[0.85, 0.723, 45.97, 16.60, 47.97], -[0.86, 0.732, 45.21, 16.39, 48.38], -[0.87, 0.741, 44.48, 16.19, 48.81], -[0.88, 0.750, 43.78, 16.00, 49.25], -[0.89, 0.758, 43.12, 15.82, 49.71], -[0.90, 0.766, 42.48, 15.66, 50.19], -[0.91, 0.774, 41.87, 15.50, 50.68], -[0.92, 0.782, 41.30, 15.35, 51.18], -[0.93, 0.789, 40.74, 15.21, 51.50], -[0.94, 0.796, 40.21, 15.07, 52.24], -[0.95, 0.803, 39.70, 14.95, 52.78], -[0.96, 0.809, 39.22, 14.82, 53.35], -[0.97, 0.816, 38.75, 14.72, 53.92], -[0.98, 0.822, 38.31, 14.60, 54.52], -[0.99, 0.828, 37.88, 14.50, 55.12], -[1.00, 0.833, 37.47, 14.40, 55.74], - - -]) - - -class Inicio(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = None - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('inicio_alt.ui',self) - self.label.setStyleSheet("Background-Color: #ddebff;") - - self.setWindowTitle('Navier - inicio') - - self.pushButton.setIcon(QtGui.QIcon('./btn_inicio_vigas.png')) - self.pushButton.setIconSize(QtCore.QSize(52,52)) - self.pushButton_3.setIcon(QtGui.QIcon('./btn_inicio_pilares.png')) - self.pushButton_3.setIconSize(QtCore.QSize(42,42)) - self.pushButton_9.setIcon(QtGui.QIcon('./btn_inicio_lajes.png')) - self.pushButton_9.setIconSize(QtCore.QSize(42,42)) - self.pushButton_11.setIcon(QtGui.QIcon('./btn_inicio_fundacoes.png')) - self.pushButton_11.setIconSize(QtCore.QSize(45,45)) - - - self.label_5.setStyleSheet("Background-Color: #ddebff;") - self.label_10.setStyleSheet("Background-Color: #ddebff;") - self.label_9.setStyleSheet("Background-Color: #ddebff;") - self.label_11.setStyleSheet("Background-Color: #ddebff;") - - self.pushButton_2.setIcon(QtGui.QIcon('./btn_caa.png')) - self.pushButton_2.setIconSize(QtCore.QSize(45,45)) - self.pushButton_5.setIcon(QtGui.QIcon('./btn_cadicional.png')) - self.pushButton_5.setIconSize(QtCore.QSize(45,45)) - self.pushButton_6.setIcon(QtGui.QIcon('./btn_tabbitolas.png')) - self.pushButton_6.setIconSize(QtCore.QSize(45,45)) - self.pushButton_7.setIcon(QtGui.QIcon('./btn_tabmarcus.png')) - self.pushButton_7.setIconSize(QtCore.QSize(45,45)) - self.pushButton_8.setIcon(QtGui.QIcon('./btn_flexaosimples.png')) - self.pushButton_8.setIconSize(QtCore.QSize(45,45)) - self.pushButton_23.setIcon(QtGui.QIcon('./btn_flexaocomposta.png')) - self.pushButton_23.setIconSize(QtCore.QSize(45,45)) - - self.label_21.setToolTip('Brunel - programa de cálculo e verificação de perfis metálicos para perfis brasileiros') - self.label_22.setToolTip('EngTool - aplicação mobile para cálculo de vigas de concreto armado') - - self.setFixedSize(570, 450) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.show() - - - def load_signals(self): - self.pushButton.clicked.connect(self.iniciar_vigas) - self.pushButton_3.clicked.connect(self.iniciar_pilares) - self.pushButton_9.clicked.connect(self.iniciar_lajes) - self.pushButton_11.clicked.connect(self.iniciar_fundacoes) - - self.pushButton_2.clicked.connect(self.iniciar_classe_agressividade) - self.pushButton_5.clicked.connect(self.iniciar_carga_adicional) - self.pushButton_6.clicked.connect(self.iniciar_tabela_bitolas) - - self.pushButton_7.clicked.connect(lambda: self.abrirTabelaAuxiliar(tabela_marcus)) - self.pushButton_23.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_normal)) - self.pushButton_8.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_obliqua)) - - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - def iniciar_vigas(self): - print('vigas') - vigas.show() - def iniciar_pilares(self): - print('pilares') - pilares.show() - def iniciar_lajes(self): - print('lajes') - lajes.show() - def iniciar_fundacoes(self): - print('fundações') - sapatas.show() - #--------------------------- forms complementares ----------------------------- - def iniciar_carga_adicional(self): - print('carga adicional') - carga_adicional.show() - def iniciar_tabela_bitolas(self): - print('carga adicional') - tabela_bitolas.show() - def iniciar_classe_agressividade(self): - print('classe de agressividade') - tabela_classe_agressividade.show() - - - -class Vigas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('vigas_alt.ui',self) - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Vigas') - self.setFixedSize(860, 620) - - def load_signals(self): - print('viga carregado') - self.pushButton.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(1)) - self.pushButton_2.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(0)) - self.pushButton_3.clicked.connect(lambda: detalhar_vigas.show()) - - self.pushButton_6.clicked.connect(self.calcular_viga_index) - self.pushButton_7.clicked.connect(self.limpar_vigas) - - self.radioButton.clicked.connect(lambda: self.lineEdit_35.setText('0.450')) - self.radioButton_2.clicked.connect(lambda: self.lineEdit_35.setText('0.628')) - - - def calcular_viga_index(self): - aux = self.stackedWidget.currentIndex() #retorn o indice do stackedwidget e indica se o cálculo é de simples ou dupla - #aux == 0 (Simples), aux == 1 (Dupla) - if aux == 1: - self.calcular_viga_simples() - else: - self.calcular_viga_dupla() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def calcular_viga_cortante(self): - aux = self.stackedWidget.currentIndex() - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - - if aux == 1: - bw_viga = float(self.lineEdit_3.text()) - h_viga = float(self.lineEdit_4.text()) - d_viga = float(self.lineEdit_5.text()) - - else: - bw_viga = float(self.lineEdit_15.text()) - h_viga = float(self.lineEdit_16.text()) - d_viga = float(self.lineEdit_17.text()) - - - theta_transversal = 45 - alfa_transversal = 90 - if self.radioButton_4.isChecked(): - theta_transversal = self.spinBox.value() - - theta_transversal = (theta_transversal/180)*math.pi - alfa_transversal = (alfa_transversal/180)*math.pi - - fator_cotangentes_transversal = ((math.cos(alfa_transversal)/math.sin(alfa_transversal))) + ((math.cos(theta_transversal)/math.sin(theta_transversal))) - fator_cotangentes_transversal = 1 - - vsd = vk_viga * 1.4 - vrd2 = 0.27 * (1-(fck_viga/250)) * (bw_viga/100) * fcd_viga * (d_viga/100) *(math.sin(2*theta_transversal))*fator_cotangentes_transversal * 1000 - print('VSD: ',vsd) - print('VRD2: ',vrd2) - - if vrd2 < vsd: - QMessageBox.about(self, "Alerta", "A seção de concreto não permite gerar bielas resistentes à compressão. Reveja as dimensões da viga ou esforços de cálculo para a estrutura.") - else: - vc_0 = 0.09*(fck_viga**(2/3))*(bw_viga/100)*(d_viga/100)*1000 - if self.radioButton_4.isChecked(): - vc_0 = vc_0*((vrd2 - vsd)/(vrd2 - vc_0)) - - vsw = vsd - vc_0 - - #as_transversal = (vsw/(0.9*(d_viga/100)*fyd_viga*fator_cotangentes_transversal*math.sin(alfa_transversal)))*1000 - as_transversal = (vsw/(0.9*(d_viga/100)*fyd_viga)*math.tan(theta_transversal))*1000 - - taxa_aco_cortante_retangular = 0.2*(0.3*fck_viga**(2/3))/fyk_viga - - as_min_transversal = ((bw_viga*10)*taxa_aco_cortante_retangular)*1000 # para deixar em mm² - - print('vk_viga: ',vk_viga) - print('vsd: ',vsd) - print('vrd2: ',vrd2) - print('vc_0: ',vc_0) - print('vsw: ',vsw) - print('as_transversal: ',as_transversal) - print('taxa_aco_cortante_retangular: ',taxa_aco_cortante_retangular) - print('as_min_transversal',as_min_transversal) - - #------------------------------------------- saida de dados -------------------------------------------------- - self.lineEdit_30.setText(str(round(vk_viga*1.4, ndigits=4))) - self.lineEdit_31.setText(str(round(vrd2, ndigits=4))) - self.lineEdit_32.setText(str(round(vc_0, ndigits=4))) - self.lineEdit_33.setText(str(round(vsw, ndigits=4))) - - self.lineEdit_34.setText(str(round(as_transversal, ndigits=4))) - self.lineEdit_37.setText(str(round(as_min_transversal, ndigits=4))) - - - if (vsd <= 0.67*vrd2): - espass_maximo = 30 - else: - espass_maximo = 20 - - global info_viga_cortante - info_viga_cortante = [str(vsw), espass_maximo] - - - - def calcular_viga_simples(self): - mk_viga = self.lineEdit.text() - vk_viga = self.lineEdit_2.text() - bw_viga = self.lineEdit_3.text() - h_viga = self.lineEdit_4.text() - d_viga = self.lineEdit_5.text() - - if (mk_viga != '0' and vk_viga != '0' and bw_viga != '0' and h_viga != '0' and d_viga != '0'): - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - bw_viga = float(self.lineEdit_3.text()) - h_viga = float(self.lineEdit_4.text()) - d_viga = float(self.lineEdit_5.text()) - - d_linha_viga = h_viga - d_viga - self.lineEdit_21.setText(str(round(d_linha_viga, ndigits=2))) - area_secao_viga = bw_viga * h_viga - - kmd_viga = (mk_viga * 1.4 * 1000)/((bw_viga/100) * ((d_viga/100)**2) * (0.85*fcd_viga*1000000)) - if kmd_viga >0.5: - QMessageBox.about(self, "Alerta", "Os esforços especificados não são suportados pela seção de concreto analisada. Por favor altera as dimensões da seção da viga ou reveja os esforços de cálculo para a estrutura.") - else: - kx_viga = (1 - math.sqrt(1 - 2*kmd_viga))/0.8 - kz_viga = 1 - 0.4*kx_viga - as_viga = (mk_viga * 1.4 * 1000)/(kz_viga * (d_viga/100) * fyd_viga) - - as_sobre_apoio_viga = as_viga/3 - if h_viga >= 60: - as_pele = (0.1/100)*area_secao_viga*100 - else: - as_pele = 0 - - as_max_viga = (4/100)*area_secao_viga*100 - - if fck_viga == 20: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 25: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 30: - taxa_aco_viga_retangular = 0.173/100 - elif fck_viga == 35: - taxa_aco_viga_retangular = 0.201/100 - elif fck_viga == 40: - taxa_aco_viga_retangular = 0.203/100 - elif fck_viga == 45: - taxa_aco_viga_retangular = 0.259/100 - elif fck_viga == 50: - taxa_aco_viga_retangular = 0.288/100 - - as_min_viga = taxa_aco_viga_retangular * area_secao_viga*100 - - - if kx_viga < 0: - dominio_viga = 'Domínio 1' - elif kx_viga > 0 and kx_viga <0.259: - dominio_viga = 'Domínio 2' - elif kx_viga > 0.259 and kx_viga <0.45: - dominio_viga = 'Domínio 3 - Dúctil' - elif kx_viga > 0.45 and kx_viga <0.63: - dominio_viga = 'Domínio 3 - Não Dúctil' - elif (kx_viga > 0.628 and kx_viga <1): - dominio_viga = 'Domínio 4a' - elif (kx_viga > 0.438 and kx_viga <1) and (fyk_viga == 600): - dominio_viga = 'Domínio 4a' - else: - dominio_viga = 'Domínio 4b' - - kmd_viga = self.truncar(kmd_viga) - kx_viga = self.truncar(kx_viga) - kz_viga = self.truncar(kz_viga) - - print('kmd_viga: ',kmd_viga) - print('kx_viga: ',kx_viga) - print('kz_viga: ',kz_viga) - print('as_viga: ',as_viga) - print('as_sobre_apoio_viga: ',as_sobre_apoio_viga) - print('as_max_viga: ',as_max_viga) - print('as_min_viga',as_min_viga) - - #-------------------------------------- saida de dados ------------------------------------------------ - self.lineEdit_6.setText(str(round(mk_viga*1.4,ndigits=4))) - self.lineEdit_13.setText(dominio_viga) - self.lineEdit_7.setText(str(kmd_viga)) - self.lineEdit_8.setText(str(kx_viga)) - self.lineEdit_9.setText(str(kz_viga)) - - self.lineEdit_10.setText(str(round(as_viga,ndigits=4))) - self.lineEdit_11.setText(str(round(as_sobre_apoio_viga,ndigits=4))) - self.lineEdit_12.setText(str(round(as_pele,ndigits=4))) - self.lineEdit_14.setText(str(round(as_max_viga,ndigits=4))) - self.lineEdit_20.setText(str(round(as_min_viga,ndigits=4))) - - #------------------------------------------------------------------------------------------------- - if (dominio_viga == 'Domínio 4a') or (dominio_viga == 'Domínio 4b'): - QMessageBox.about(self, "Atenção", "Domínio de cálculo 4, recomenda-se utilizar, em seção retangular, armadura dupla ou seção tê para contenção dos esforços de compressão do concreto.") - - if as_viga > as_max_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada superior a Área Máxima especificada para a seção da viga.") - if as_viga < as_min_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada inferior a Área Mínima especificada para a seção da viga.") - - self.calcular_viga_cortante() - - global info_viga - info_viga = [str(as_viga),str(bw_viga),str(h_viga),str(d_viga),str(1.9)] - - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def calcular_viga_dupla(self): - mk_viga = self.lineEdit.text() - vk_viga = self.lineEdit_2.text() - bw_viga = self.lineEdit_15.text() - h_viga = self.lineEdit_16.text() - d_viga = self.lineEdit_17.text() - - if (mk_viga != '0' and vk_viga != '0' and bw_viga != '0' and h_viga != '0' and d_viga != '0'): - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - bw_viga = float(self.lineEdit_15.text()) - h_viga = float(self.lineEdit_16.text()) - d_viga = float(self.lineEdit_17.text()) - - d_linha_viga = h_viga - d_viga - self.lineEdit_27.setText(str(round(d_linha_viga, ndigits=4))) - - xis_dominio = float(self.lineEdit_35.text()) - - d_min_viga = math.sqrt((mk_viga*1.4*1000)/((bw_viga/100) * (fcd_viga*1000000) * (0.68*xis_dominio - 0.272*(xis_dominio**2)))) - - x_lim_viga = xis_dominio * (d_viga/100) - - momento_lim_viga = 0.68 * (bw_viga/100) * (fcd_viga*1000) * x_lim_viga*((d_viga/100) - 0.4*x_lim_viga) - - print('d_min_viga: ',d_min_viga) - print('x_lim_viga: ',x_lim_viga) - print('momento_lim_viga: ',momento_lim_viga) - - if d_min_viga < (h_viga/100): - self.lineEdit_36.setText(str(round(d_min_viga, ndigits=5))) - self.lineEdit_18.setText(str(round(x_lim_viga, ndigits=5))) - QMessageBox.about(self, "Observação", "A altura atual da viga é maior que a altura útil mínima, calcule como simplesmente armada") - - else: - - momento_lim_viga = 0.68 * (bw_viga/100) * (fcd_viga*1000) * x_lim_viga*((d_viga/100) - 0.4*x_lim_viga) - momento_2_viga = (mk_viga*1.4) - momento_lim_viga - - as_compressao_viga = (momento_2_viga * 1000)/(((d_viga/100) - (d_linha_viga/100))*(fyd_viga)) - #as_tracao_viga = ((momento_lim_viga * 1000)/((1 - 0.4*x_lim_viga)*(d_viga/100)*fyd_viga)) - as_tracao_viga = ((momento_lim_viga * 1000)/((1 - 0.4*xis_dominio)*(d_viga/100)*fyd_viga)) - - as_tracao_viga = as_tracao_viga + as_compressao_viga - - as_total_viga = as_tracao_viga + as_compressao_viga - - as_sobre_apoio_viga = as_tracao_viga/3 - - area_secao_viga = bw_viga * h_viga - if h_viga >= 60: - as_pele = (0.1/100)*area_secao_viga*100 - else: - as_pele = 0 - - if fck_viga == 20: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 25: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 30: - taxa_aco_viga_retangular = 0.173/100 - elif fck_viga == 35: - taxa_aco_viga_retangular = 0.201/100 - elif fck_viga == 40: - taxa_aco_viga_retangular = 0.203/100 - elif fck_viga == 45: - taxa_aco_viga_retangular = 0.259/100 - elif fck_viga == 50: - taxa_aco_viga_retangular = 0.288/100 - - as_max_viga = (4/100)*area_secao_viga*100 - as_min_viga = taxa_aco_viga_retangular * area_secao_viga*100 - - - print('momento_lim_viga: ',momento_lim_viga) - print('momento_2_viga: ',momento_2_viga) - print('as_compressao_viga: ',as_compressao_viga) - print('as_tracao_viga: ',as_tracao_viga) - - - #------------------------------------------ saida de dados -------------------------------------------------- - self.lineEdit_36.setText(str(round(d_min_viga, ndigits=5))) - self.lineEdit_18.setText(str(round(x_lim_viga, ndigits=5))) - self.lineEdit_26.setText(str(round(momento_lim_viga, ndigits=5))) - self.lineEdit_19.setText(str(round(momento_2_viga, ndigits=5))) - - self.lineEdit_22.setText(str(round(as_compressao_viga, ndigits=5))) - self.lineEdit_28.setText(str(round(as_tracao_viga, ndigits=5))) - self.lineEdit_23.setText(str(round(as_sobre_apoio_viga, ndigits=5))) - self.lineEdit_24.setText(str(round(as_pele, ndigits=5))) - self.lineEdit_38.setText(str(round(as_total_viga, ndigits=2))) - self.lineEdit_25.setText(str(round(as_max_viga, ndigits=2))) - self.lineEdit_29.setText(str(round(as_min_viga, ndigits=2))) - #------------------------------------------ ------------- -------------------------------------------------- - - if as_total_viga > as_max_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada superior a Área Máxima especificada para a seção da viga.") - if as_total_viga < as_min_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada inferior a Área Mínima especificada para a seção da viga.") - - self.calcular_viga_cortante() - - global info_viga - info_viga = [str(as_tracao_viga),str(bw_viga),str(h_viga),str(d_viga),str(1.9)] - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def limpar_vigas(self): - self.comboBox.setCurrentIndex(0) - self.comboBox_2.setCurrentIndex(0) - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - self.lineEdit_21.setText('0') - - self.lineEdit_6.setText('') - self.lineEdit_7.setText('') - self.lineEdit_8.setText('') - self.lineEdit_9.setText('') - self.lineEdit_10.setText('') - self.lineEdit_11.setText('') - self.lineEdit_12.setText('') - self.lineEdit_13.setText('') - self.lineEdit_14.setText('') - - self.lineEdit_15.setText('0') - self.lineEdit_16.setText('0') - self.lineEdit_17.setText('0') - self.lineEdit_27.setText('0') - - self.lineEdit_36.setText('') - self.lineEdit_18.setText('') - self.lineEdit_26.setText('') - self.lineEdit_19.setText('') - self.lineEdit_22.setText('') - self.lineEdit_28.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_38.setText('') - self.lineEdit_25.setText('') - self.lineEdit_29.setText('') - - self.lineEdit_30.setText('') - self.lineEdit_31.setText('') - self.lineEdit_32.setText('') - self.lineEdit_33.setText('') - self.lineEdit_34.setText('') - self.lineEdit_37.setText('') - -tabela_bitolas_ferro = [ - [6.3, 31.17], - [8, 50.26], - [10, 78.53], - [12.5, 122.71], - [16, 201.06], - [20, 314.15], - [25, 490.87], - [32, 804.24], - [40, 1256.63] - ] - -#info_viga = ['95','12','45','40','1.9'] -#info_viga = [As,bw,h,d,agregado] - -class Detalhar_viga(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('detalhamento_vigas_alt.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Vigas - Detalhamento') - self.setFixedSize(845,600) - - - def load_signals(self): - print('inicializado') - self.pushButton.clicked.connect(self.calcular_area) - #self.pushButton.clicked.connect(self.calcular_estribos) - self.pushButton_2.clicked.connect(self.limpar_detalhamento) - self.pushButton_3.clicked.connect(self.recuperarValores) - - - #pg.plot(x=[0,1,2,3,4], y=[0,1,2,3,4]**2 ) - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch) - - self.widget.setTitle('nº barras/Bitola') - self.widget.showGrid(x=True,y=True,alpha=1) - - #if '0' not in info_viga: - # self.recuperarValores() - - def calcular_estribos(self): - vsw = self.lineEdit_14.text() - fyk_estribo = self.comboBox_2.currentText() - tramos = self.lineEdit_15.text() - - if (vsw != '0' and tramos != '0'): - vsw = float(self.lineEdit_14.text()) - bitola_estribo = float(self.comboBox.currentText()) - fyk_estribo = float(self.comboBox_2.currentText()) - tramos = float(self.lineEdit_15.text()) - d = float(self.lineEdit_13.text()) - - espass_horizontal = info_viga_cortante[1] - - area_bitola = (3.14*((bitola_estribo/1000)**2)/4) - - print(vsw) - print(bitola_estribo) - print(tramos) - print(fyk_estribo) - print(area_bitola) - - - s_estribo = ((tramos * area_bitola * 0.9 * (d/100) * (fyk_estribo*100000/1.15))/vsw*1000)/100 - s_estribo = round(s_estribo, ndigits=3) - - if s_estribo < espass_horizontal: - self.lineEdit.setText(str(espass_horizontal)) - else: - self.lineEdit.setText(str(s_estribo)) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes para o cálculo dos Estribos!") - - - def recuperarValores(self): - area_aco = info_viga[0] - base = info_viga[1] - altura = info_viga[2] - d = info_viga[3] - d_agreg = info_viga[4] - - vsw = info_viga_cortante[0] - - self.lineEdit_11.setText(area_aco) - self.lineEdit_10.setText(base) - self.lineEdit_9.setText(altura) - self.lineEdit_12.setText(d_agreg) - self.lineEdit_13.setText(d) - self.lineEdit_14.setText(vsw) - - def calcular_area(self): - area_aco = self.lineEdit_11.text() - base = self.lineEdit_10.text() - altura = self.lineEdit_9.text() - d_agreg = self.lineEdit_12.text() - d = self.lineEdit_13.text() - - if (area_aco != '0' and base != '0' and altura != '0' and d_agreg != '0' and d != '0'): - - self.widget.clear() - area_aco = float(self.lineEdit_11.text()) - base = float(self.lineEdit_10.text()) - altura = float(self.lineEdit_9.text()) - cobrimento = float(self.comboBox_3.currentText()) - bitola_estribo = float(self.comboBox.currentText()) - x = [] - y = [] - z = [] - cont = 0 - for i in tabela_bitolas_ferro: - n_barras = float(area_aco/i[1]) - print('bitola: ',i[0],' - nº barras: ',n_barras) - - self.tableWidget.setItem(cont,2, QTableWidgetItem(str(round(n_barras, ndigits=2)))) - self.tableWidget.setItem(cont,3, QTableWidgetItem(str(round(n_barras +0.5)+1))) - - x.append(i[0]) - y.append(round(n_barras +0.5)+1) - - bitola = x[cont] - n_barras = (round(n_barras +0.5)+1) - - espass_horizontal = (round(base - 2*(cobrimento+bitola_estribo/10) - n_barras*(bitola/10), ndigits=2))/(n_barras-1) - - z.append(round(espass_horizontal,ndigits=2)) - self.tableWidget.setItem(cont,4, QTableWidgetItem(str(espass_horizontal))) - - print('base:',base) - print('cobrimento:',cobrimento) - print('bitola_estribo:',bitola_estribo) - print('n_barras:',n_barras) - - cont +=1 - - #print(x) - #print(y) - #print(z) - - self.widget.plot(x=x,y=y,pen=(3)) - - self.calcular_espacamentos() - self.calcular_estribos() - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def calcular_espacamentos(self): - bitola = float(self.comboBox_4.currentText()) - d_agreg = float(self.lineEdit_12.text()) - - s_horizontal = max(2, (bitola/10), 1.2*d_agreg) - s_vertical = max(2, (bitola/10), 0.5*d_agreg) - - #------------------------------- saida de dados ---------------------------------- - self.lineEdit_7.setText(str(s_horizontal)) - self.lineEdit_8.setText(str(s_vertical)) - - def limpar_detalhamento(self): - self.widget.clear() - self.lineEdit_11.setText(str('0')) - self.lineEdit_9.setText(str('0')) - self.lineEdit_10.setText(str('0')) - self.lineEdit_7.setText(str('0')) - self.lineEdit_8.setText(str('0')) - - - -class Tabela_Bitolas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('bitolas_ferros.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - - self.setWindowTitle('Navier - Tabela de Bitolas') - self.setFixedSize(456,372) - - -global pilares_info -pilares_info = [0,0,0,0] - -global pilares_info_aco -pilares_info_aco = [0, 0, 0, 0, 0, 0, 0] - -class Pilares(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('pilares_alt.ui',self) - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Pilares') - self.setFixedSize(997,670) - - def load_signals(self): - print('pilares carregado') - self.cont_x = 0 - self.cont_y = 0 - - self.pushButton_6.clicked.connect(self.calcular_pilares) - self.pushButton_7.clicked.connect(self.limpar_pilares) - - self.pushButton.clicked.connect(self.gerar_envoltoria) - self.pushButton_3.clicked.connect(lambda: pilares_areas_aco.show()) - - - def calcular_pilares(self): - x_pilar = self.lineEdit.text() - y_pilar = self.lineEdit_2.text() - altura_pilar = self.lineEdit_3.text() - altura_lance = self.lineEdit_4.text() - - nk_pilar = self.lineEdit_5.text() - momento_x_topo = self.lineEdit_6.text() - momento_x_base = self.lineEdit_7.text() - momento_y_topo = self.lineEdit_8.text() - momento_y_base = self.lineEdit_9.text() - - - if (x_pilar != '0' and y_pilar != '0' and altura_pilar != '0' and altura_lance != '0' and nk_pilar != '0'): - fck_pilar = float(self.comboBox_3.currentText()) - fcd_pilar = fck_pilar/1.4 - fyk_pilar = float(self.comboBox_4.currentText()) - fyd_pilar = fyk_pilar/1.15 - cobrimento_pilar = float(self.comboBox_5.currentText()) - - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - altura_pilar = float(self.lineEdit_3.text()) - altura_lance = float(self.lineEdit_4.text()) - - nk_pilar = float(self.lineEdit_5.text()) - momento_x_topo = float(self.lineEdit_6.text()) - momento_x_base = float(self.lineEdit_7.text()) - momento_y_topo = float(self.lineEdit_8.text()) - momento_y_base = float(self.lineEdit_9.text()) - - area_secao_pilar = (x_pilar/100)*(y_pilar/100) - - #nd_pilar = (nk_pilar + ((x_pilar/100)*(y_pilar/100)*altura_pilar*25)) * 1.4 - nd_pilar = (nk_pilar) * 1.4 - md_x_topo = 1.4 * momento_x_topo - md_x_base = 1.4 * momento_x_base - md_y_topo = 1.4 * momento_y_topo - md_y_base = 1.4 * momento_y_base - - - tipo_apoio_x = 'AA' - - if momento_x_topo == 0 and momento_x_base == 0 and momento_y_topo == 0 and momento_y_base == 0: - self.tipo_pilar = 'intermediario' - elif momento_x_topo == 0 and momento_x_base == 0: - self.tipo_pilar = 'extremidade-x' - elif momento_y_topo == 0 and momento_y_base == 0: - self.tipo_pilar = 'extremidade-y' - else: - self.tipo_pilar = 'canto' - - - self.lineEdit_13.setText(str(round(md_x_topo, ndigits=5))) - self.lineEdit_14.setText(str(round(md_x_base, ndigits=5))) - self.lineEdit_22.setText(str(round(md_y_topo, ndigits=5))) - self.lineEdit_28.setText(str(round(md_y_base, ndigits=5))) - - #-Eixo-X---------------------------------------------------------------------- - b = y_pilar - h = x_pilar - - m_a = max(md_x_topo, md_x_base) - m_b = min(md_x_topo, md_x_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-x': - alfa_b_x = 1.0 - else: - alfa_b_x = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_x < 0.4: - alfa_b_x = 0.4 - - #excen_min_x = (1.5+0.03*h) - momento_min_x = (nd_pilar *(1.5+0.03*h))/100 - excen_min_x = momento_min_x/nd_pilar - - if md_x_topo < momento_min_x: - md_x_topo = momento_min_x - print('momento topo - mínimo') - alfa_b_x = 1.0 - if md_x_base < momento_min_x: - md_x_base = momento_min_x - print('momento base - mínimo') - alfa_b_x = 1.0 - - compr_efetivo_x = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_x): - compr_efetivo_x = altura_lance*100 - - excen_x_acidental = compr_efetivo_x/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_x_topo,md_x_base,momento_min_x)/nd_pilar)/h - - lambda_pilar_x = 3.46 * (compr_efetivo_x/h) - lambda_pilar_x_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_x - if lambda_pilar_x_limite < 35: - lambda_pilar_x_limite = 35 - - excen_2_x = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_x = nd_pilar * (excen_2_x/100) - - if lambda_pilar_x > lambda_pilar_x_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - md2_x_relativo = nd_pilar * (excen_2/100) - else: - md2_x_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_x_intermediario = alfa_b_x * max(abs(md_x_topo), abs(md_x_base), abs(momento_min_x)) + md2_x_relativo - #msd_x_intermediario = alfa_b_x * abs(momento_min_x) + md2_x_relativo - - mi_x = msd_x_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_x = cobrimento_pilar/h - - - #-Eixo-Y---------------------------------------------------------------------- - h = y_pilar - b = x_pilar - - m_a = max(md_y_topo, md_y_base) - m_b = min(md_y_topo, md_y_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-y': - alfa_b_y = 1.0 - else: - alfa_b_y = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_y < 0.4: - alfa_b_y = 0.4 - - momento_min_y = (nd_pilar *(1.5+0.03*h))/100 - excen_min_y = momento_min_y/nd_pilar - - if md_y_topo < momento_min_y: - md_y_topo = momento_min_y - print('momento topo - mínimo') - alfa_b_y = 1.0 - if md_y_base < momento_min_y: - md_y_base = momento_min_y - print('momento base - mínimo') - alfa_b_y = 1.0 - - compr_efetivo_y = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_y): - compr_efetivo_y = altura_lance*100 - - excen_y_acidental = compr_efetivo_y/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_y_topo,md_y_base,momento_min_y)/nd_pilar)/h - - lambda_pilar_y = 3.46 * (compr_efetivo_y/h) - lambda_pilar_y_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_y - if lambda_pilar_y_limite < 35: - lambda_pilar_y_limite = 35 - - excen_2_y = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_y = nd_pilar * (excen_2_y/100) - - if lambda_pilar_y > lambda_pilar_y_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - md2_y_relativo = nd_pilar * (excen_2/100) - else: - md2_y_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_y_intermediario = alfa_b_y * max(abs(md_y_topo), abs(md_y_base), abs(momento_min_y)) + md2_y_relativo - #msd_y_intermediario = alfa_b_y * abs(momento_min_y) + md2_y_relativo - - mi_y = msd_y_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_y = cobrimento_pilar/h - - - #--------------------------------------------- saida de dados --------------------------------------------- - self.lineEdit_10.setText(str(round(nd_pilar, ndigits=4))) - self.lineEdit_11.setText(str(round(area_secao_pilar, ndigits=4))) - self.lineEdit_12.setText(str(round(v_0, ndigits=4))) - - self.lineEdit_15.setText(str(round(momento_min_x, ndigits=5))) - self.lineEdit_16.setText(str(round(excen_min_x*100, ndigits=5))) - self.lineEdit_17.setText(str(round(lambda_pilar_x, ndigits=5))) - self.lineEdit_18.setText(str(round(lambda_pilar_x_limite, ndigits=5))) - self.lineEdit_19.setText(str(round(excen_2_x, ndigits=5))) - self.lineEdit_20.setText(str(round(md2_x, ndigits=5))) - self.lineEdit_21.setText(str(round(msd_x_intermediario, ndigits=5))) - - self.lineEdit_24.setText(str(round(momento_min_y, ndigits=5))) - self.lineEdit_25.setText(str(round(excen_min_y*100, ndigits=5))) - self.lineEdit_26.setText(str(round(lambda_pilar_y, ndigits=5))) - self.lineEdit_23.setText(str(round(lambda_pilar_y_limite, ndigits=5))) - self.lineEdit_30.setText(str(round(excen_2_y, ndigits=5))) - self.lineEdit_29.setText(str(round(md2_y, ndigits=5))) - self.lineEdit_27.setText(str(round(msd_y_intermediario, ndigits=5))) - - self.lineEdit_31.setText(str(round(mi_x, ndigits=2))) - self.lineEdit_32.setText(str(round(mi_y, ndigits=2))) - self.lineEdit_33.setText(str(round(delta_x, ndigits=2))) - self.lineEdit_34.setText(str(round(delta_y, ndigits=2))) - - global pilares_info - pilares_info = [msd_x_intermediario, msd_y_intermediario, momento_min_x, momento_min_y] - - if md2_x_relativo == 0: - self.label_39.setText('não considera 2º ordem') - else: - self.label_39.setText('considera 2º ordem') - - if md2_y_relativo == 0: - self.label_44.setText('não considera 2º ordem') - else: - self.label_44.setText('considera 2º ordem') - - - if self.tipo_pilar == 'intermediario': - self.label.setText('PILAR INTERMEDIÁRIO') - elif (self.tipo_pilar == 'extremidade-x') or (self.tipo_pilar == 'extremidade-y'): - self.label.setText('PILAR DE EXTREMIDADE') - else: - self.label.setText('PILAR DE CANTO') - - global pilares_info_aco - pilares_info_aco = [mi_x, delta_x, mi_y, delta_y, fck_pilar, area_secao_pilar, nk_pilar] - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def gerar_envoltoria(self): - msd_x_intermediario = pilares_info[0] - msd_y_intermediario = pilares_info[1] - momento_min_x = pilares_info[2] - momento_min_y = pilares_info[3] - - x = [] - y = [] - for i in range(360): - theta = i - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = momento_min_y * seno - - cosseno = math.cos(theta_conv) - cosseno = momento_min_x * cosseno - - x.append(seno) - y.append(cosseno) - - z = [] - w = [] - for j in range(360): - theta = j - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = msd_y_intermediario * seno - - cosseno = math.cos(theta_conv) - cosseno = msd_x_intermediario * cosseno - - z.append(seno) - w.append(cosseno) - - # create plot - '''plt = pg.plot(x, y, title='theTitle', pen='r') - plt.showGrid(x=True,y=True) - ''' - # create plot - plt = pg.plot() - plt.clear() - plt.showGrid(x=True,y=True) - plt.addLegend() - plt.setTitle('Envoltória de Momentos') - - - # set properties - plt.setLabel('left', 'Momentos Y', units='KN.m') - plt.setLabel('bottom', 'Momentos X', units='KN.m') - plt.setXRange(0,10) - plt.setYRange(0,20) - - - plt.enableAutoRange() - plt.setWindowTitle('pyqtgraph plot') - # plot - c1 = plt.plot(x, y, pen='r', name='Envoltória Momentos min') - c2 = plt.plot(z, w, pen='b', name='Envoltória Momentos máx') - - - - def limpar_pilares(self): - print('limpar') - self.comboBox_3.setCurrentIndex(0) - self.comboBox_4.setCurrentIndex(0) - self.comboBox_5.setCurrentIndex(0) - - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('0') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - - self.lineEdit_10.setText('') - self.lineEdit_11.setText('') - self.lineEdit_12.setText('') - self.lineEdit_13.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - self.lineEdit_17.setText('') - self.lineEdit_18.setText('') - self.lineEdit_19.setText('') - self.lineEdit_20.setText('') - self.lineEdit_21.setText('') - self.lineEdit_22.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_25.setText('') - self.lineEdit_26.setText('') - self.lineEdit_27.setText('') - self.lineEdit_28.setText('') - self.lineEdit_29.setText('') - self.lineEdit_30.setText('') - - self.lineEdit_31.setText('') - self.lineEdit_32.setText('') - self.lineEdit_33.setText('') - self.lineEdit_34.setText('') - - - - -class Pilar_area_aco(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('pilares_areas_aco.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Pilares - Áreas de Aço') - self.setFixedSize(484,300) - - self.pushButton_4.setIcon(QtGui.QIcon('./btn_flexaosimples.png')) - self.pushButton_4.setIconSize(QtCore.QSize(50,60)) - self.pushButton_5.setIcon(QtGui.QIcon('./btn_flexaocomposta.png')) - self.pushButton_5.setIconSize(QtCore.QSize(50,60)) - - def load_signals(self): - print('inicializado') - self.pushButton_2.clicked.connect(self.calcular_area_aco) - self.pushButton.clicked.connect(self.recuperar_dados) - self.pushButton_3.clicked.connect(self.limpar) - self.pushButton_4.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_normal)) - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_obliqua)) - - def recuperar_dados(self): - self.lineEdit_2.setText(str(round(pilares_info_aco[0], ndigits=2))) - self.lineEdit_3.setText(str(round(pilares_info_aco[1], ndigits=2))) - self.lineEdit_5.setText(str(round(pilares_info_aco[2], ndigits=2))) - self.lineEdit_6.setText(str(round(pilares_info_aco[3], ndigits=2))) - self.lineEdit_12.setText(str(round(pilares_info_aco[4], ndigits=2))) - self.lineEdit_13.setText(str(round(pilares_info_aco[5], ndigits=2))) - self.lineEdit_14.setText(str(round(pilares_info_aco[6], ndigits=2))) - - def calcular_area_aco(self): - fck = float(self.lineEdit_12.text()) - fcd = fck/1.4 - fyd = 500/1.15 - area_concreto = float(self.lineEdit_13.text()) - nk = float(self.lineEdit_14.text()) - nd = 1.4 * nk - - mi_x = float(self.lineEdit_2.text()) - delta_x = float(self.lineEdit_3.text()) - - mi_y = float(self.lineEdit_5.text()) - delta_y = float(self.lineEdit_6.text()) - - omega_x = float(self.lineEdit_4.text()) - omega_y = float(self.lineEdit_7.text()) - - as_x = (omega_x * (area_concreto*1000000) * fcd)/fyd - as_y = (omega_y * (area_concreto*1000000) * fcd)/fyd - - as_x = round(as_x, ndigits=3) - as_y = round(as_y, ndigits=3) - - as_pilar_min = 0.15 * (nd/fyd) - if as_pilar_min < (0.004*area_concreto*100000): - as_pilar_min = round((0.004*area_concreto*100000), ndigits=3) - - as_pilar_max = round((0.08*area_concreto*1000000), ndigits=3) - - #-------------------------------------- saída de dados ---------------------------------------------------- - self.lineEdit_8.setText(str(as_x)) - self.lineEdit_9.setText(str(as_y)) - self.lineEdit_10.setText(str(as_pilar_max)) - self.lineEdit_11.setText(str(as_pilar_min)) - - def teste(self): - print('teste') - - def limpar(self): - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('1') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('1') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - - - -class Lajes(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('lajes_alt.ui',self) - - self.lado1 = 'livre' - self.lado2 = 'livre' - self.lado3 = 'livre' - self.lado4 = 'livre' - self.label_37.hide() - self.label_38.hide() - self.label_40.hide() - self.label_41.hide() - global caso - caso = '1' - global lx_lage - lx_lage = 'l_menor' - self.lineEdit.setReadOnly(True) - - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Lajes') - self.setFixedSize(1245,587) - - - def load_signals(self): - print('lajes iniciado') - self.pushButton.clicked.connect(self.estado_l1) - self.pushButton_2.clicked.connect(self.estado_l2) - self.pushButton_3.clicked.connect(self.estado_l3) - self.pushButton_4.clicked.connect(self.estado_l4) - self.pushButton.clicked.connect(self.situacao_laje) - self.pushButton_2.clicked.connect(self.situacao_laje) - self.pushButton_3.clicked.connect(self.situacao_laje) - self.pushButton_4.clicked.connect(self.situacao_laje) - - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(tabela_marcus)) - self.pushButton_6.clicked.connect(self.calcular_laje) - self.pushButton_7.clicked.connect(self.limpar_lajes) - - self.toolButton.clicked.connect(self.revelar_carg_acidental) - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - def teste(self): - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - def revelar_carg_acidental(self): - print('oi--') - carga_adicional.show() - - def estado_l1(self): - if self.lado1 == 'livre': - self.lado1 = 'engastado' - pixmap = QPixmap('./engv.png') - self.pushButton.setIcon(QIcon(pixmap)) - else: - self.lado1 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - def estado_l2(self): - if self.lado2 == 'livre': - self.lado2 = 'engastado' - pixmap = QPixmap('./engh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - else: - self.lado2 = 'livre' - pixmap = QPixmap('./livh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - - def estado_l3(self): - if self.lado3 == 'livre': - self.lado3 = 'engastado' - pixmap = QPixmap('./engh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - else: - self.lado3 = 'livre' - pixmap = QPixmap('./livh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - - def estado_l4(self): - if self.lado4 == 'livre': - self.lado4 = 'engastado' - pixmap = QPixmap('./engv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - else: - self.lado4 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - def situacao_laje(self): - l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - l4 = self.lado4 - - cota_v1 = self.label_37 - cota_v2 = self.label_40 - cota_h1 = self.label_38 - cota_h2 = self.label_41 - - if (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre'): - global caso - caso = '1' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - global lx_lage - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '2' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') : - caso = '2' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') or (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado'): - caso = '3' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '4' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '4' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado'): - caso = '5' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '5' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado'): - caso = '6' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - else: - caso='ainda não existe, não sei como você chegou até aqui srsrrsrsrsrsrs' - - - print(caso) - self.lineEdit_6.setText(str(caso)) - - def calcular_laje(self): - lado_maior = float(self.lineEdit_3.text()) - lado_menor = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - - self.lineEdit_7.setText('') - self.lineEdit_9.setText('') - self.lineEdit_8.setText('') - self.lineEdit_10.setText('') - self.lineEdit_16.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - - if lado_maior != 0 and lado_menor != 0 and espes != 0 and d != 0: - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - carreg_adicional = float(self.lineEdit_2.text()) - #fck_laje = float(self.comboBox.currentText()) - #fcd_laje = fck_laje/1.4 - #fyk_laje = float(self.comboBox_2.currentText()) - #fyd_laje = fyk_laje/1.15 - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - carreg_total = pp + carreg_adicional - #print(caso) - #print(lx_lage) - #---------------------------------- cálculo do Lx baseado no caso do tipo de situação da laje ----------------- - global lx - global lambda_laje - if lx_lage == 'l_menor': - lx = lado2 - lambda_laje = round((lado1/lado2),ndigits=2) - elif lx_lage == 'l_maior': - lx = lado1 - lambda_laje = round((lado2/lado1),ndigits=2) - print(lx_lage) - - - #---------------------------------- definição se a laje é unidirecional ou bidirecional baseado no lambda ----------------- - global tipo_laje - if float(lambda_laje) > 2.001: - tipo_laje = 'UNIDIRECIONAL' - self.laje_unidirecional(carreg_total) - else: - tipo_laje = 'BIDIRECIONAL' - #self.label_43.setStyleSheet("Background: url('laje_unidirecional_modelo.png') no-repeat") - - mx = my = nx = ny = '' - - if caso == '1': - caso1 = marcus_caso1 - linhas = len(caso1) - colunas = len(caso1[0]) - - for i in range(linhas): - aux = caso1[i][0] - if lambda_laje == aux: - print(caso1[i]) - mx = caso1[i][2] - my = caso1[i][3] - - print('mx: ',mx) - print('my: ',my) - - if caso == '2': - caso2 = marcus_caso2 - linhas = len(caso2) - colunas = len(caso2[0]) - - for i in range(linhas): - aux = caso2[i][0] - if lambda_laje == aux: - print(caso2[i]) - mx = caso2[i][2] - nx = caso2[i][3] - my = caso2[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '3': - caso3 = marcus_caso3 - linhas = len(caso3) - colunas = len(caso3[0]) - - for i in range(linhas): - aux = caso3[i][0] - if lambda_laje == aux: - print(caso3[i]) - mx = caso3[i][2] - nx = caso3[i][3] - my = caso3[i][4] - ny = caso3[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '4': - caso4 = marcus_caso4 - linhas = len(caso4) - colunas = len(caso4[0]) - - for i in range(linhas): - aux = caso4[i][0] - if lambda_laje == aux: - print(caso4[i]) - mx = caso4[i][2] - nx = caso4[i][3] - my = caso4[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '5': - caso5 = marcus_caso5 - linhas = len(caso5) - colunas = len(caso5[0]) - - for i in range(linhas): - aux = caso5[i][0] - if lambda_laje == aux: - print(caso5[i]) - mx = caso5[i][2] - nx = caso5[i][3] - my = caso5[i][4] - ny = caso5[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '6': - caso6 = marcus_caso6 - linhas = len(caso6) - colunas = len(caso6[0]) - - for i in range(linhas): - aux = caso6[i][0] - if lambda_laje == aux: - print(caso6[i]) - mx = caso6[i][2] - nx = caso6[i][3] - my = caso6[i][4] - ny = caso6[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - print(lx) - if mx != '': - self.lineEdit_7.setText(str(mx)) - momento_pos_x = ((carreg_total * (lx**2))/mx) - momento_pos_x = round(momento_pos_x,ndigits=4) - - - self.lineEdit_13.setText(str(momento_pos_x)) - #else: - # self.lineEdit_13.setText('0') - if nx != '': - self.lineEdit_9.setText(str(nx)) - momento_neg_x = round(((carreg_total * (lx**2))/nx),ndigits=4) - self.lineEdit_14.setText(str(momento_neg_x)) - #momento_neg_x = round(momento_neg_x,ndigits=2) - #else: - # self.lineEdit_14.setText('0') - if my != '': - self.lineEdit_8.setText(str(my)) - momento_pos_y = ((carreg_total * (lx**2))/my) - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - #else: - # self.lineEdit_15.setText('0') - if ny != '': - self.lineEdit_10.setText(str(ny)) - momento_neg_y = round(((carreg_total * (lx**2))/ny),ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - #momento_neg_y = round(momento_neg_y,ndigits=2) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def laje_unidirecional(self,carreg_total): - - self.lado1 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - self.lado4 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - print('unidirecional') - #l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - #l4 = self.lado4 - l1 = l4 = 'livre' - print(carreg_total) - if (l2 == 'livre' and l3 == 'livre'): - self.label_43.setStyleSheet("Background: url('./laje_unidirecional_ll2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/8 - momento_neg_y = 0 - elif (l2 == 'engastado' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('./laje_unidirecional_ee2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/24 - momento_neg_y = (carreg_total * (lx**2))/12 - elif (l2 == 'engastado' and l3 == 'livre') or (l2 == 'livre' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('./laje_unidirecional_le2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/14.2 - momento_neg_y = (carreg_total * (lx**2))/8 - - print('momento_pos_y: ',momento_pos_y) - print('momento_neg_y: ',momento_neg_y) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - momento_neg_y = round(momento_neg_y,ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def resultados_laje(self): - fck_laje = float(self.comboBox.currentText()) - fcd_laje = fck_laje/1.4 - fyk_laje = float(self.comboBox_2.currentText()) - fyd_laje = fyk_laje/1.15 - espes = float(self.lineEdit_5.text()) - - area_concreto_laje = round(((espes/100)*1000000),ndigits=4) - - ro_armad_minima = 0 - if fck_laje == 20: - ro_armad_minima = 0.15/100 - elif fck_laje == 25: - ro_armad_minima = 0.15/100 - elif fck_laje == 30: - ro_armad_minima = 0.15/100 - elif fck_laje == 35: - ro_armad_minima = 0.164/100 - elif fck_laje == 40: - ro_armad_minima = 0.179/100 - - armad_max_laje = (0.4/100)*area_concreto_laje - armad_neg_min = ro_armad_minima*area_concreto_laje - armad_pos_cruz = round(0.67*(ro_armad_minima*area_concreto_laje), ndigits=2) - armad_princ_unid = ro_armad_minima*area_concreto_laje - armad_secnd_unid = max((0.2*armad_princ_unid), (90), (0.5*(ro_armad_minima*area_concreto_laje))) - - - mx = self.lineEdit_13.text() - if mx == '': - self.lineEdit_13.setText('0') - - my = self.lineEdit_15.text() - if my == '': - self.lineEdit_15.setText('0') - - nx = self.lineEdit_14.text() - if nx == '': - self.lineEdit_14.setText('0') - - ny = self.lineEdit_16.text() - if ny == '': - self.lineEdit_16.setText('0') - - fck_laje = float(self.comboBox.currentText()) - fyk_laje = float(self.comboBox_2.currentText()) - fcd_laje = fck_laje* 1000000/1.4 - fyd_laje = fyk_laje* 1000000/1.15 - d_laje = float(self.lineEdit_27.text()) - espes = float(self.lineEdit_5.text()) - - #------------------------------------------enxerto----------------------- - - mx = float(self.lineEdit_13.text()) - my = float(self.lineEdit_15.text()) - nx = float(self.lineEdit_14.text()) - ny = float(self.lineEdit_16.text()) - #print('mx: ',mx) - #print('nx: ',nx) - #print('my: ',my) - #print('ny: ',ny) - mk_x = mx - mk_y = my - - nk_x = nx - nk_y = ny - - - md_x = round(1.4 * mk_x, ndigits = 4) - kmd_x_laje = (md_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje = (1 - math.sqrt(1 - 2*kmd_x_laje))/0.8 - kz_x_laje = 1 - 0.4 * kx_x_laje - - as_x_laje = (md_x * 1000/ (kz_x_laje * (d_laje/100) * fyd_laje))*1000000 - - print('md_x: ', md_x) - print('kmd_x_laje: ', kmd_x_laje) - print('kx_x_laje: ', kx_x_laje) - print('kz_x_laje: ', kz_x_laje) - print('as_x_laje: ', as_x_laje) - - md_y = round(1.4 * mk_y, ndigits = 4) - kmd_y_laje = (md_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje = (1 - math.sqrt(1 - 2*kmd_y_laje))/0.8 - kz_y_laje = 1 - 0.4 * kx_y_laje - - as_y_laje = (md_y * 1000/ (kz_y_laje * (d_laje/100) * fyd_laje))*1000000 - - print('md_y: ', md_y) - print('kmd_y_laje: ', kmd_y_laje) - print('kx_y_laje: ', kx_y_laje) - print('kz_y_laje: ', kz_y_laje) - print('as_y_laje: ', as_y_laje) - - - nd_x = round(1.4 * nk_x, ndigits = 4) - kmd_x_laje_n = (nd_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje_n = (1 - math.sqrt(1 - 2*kmd_x_laje_n))/0.8 - kz_x_laje_n = 1 - 0.4 * kx_x_laje_n - - as_x_laje_n = (nd_x * 1000/ (kz_x_laje_n * (d_laje/100) * fyd_laje))*1000000 - - - nd_y = round(1.4 * nk_y, ndigits = 4) - kmd_y_laje_n = (nd_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje_n = (1 - math.sqrt(1 - 2*kmd_y_laje_n))/0.8 - kz_y_laje_n = 1 - 0.4 * kx_y_laje_n - - as_y_laje_n = (nd_x * 1000/ (kz_y_laje_n * (d_laje/100) * fyd_laje))*1000000 - - #------------------------------------------ saida de dados ------------------------------------ - kmd_x_laje = self.truncar(kmd_x_laje) - kx_x_laje = self.truncar(kx_x_laje) - kz_x_laje = self.truncar(kz_x_laje) - as_x_laje = self.truncar(as_x_laje) - - kmd_y_laje = self.truncar(kmd_y_laje) - kx_y_laje = self.truncar(kx_y_laje) - kz_y_laje = self.truncar(kz_y_laje) - as_y_laje = self.truncar(as_y_laje) - - - self.lineEdit_17.setText(str(md_x)) - self.lineEdit_18.setText(str(kmd_x_laje)) - self.lineEdit_19.setText(str(kx_x_laje)) - self.lineEdit_20.setText(str(kz_x_laje)) - self.lineEdit_21.setText(str(as_x_laje)) - - self.lineEdit_22.setText(str(md_y)) - self.lineEdit_24.setText(str(kmd_y_laje)) - self.lineEdit_25.setText(str(kx_y_laje)) - self.lineEdit_26.setText(str(kz_y_laje)) - self.lineEdit_23.setText(str(as_y_laje)) - - - self.lineEdit_38.setText(str(area_concreto_laje)) - self.lineEdit_39.setText(str(ro_armad_minima*100)) - self.lineEdit_42.setText(str(armad_max_laje)) - self.lineEdit_40.setText(str(armad_neg_min)) - self.lineEdit_41.setText(str(armad_pos_cruz)) - self.lineEdit_43.setText(str(armad_princ_unid)) - self.lineEdit_44.setText(str(armad_secnd_unid)) - - if tipo_laje == 'UNIDIRECIONAL': - self.label_44.setText('Distribuição') - if float(as_y_laje) < armad_princ_unid: - self.label_45.setText('Mínima') - else: - self.label_45.setText('') - - if tipo_laje == 'BIDIRECIONAL': - if float(as_x_laje) < armad_pos_cruz: - self.label_44.setText('Mínima') - else: - self.label_44.setText('') - - if float(as_y_laje) < armad_pos_cruz: - self.label_45.setText('Mínima') - else: - self.label_45.setText('') - - def limpar_lajes(self): - self.comboBox.setCurrentIndex(0) - self.comboBox_2.setCurrentIndex(0) - - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - self.lineEdit_27.setText('0') - - self.lineEdit_7.setText('') - self.lineEdit_8.setText('') - self.lineEdit_9.setText('') - self.lineEdit_10.setText('') - - self.lineEdit_11.setText('') - self.lineEdit_12.setText('') - self.lineEdit_38.setText('') - self.lineEdit_39.setText('') - self.lineEdit_42.setText('') - self.lineEdit_40.setText('') - self.lineEdit_41.setText('') - self.lineEdit_43.setText('') - self.lineEdit_44.setText('') - - self.lineEdit_13.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - - self.lineEdit_16.setText('') - self.lineEdit_17.setText('') - self.lineEdit_18.setText('') - self.lineEdit_19.setText('') - self.lineEdit_20.setText('') - self.lineEdit_21.setText('') - self.lineEdit_22.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_25.setText('') - self.lineEdit_26.setText('') - - - -class Carga_Adicional(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - - self.ui = loadUi('lajes_carg_adicional_atualizada.ui',self) - - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Cargas Adicionais') - self.setFixedSize(649,504) - - - -class Sapatas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('sapatas_alt.ui',self) - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Sapatas') - self.setFixedSize(946,574) - - def load_signals(self): - print('sapatas carregado') - self.pushButton_6.clicked.connect(self.calcular_sapata) - self.pushButton_7.clicked.connect(self.limpar_sapatas) - self.pushButton.clicked.connect(self.gerar_dim_sapata) - - def arredondar_cinco(self, numero): - numero = round(numero, ndigits=2) - numero = 100*numero - resto = numero%5 - while resto != 0: - numero += 1 - resto = numero%5 - print('numero:',numero,' - resto: ',resto) - - numero = numero/100 - return numero - - def calcular_sapata(self): - - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - - base_y_sapata = float(self.lineEdit_10.text()) - base_x_sapata = float(self.lineEdit_9.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - y_sapata = float(self.lineEdit_9.text()) - x_sapata = float(self.lineEdit_10.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - if (nk != 0 and x_pilar != 0 and y_pilar != 0 and tensao_adm_solo != 0 and fator_solo != 0 and base_y_sapata != 0 and base_x_sapata != 0 and h_total != 0 and h_0 != 0): - if (x_sapata < 0.6 or y_sapata < 0.6): - QMessageBox.about(self, "Erro de Entrada", "As sapatas não podem apresentar lados menores de 60 cm, conforme a NBR 6122") - else: - fck_sapata = float(self.comboBox.currentText()) - fcd_sapata = fck_sapata / 1.4 - fyk_sapata = float(self.comboBox_2.currentText()) - fyd_sapata = fyk_sapata / 1.15 - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - angulo_dissp_sapata = float(self.spinBox.value()) - - angulo_dissp_sapata = (angulo_dissp_sapata / 180)* 3.14 - - x_pilar = float(self.lineEdit.text())/100 - y_pilar = float(self.lineEdit_2.text())/100 - - y_sapata = float(self.lineEdit_9.text()) - x_sapata = float(self.lineEdit_10.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - if (momento_x_sapata != 0 and momento_y_sapata == 0) or (momento_x_sapata == 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.05 - elif (momento_x_sapata != 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.103 - else: - fator_acrescimo_dimensoes = 1.0 - - x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) - y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) - - wx = x_sapata * (y_sapata**2)/6 - wy = y_sapata * (x_sapata**2)/6 - - mw_x = (momento_x_sapata/wx)*1000 - mw_y = (momento_y_sapata/wy)*1000 - - tensao_sapata = (fator_solo*nk*1000)/(x_sapata*y_sapata) - tensao_max_sapata = tensao_sapata + mw_x + mw_y - tensao_min_sapata = tensao_sapata - mw_x - mw_y - - nk_equiv = (x_sapata * y_sapata * tensao_max_sapata)/fator_solo - area_sapata = round(fator_solo * ((nk*1000)/(tensao_adm_solo*1000000)),ndigits=6) - - ca_sapata = (x_sapata - x_pilar)/2 - cb_sapata = (y_sapata - y_pilar)/2 - h_rig_x = 2/3 * ca_sapata - h_rig_y = 2/3 * cb_sapata - - h_mincis = (1.4 * nk_equiv)/(2*(x_pilar+y_pilar)*0.27*(1-(fck_sapata/250))*(fcd_sapata*1000000)) - if h_mincis < 0.40: - h_mincis = 0.40 - if h_total < h_mincis: - h_total = h_mincis - - braco_alavanca_sapata = h_total - 0.05 - - h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) - h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) - - #h0 = round(h0a, ndigits=2) - #if h0a < h0b: - # h0 = round(h0b, ndigits=2) - - volume_concreto_sapata = (h_total-h_0)/(3*(x_sapata*y_sapata+x_pilar*y_pilar+math.sqrt(x_sapata*y_sapata*x_pilar*y_pilar))+x_sapata*y_sapata*h_0) - - tracao_x_sapata = 1.1 * nk_equiv * (x_sapata - x_pilar)/(8 * braco_alavanca_sapata) - tracao_y_sapata = 1.1 * nk_equiv * (y_sapata - y_pilar)/(8 * braco_alavanca_sapata) - as_x_sapata = (1.4 * tracao_x_sapata)/(fyd_sapata) - as_y_sapata = (1.4 * tracao_y_sapata)/fyd_sapata - - taxa_aco_sapata = (0.078 * (fck_sapata)**(2/3))/fyd_sapata - - if taxa_aco_sapata <= 0.0015: - taxa_aco_sapata = 0.0015 - - as_x_min_laje = 0.67 * taxa_aco_sapata * h_mincis * x_sapata - as_y_min_laje = 0.67 * taxa_aco_sapata * h_mincis * y_sapata - - print('x_sapata: ',x_sapata) - print('y_sapata: ',y_sapata) - - print('wx: ',wx) - print('wy: ',wy) - print('mw_x: ',mw_x) - print('mw_y: ',mw_y) - print('tensao_max_sapata: ',tensao_max_sapata) - print('tensao_min_sapata: ',tensao_min_sapata) - print('nk_equiv: ',nk_equiv) - print('ca_sapata: ',ca_sapata) - print('cb_sapata: ',cb_sapata) - print('h0a: ',h0a) - print('h0b: ',h0b) - print('h_mincis: ',h_mincis) - #print('h0: ',h0) - print('h_total',h_total) - print('-------------------------------------\n') - - #-------------------------------------- saida dos dados -------------------------------------------------- - self.lineEdit_11.setText(str(h_total)) - #self.lineEdit_12.setText(str(h0)) - - self.lineEdit_15.setText(str(area_sapata)) - self.lineEdit_16.setText(str(round(wx, ndigits=6))) - self.lineEdit_17.setText(str(round(wy, ndigits=6))) - self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) - self.lineEdit_19.setText(str(round(tensao_max_sapata/1000000, ndigits=4))) - self.lineEdit_20.setText(str(round(tensao_min_sapata/1000000, ndigits=4))) - self.lineEdit_21.setText(str(round(ca_sapata*100, ndigits=4))) - self.lineEdit_22.setText(str(round(cb_sapata*100, ndigits=4))) - - self.lineEdit_23.setText(str(round(h_rig_x*100, ndigits=4))) - self.lineEdit_24.setText(str(round(h_rig_y*100, ndigits=4))) - self.lineEdit_25.setText(str(round(h_mincis*100, ndigits=4))) - self.lineEdit_26.setText(str(round(h0a*100, ndigits=4))) - self.lineEdit_28.setText(str(round(h0b*100, ndigits=4))) - self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) - - self.lineEdit_14.setText(str(round(tracao_x_sapata/1000, ndigits=4))) - self.lineEdit_29.setText(str(round(tracao_y_sapata/1000, ndigits=4))) - self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) - self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) - - self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) - self.lineEdit_33.setText(str(round(as_x_min_laje*1000000, ndigits=4))) - self.lineEdit_34.setText(str(round(as_y_min_laje*1000000, ndigits=4))) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - - def gerar_dim_sapata(self): - - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - - - if (nk != 0 and x_pilar != 0 and y_pilar != 0 and tensao_adm_solo != 0 and fator_solo != 0): - - fck_sapata = float(self.comboBox.currentText()) - fcd_sapata = fck_sapata / 1.4 - fyk_sapata = float(self.comboBox_2.currentText()) - fyd_sapata = fyk_sapata / 1.15 - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - angulo_dissp_sapata = float(self.spinBox.value()) - - angulo_dissp_sapata = (angulo_dissp_sapata / 180)* 3.14 - - x_pilar = float(self.lineEdit.text())/100 - y_pilar = float(self.lineEdit_2.text())/100 - - area_sapata = round(fator_solo * ((nk*1000)/(tensao_adm_solo*1000000)),ndigits=6) - - y_sapata = 0.5*(y_pilar - x_pilar) + math.sqrt(0.25*((y_pilar - x_pilar)**2)+area_sapata) - - x_sapata = area_sapata/y_sapata - - if (momento_x_sapata != 0 and momento_y_sapata == 0) or (momento_x_sapata == 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.05 - elif (momento_x_sapata != 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.103 - else: - fator_acrescimo_dimensoes = 1.0 - - x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) - y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) - - if x_sapata < 0.6: - x_sapata = 0.6 - if y_sapata < 0.6: - y_sapata = 0.6 - print(x_sapata,'<--------------------------------------------------') - wx = x_sapata * (y_sapata**2)/6 - wy = y_sapata * (x_sapata**2)/6 - - mw_x = (momento_x_sapata/wx)*1000 - mw_y = (momento_y_sapata/wy)*1000 - - tensao_sapata = (fator_solo*nk*1000)/(x_sapata*y_sapata) - tensao_max_sapata = tensao_sapata + mw_x + mw_y - tensao_min_sapata = tensao_sapata - mw_x - mw_y - - x_sapata = self.arredondar_cinco(x_sapata) - y_sapata = self.arredondar_cinco(y_sapata) - if x_sapata < 0.6: - x_sapata = 0.6 - if y_sapata < 0.6: - y_sapata = 0.6 - - nk_equiv = (x_sapata * y_sapata * tensao_max_sapata)/fator_solo - - ca_sapata = (x_sapata - x_pilar)/2 - cb_sapata = (y_sapata - y_pilar)/2 - h_rig_x = 2/3 * ca_sapata - h_rig_y = 2/3 * cb_sapata - - h_total = h_rig_x - if h_total < h_rig_y: - h_total = h_rig_y - - h_mincis = (1.4 * nk_equiv)/(2*(x_pilar+y_pilar)*0.27*(1-(fck_sapata/250))*(fcd_sapata*1000000)) - if h_mincis < 0.40: - h_mincis = 0.40 - h_mincis = round(h_mincis, ndigits=4) - - if h_total < h_mincis: - h_total = h_mincis - - h_total = self.arredondar_cinco(h_total) - - h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) - h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) - h0_prerrogativo = h_total/3 - tangente_angulo = math.tan(angulo_dissp_sapata) - h0 = round(h0a, ndigits=2) - if h0a < h0b: - h0 = round(h0b, ndigits=2) - elif h0b < h0_prerrogativo: - h0 = h0_prerrogativo - if h0 < 0.25: - h0 = 0.25 - h0 = self.arredondar_cinco(h0) - - volume_concreto_sapata = ((h_total-h0)/3*(x_sapata*y_sapata+x_pilar*y_pilar+math.sqrt(x_sapata*y_sapata*x_pilar*y_pilar)))+(x_sapata*y_sapata*h0) - - braco_alavanca_sapata = h_total - 0.05 - - tracao_x_sapata = 1.1 * nk_equiv * (x_sapata - x_pilar)/(8 * braco_alavanca_sapata) - tracao_y_sapata = 1.1 * nk_equiv * (y_sapata - y_pilar)/(8 * braco_alavanca_sapata) - as_x_sapata = (1.4 * tracao_x_sapata)/(fyd_sapata) - as_y_sapata = (1.4 * tracao_y_sapata)/fyd_sapata - - taxa_aco_sapata = (0.078 * (fck_sapata)**(2/3))/fyd_sapata - - if taxa_aco_sapata <= 0.0015: - taxa_aco_sapata = 0.0015 - - as_x_min_laje = 0.67 * taxa_aco_sapata * h_total * x_sapata - as_y_min_laje = 0.67 * taxa_aco_sapata * h_total * y_sapata - - print('x_sapata: ',x_sapata) - print('y_sapata: ',y_sapata) - - print('wx: ',wx) - print('wy: ',wy) - print('mw_x: ',mw_x) - print('mw_y: ',mw_y) - print('tensao_max_sapata: ',tensao_max_sapata) - print('tensao_min_sapata: ',tensao_min_sapata) - print('nk_equiv: ',nk_equiv) - print('ca_sapata: ',ca_sapata) - print('cb_sapata: ',cb_sapata) - print('h0a: ',h0a) - print('h0b: ',h0b) - print('h_mincis: ',h_mincis) - print('h0: ',h0) - print('tangente_angulo: ',tangente_angulo) - print('----------') - print('h_total: ',h_total) - print('tracao_x_sapata: ',tracao_x_sapata) - print('tracao_y_sapata: ',tracao_y_sapata) - print('as_x_sapata: ',as_x_sapata) - print('as_y_sapata: ',as_y_sapata) - print('taxa_aco_sapata: ',taxa_aco_sapata) - print('as_x_min_laje: ',as_x_min_laje) - print('as_y_min_laje: ',as_y_min_laje) - print('-------------------------------------\n') - #------------------------------ saida de dados --------------------------------------------- - self.lineEdit_9.setText(str(y_sapata)) - self.lineEdit_10.setText(str(x_sapata)) - self.lineEdit_15.setText(str(area_sapata)) - - self.lineEdit_11.setText(str(round(h_total, ndigits=4))) - self.lineEdit_12.setText(str(round(h0, ndigits=4))) - - - self.lineEdit_15.setText(str(area_sapata)) - self.lineEdit_16.setText(str(round(wx, ndigits=6))) - self.lineEdit_17.setText(str(round(wy, ndigits=6))) - self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) - self.lineEdit_19.setText(str(round(tensao_max_sapata/1000000, ndigits=4))) - self.lineEdit_20.setText(str(round(tensao_min_sapata/1000000, ndigits=4))) - self.lineEdit_21.setText(str(round(ca_sapata*100, ndigits=4))) - self.lineEdit_22.setText(str(round(cb_sapata*100, ndigits=4))) - - self.lineEdit_23.setText(str(round(h_rig_x*100, ndigits=4))) - self.lineEdit_24.setText(str(round(h_rig_y*100, ndigits=4))) - self.lineEdit_25.setText(str(round(h_mincis*100, ndigits=4))) - self.lineEdit_26.setText(str(round(h0a*100, ndigits=4))) - self.lineEdit_28.setText(str(round(h0b*100, ndigits=4))) - self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) - - self.lineEdit_14.setText(str(round(tracao_x_sapata/1000, ndigits=4))) - self.lineEdit_29.setText(str(round(tracao_y_sapata/1000, ndigits=4))) - self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) - self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) - - self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) - self.lineEdit_33.setText(str(round(as_x_min_laje*1000000, ndigits=4))) - self.lineEdit_34.setText(str(round(as_y_min_laje*1000000, ndigits=4))) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def limpar_sapatas(self): - self.comboBox.setCurrentIndex(0) - self.comboBox_2.setCurrentIndex(0) - - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - - self.lineEdit_35.setText('0') - self.lineEdit_13.setText('1.1') - self.spinBox.setValue(30) - - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - self.lineEdit_17.setText('') - self.lineEdit_18.setText('') - self.lineEdit_19.setText('') - self.lineEdit_20.setText('') - self.lineEdit_21.setText('') - self.lineEdit_22.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_25.setText('') - self.lineEdit_26.setText('') - self.lineEdit_27.setText('') - self.lineEdit_28.setText('') - - self.lineEdit_14.setText('') - self.lineEdit_29.setText('') - self.lineEdit_30.setText('') - self.lineEdit_31.setText('') - self.lineEdit_32.setText('') - self.lineEdit_33.setText('') - self.lineEdit_34.setText('') - -#---------------------------------------------- Janelas Adicionais ---------------------------------------------------- - - -class Tabela_Classe_Agressividade(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('class_agres.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Classes de Agressividade e Cobrimentos Mínimos') - self.setFixedSize(579, 520) - - def load_signals(self): - print('inicializado') - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - - self.tableWidget.setSpan(0, 0, 1, 4) - - header_2 = self.tableWidget_2.horizontalHeader() - header_2.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(3, QtWidgets.QHeaderView.ResizeToContents) - - self.tableWidget_2.setSpan(0, 0, 2, 1) - self.tableWidget_2.setSpan(0, 1, 2, 1) - self.tableWidget_2.setSpan(0, 3, 2, 1) - - self.tableWidget_2.setSpan(3, 0, 2, 1) - self.tableWidget_2.setSpan(3, 1, 2, 1) - self.tableWidget_2.setSpan(3, 3, 2, 1) - - self.tableWidget_2.setSpan(5, 0, 2, 1) - self.tableWidget_2.setSpan(5, 1, 2, 1) - self.tableWidget_2.setSpan(5, 3, 2, 1) - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - inicio = Inicio() - vigas = Vigas() - detalhar_vigas = Detalhar_viga() - pilares = Pilares() - pilares_areas_aco = Pilar_area_aco() - #pilares.show() - #vigas.show() - lajes = Lajes() - #lajes.show() - sapatas = Sapatas() - #sapatas.show() - carga_adicional = Carga_Adicional() - tabela_classe_agressividade = Tabela_Classe_Agressividade() - tabela_bitolas = Tabela_Bitolas() - - app.exec_() \ No newline at end of file diff --git a/inicial_new_1.py b/inicial_new_1.py deleted file mode 100644 index 2b1fbbd..0000000 --- a/inicial_new_1.py +++ /dev/null @@ -1,2355 +0,0 @@ - - -import sys -import os -import math - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox, QTableWidget, QTableWidgetItem -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -import pyqtgraph as pg - - -import marcus - -tabela_marcus = 'tabela_marcus.pdf' -abaco_normal = 'abaco_normal.pdf' -abaco_obliqua = 'abaco_obliqua.pdf' - - -class Inicio(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = None - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('inicio_alt.ui',self) - self.label.setStyleSheet("Background-Color: #ddebff;") - - self.setWindowTitle('Navier - inicio') - - self.pushButton.setIcon(QtGui.QIcon('./btn_inicio_vigas.png')) - self.pushButton.setIconSize(QtCore.QSize(52,52)) - self.pushButton_3.setIcon(QtGui.QIcon('./btn_inicio_pilares.png')) - self.pushButton_3.setIconSize(QtCore.QSize(42,42)) - self.pushButton_9.setIcon(QtGui.QIcon('./btn_inicio_lajes.png')) - self.pushButton_9.setIconSize(QtCore.QSize(42,42)) - self.pushButton_11.setIcon(QtGui.QIcon('./btn_inicio_fundacoes.png')) - self.pushButton_11.setIconSize(QtCore.QSize(45,45)) - - - self.label_5.setStyleSheet("Background-Color: #ddebff;") - self.label_10.setStyleSheet("Background-Color: #ddebff;") - self.label_9.setStyleSheet("Background-Color: #ddebff;") - self.label_11.setStyleSheet("Background-Color: #ddebff;") - - self.pushButton_2.setIcon(QtGui.QIcon('./btn_caa.png')) - self.pushButton_2.setIconSize(QtCore.QSize(45,45)) - self.pushButton_5.setIcon(QtGui.QIcon('./btn_cadicional.png')) - self.pushButton_5.setIconSize(QtCore.QSize(45,45)) - self.pushButton_6.setIcon(QtGui.QIcon('./btn_tabbitolas.png')) - self.pushButton_6.setIconSize(QtCore.QSize(45,45)) - self.pushButton_7.setIcon(QtGui.QIcon('./btn_tabmarcus.png')) - self.pushButton_7.setIconSize(QtCore.QSize(45,45)) - self.pushButton_8.setIcon(QtGui.QIcon('./btn_flexaosimples.png')) - self.pushButton_8.setIconSize(QtCore.QSize(45,45)) - self.pushButton_23.setIcon(QtGui.QIcon('./btn_flexaocomposta.png')) - self.pushButton_23.setIconSize(QtCore.QSize(45,45)) - - self.label_21.setToolTip('Brunel - programa de cálculo e verificação de perfis metálicos para perfis brasileiros') - self.label_22.setToolTip('EngTool - aplicação mobile para cálculo de vigas de concreto armado') - - self.setFixedSize(570, 450) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.show() - - - def load_signals(self): - self.pushButton.clicked.connect(self.iniciar_vigas) - self.pushButton_3.clicked.connect(self.iniciar_pilares) - self.pushButton_9.clicked.connect(self.iniciar_lajes) - self.pushButton_11.clicked.connect(self.iniciar_fundacoes) - - self.pushButton_2.clicked.connect(self.iniciar_classe_agressividade) - self.pushButton_5.clicked.connect(self.iniciar_carga_adicional) - self.pushButton_6.clicked.connect(self.iniciar_tabela_bitolas) - - self.pushButton_7.clicked.connect(lambda: self.abrirTabelaAuxiliar(tabela_marcus)) - self.pushButton_23.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_normal)) - self.pushButton_8.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_obliqua)) - - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - def iniciar_vigas(self): - print('vigas') - vigas.show() - def iniciar_pilares(self): - print('pilares') - pilares.show() - def iniciar_lajes(self): - print('lajes') - lajes.show() - def iniciar_fundacoes(self): - print('fundações') - sapatas.show() - #--------------------------- forms complementares ----------------------------- - def iniciar_carga_adicional(self): - print('carga adicional') - carga_adicional.show() - def iniciar_tabela_bitolas(self): - print('carga adicional') - tabela_bitolas.show() - def iniciar_classe_agressividade(self): - print('classe de agressividade') - tabela_classe_agressividade.show() - - - -class Vigas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('vigas_alt.ui',self) - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Vigas') - self.setFixedSize(860, 620) - - def load_signals(self): - print('viga carregado') - self.pushButton.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(1)) - self.pushButton_2.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(0)) - self.pushButton_3.clicked.connect(lambda: detalhar_vigas.show()) - - self.pushButton_6.clicked.connect(self.calcular_viga_index) - self.pushButton_7.clicked.connect(self.limpar_vigas) - - self.radioButton.clicked.connect(lambda: self.lineEdit_35.setText('0.450')) - self.radioButton_2.clicked.connect(lambda: self.lineEdit_35.setText('0.628')) - - - def calcular_viga_index(self): - aux = self.stackedWidget.currentIndex() #retorn o indice do stackedwidget e indica se o cálculo é de simples ou dupla - #aux == 0 (Simples), aux == 1 (Dupla) - if aux == 1: - self.calcular_viga_simples() - else: - self.calcular_viga_dupla() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def calcular_viga_cortante(self): - aux = self.stackedWidget.currentIndex() - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - - if aux == 1: - bw_viga = float(self.lineEdit_3.text()) - h_viga = float(self.lineEdit_4.text()) - d_viga = float(self.lineEdit_5.text()) - - else: - bw_viga = float(self.lineEdit_15.text()) - h_viga = float(self.lineEdit_16.text()) - d_viga = float(self.lineEdit_17.text()) - - - theta_transversal = 45 - alfa_transversal = 90 - if self.radioButton_4.isChecked(): - theta_transversal = self.spinBox.value() - - theta_transversal = (theta_transversal/180)*math.pi - alfa_transversal = (alfa_transversal/180)*math.pi - - fator_cotangentes_transversal = ((math.cos(alfa_transversal)/math.sin(alfa_transversal))) + ((math.cos(theta_transversal)/math.sin(theta_transversal))) - fator_cotangentes_transversal = 1 - - vsd = vk_viga * 1.4 - vrd2 = 0.27 * (1-(fck_viga/250)) * (bw_viga/100) * fcd_viga * (d_viga/100) *(math.sin(2*theta_transversal))*fator_cotangentes_transversal * 1000 - print('VSD: ',vsd) - print('VRD2: ',vrd2) - - if vrd2 < vsd: - QMessageBox.about(self, "Alerta", "A seção de concreto não permite gerar bielas resistentes à compressão. Reveja as dimensões da viga ou esforços de cálculo para a estrutura.") - else: - vc_0 = 0.09*(fck_viga**(2/3))*(bw_viga/100)*(d_viga/100)*1000 - if self.radioButton_4.isChecked(): - vc_0 = vc_0*((vrd2 - vsd)/(vrd2 - vc_0)) - - vsw = vsd - vc_0 - - #as_transversal = (vsw/(0.9*(d_viga/100)*fyd_viga*fator_cotangentes_transversal*math.sin(alfa_transversal)))*1000 - as_transversal = (vsw/(0.9*(d_viga/100)*fyd_viga)*math.tan(theta_transversal))*1000 - - taxa_aco_cortante_retangular = 0.2*(0.3*fck_viga**(2/3))/fyk_viga - - as_min_transversal = ((bw_viga*10)*taxa_aco_cortante_retangular)*1000 # para deixar em mm² - - print('vk_viga: ',vk_viga) - print('vsd: ',vsd) - print('vrd2: ',vrd2) - print('vc_0: ',vc_0) - print('vsw: ',vsw) - print('as_transversal: ',as_transversal) - print('taxa_aco_cortante_retangular: ',taxa_aco_cortante_retangular) - print('as_min_transversal',as_min_transversal) - - #------------------------------------------- saida de dados -------------------------------------------------- - self.lineEdit_30.setText(str(round(vk_viga*1.4, ndigits=4))) - self.lineEdit_31.setText(str(round(vrd2, ndigits=4))) - self.lineEdit_32.setText(str(round(vc_0, ndigits=4))) - self.lineEdit_33.setText(str(round(vsw, ndigits=4))) - - self.lineEdit_34.setText(str(round(as_transversal, ndigits=4))) - self.lineEdit_37.setText(str(round(as_min_transversal, ndigits=4))) - - - if (vsd <= 0.67*vrd2): - espass_maximo = 30 - else: - espass_maximo = 20 - - global info_viga_cortante - info_viga_cortante = [str(vsw), espass_maximo] - - - - def calcular_viga_simples(self): - mk_viga = self.lineEdit.text() - vk_viga = self.lineEdit_2.text() - bw_viga = self.lineEdit_3.text() - h_viga = self.lineEdit_4.text() - d_viga = self.lineEdit_5.text() - - if (mk_viga != '0' and vk_viga != '0' and bw_viga != '0' and h_viga != '0' and d_viga != '0'): - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - bw_viga = float(self.lineEdit_3.text()) - h_viga = float(self.lineEdit_4.text()) - d_viga = float(self.lineEdit_5.text()) - - d_linha_viga = h_viga - d_viga - self.lineEdit_21.setText(str(round(d_linha_viga, ndigits=2))) - area_secao_viga = bw_viga * h_viga - - kmd_viga = (mk_viga * 1.4 * 1000)/((bw_viga/100) * ((d_viga/100)**2) * (0.85*fcd_viga*1000000)) - if kmd_viga >0.5: - QMessageBox.about(self, "Alerta", "Os esforços especificados não são suportados pela seção de concreto analisada. Por favor altera as dimensões da seção da viga ou reveja os esforços de cálculo para a estrutura.") - else: - kx_viga = (1 - math.sqrt(1 - 2*kmd_viga))/0.8 - kz_viga = 1 - 0.4*kx_viga - as_viga = (mk_viga * 1.4 * 1000)/(kz_viga * (d_viga/100) * fyd_viga) - - as_sobre_apoio_viga = as_viga/3 - if h_viga >= 60: - as_pele = (0.1/100)*area_secao_viga*100 - else: - as_pele = 0 - - as_max_viga = (4/100)*area_secao_viga*100 - - if fck_viga == 20: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 25: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 30: - taxa_aco_viga_retangular = 0.173/100 - elif fck_viga == 35: - taxa_aco_viga_retangular = 0.201/100 - elif fck_viga == 40: - taxa_aco_viga_retangular = 0.203/100 - elif fck_viga == 45: - taxa_aco_viga_retangular = 0.259/100 - elif fck_viga == 50: - taxa_aco_viga_retangular = 0.288/100 - - as_min_viga = taxa_aco_viga_retangular * area_secao_viga*100 - - - if kx_viga < 0: - dominio_viga = 'Domínio 1' - elif kx_viga > 0 and kx_viga <0.259: - dominio_viga = 'Domínio 2' - elif kx_viga > 0.259 and kx_viga <0.45: - dominio_viga = 'Domínio 3 - Dúctil' - elif kx_viga > 0.45 and kx_viga <0.63: - dominio_viga = 'Domínio 3 - Não Dúctil' - elif (kx_viga > 0.628 and kx_viga <1): - dominio_viga = 'Domínio 4a' - elif (kx_viga > 0.438 and kx_viga <1) and (fyk_viga == 600): - dominio_viga = 'Domínio 4a' - else: - dominio_viga = 'Domínio 4b' - - kmd_viga = self.truncar(kmd_viga) - kx_viga = self.truncar(kx_viga) - kz_viga = self.truncar(kz_viga) - - print('kmd_viga: ',kmd_viga) - print('kx_viga: ',kx_viga) - print('kz_viga: ',kz_viga) - print('as_viga: ',as_viga) - print('as_sobre_apoio_viga: ',as_sobre_apoio_viga) - print('as_max_viga: ',as_max_viga) - print('as_min_viga',as_min_viga) - - #-------------------------------------- saida de dados ------------------------------------------------ - self.lineEdit_6.setText(str(round(mk_viga*1.4,ndigits=4))) - self.lineEdit_13.setText(dominio_viga) - self.lineEdit_7.setText(str(kmd_viga)) - self.lineEdit_8.setText(str(kx_viga)) - self.lineEdit_9.setText(str(kz_viga)) - - self.lineEdit_10.setText(str(round(as_viga,ndigits=4))) - self.lineEdit_11.setText(str(round(as_sobre_apoio_viga,ndigits=4))) - self.lineEdit_12.setText(str(round(as_pele,ndigits=4))) - self.lineEdit_14.setText(str(round(as_max_viga,ndigits=4))) - self.lineEdit_20.setText(str(round(as_min_viga,ndigits=4))) - - #------------------------------------------------------------------------------------------------- - if (dominio_viga == 'Domínio 4a') or (dominio_viga == 'Domínio 4b'): - QMessageBox.about(self, "Atenção", "Domínio de cálculo 4, recomenda-se utilizar, em seção retangular, armadura dupla ou seção tê para contenção dos esforços de compressão do concreto.") - - if as_viga > as_max_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada superior a Área Máxima especificada para a seção da viga.") - if as_viga < as_min_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada inferior a Área Mínima especificada para a seção da viga.") - - self.calcular_viga_cortante() - - global info_viga - info_viga = [str(as_viga),str(bw_viga),str(h_viga),str(d_viga),str(1.9)] - - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def calcular_viga_dupla(self): - mk_viga = self.lineEdit.text() - vk_viga = self.lineEdit_2.text() - bw_viga = self.lineEdit_15.text() - h_viga = self.lineEdit_16.text() - d_viga = self.lineEdit_17.text() - - if (mk_viga != '0' and vk_viga != '0' and bw_viga != '0' and h_viga != '0' and d_viga != '0'): - fck_viga = float(self.comboBox.currentText()) - fcd_viga = fck_viga/1.4 - fyk_viga = float(self.comboBox_2.currentText()) - fyd_viga = fyk_viga/1.15 - - mk_viga = float(self.lineEdit.text()) - vk_viga = float(self.lineEdit_2.text()) - bw_viga = float(self.lineEdit_15.text()) - h_viga = float(self.lineEdit_16.text()) - d_viga = float(self.lineEdit_17.text()) - - d_linha_viga = h_viga - d_viga - self.lineEdit_27.setText(str(round(d_linha_viga, ndigits=4))) - - xis_dominio = float(self.lineEdit_35.text()) - - d_min_viga = math.sqrt((mk_viga*1.4*1000)/((bw_viga/100) * (fcd_viga*1000000) * (0.68*xis_dominio - 0.272*(xis_dominio**2)))) - - x_lim_viga = xis_dominio * (d_viga/100) - - momento_lim_viga = 0.68 * (bw_viga/100) * (fcd_viga*1000) * x_lim_viga*((d_viga/100) - 0.4*x_lim_viga) - - print('d_min_viga: ',d_min_viga) - print('x_lim_viga: ',x_lim_viga) - print('momento_lim_viga: ',momento_lim_viga) - - if d_min_viga < (h_viga/100): - self.lineEdit_36.setText(str(round(d_min_viga, ndigits=5))) - self.lineEdit_18.setText(str(round(x_lim_viga, ndigits=5))) - QMessageBox.about(self, "Observação", "A altura atual da viga é maior que a altura útil mínima, calcule como simplesmente armada") - - else: - - momento_lim_viga = 0.68 * (bw_viga/100) * (fcd_viga*1000) * x_lim_viga*((d_viga/100) - 0.4*x_lim_viga) - momento_2_viga = (mk_viga*1.4) - momento_lim_viga - - as_compressao_viga = (momento_2_viga * 1000)/(((d_viga/100) - (d_linha_viga/100))*(fyd_viga)) - #as_tracao_viga = ((momento_lim_viga * 1000)/((1 - 0.4*x_lim_viga)*(d_viga/100)*fyd_viga)) - as_tracao_viga = ((momento_lim_viga * 1000)/((1 - 0.4*xis_dominio)*(d_viga/100)*fyd_viga)) - - as_tracao_viga = as_tracao_viga + as_compressao_viga - - as_total_viga = as_tracao_viga + as_compressao_viga - - as_sobre_apoio_viga = as_tracao_viga/3 - - area_secao_viga = bw_viga * h_viga - if h_viga >= 60: - as_pele = (0.1/100)*area_secao_viga*100 - else: - as_pele = 0 - - if fck_viga == 20: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 25: - taxa_aco_viga_retangular = 0.15/100 - elif fck_viga == 30: - taxa_aco_viga_retangular = 0.173/100 - elif fck_viga == 35: - taxa_aco_viga_retangular = 0.201/100 - elif fck_viga == 40: - taxa_aco_viga_retangular = 0.203/100 - elif fck_viga == 45: - taxa_aco_viga_retangular = 0.259/100 - elif fck_viga == 50: - taxa_aco_viga_retangular = 0.288/100 - - as_max_viga = (4/100)*area_secao_viga*100 - as_min_viga = taxa_aco_viga_retangular * area_secao_viga*100 - - - print('momento_lim_viga: ',momento_lim_viga) - print('momento_2_viga: ',momento_2_viga) - print('as_compressao_viga: ',as_compressao_viga) - print('as_tracao_viga: ',as_tracao_viga) - - - #------------------------------------------ saida de dados -------------------------------------------------- - self.lineEdit_36.setText(str(round(d_min_viga, ndigits=5))) - self.lineEdit_18.setText(str(round(x_lim_viga, ndigits=5))) - self.lineEdit_26.setText(str(round(momento_lim_viga, ndigits=5))) - self.lineEdit_19.setText(str(round(momento_2_viga, ndigits=5))) - - self.lineEdit_22.setText(str(round(as_compressao_viga, ndigits=5))) - self.lineEdit_28.setText(str(round(as_tracao_viga, ndigits=5))) - self.lineEdit_23.setText(str(round(as_sobre_apoio_viga, ndigits=5))) - self.lineEdit_24.setText(str(round(as_pele, ndigits=5))) - self.lineEdit_38.setText(str(round(as_total_viga, ndigits=2))) - self.lineEdit_25.setText(str(round(as_max_viga, ndigits=2))) - self.lineEdit_29.setText(str(round(as_min_viga, ndigits=2))) - #------------------------------------------ ------------- -------------------------------------------------- - - if as_total_viga > as_max_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada superior a Área Máxima especificada para a seção da viga.") - if as_total_viga < as_min_viga: - QMessageBox.about(self, "Atenção", "Área Total calculada inferior a Área Mínima especificada para a seção da viga.") - - self.calcular_viga_cortante() - - global info_viga - info_viga = [str(as_tracao_viga),str(bw_viga),str(h_viga),str(d_viga),str(1.9)] - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def limpar_vigas(self): - self.comboBox.setCurrentIndex(0) - self.comboBox_2.setCurrentIndex(0) - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - self.lineEdit_21.setText('0') - - self.lineEdit_6.setText('') - self.lineEdit_7.setText('') - self.lineEdit_8.setText('') - self.lineEdit_9.setText('') - self.lineEdit_10.setText('') - self.lineEdit_11.setText('') - self.lineEdit_12.setText('') - self.lineEdit_13.setText('') - self.lineEdit_14.setText('') - - self.lineEdit_15.setText('0') - self.lineEdit_16.setText('0') - self.lineEdit_17.setText('0') - self.lineEdit_27.setText('0') - - self.lineEdit_36.setText('') - self.lineEdit_18.setText('') - self.lineEdit_26.setText('') - self.lineEdit_19.setText('') - self.lineEdit_22.setText('') - self.lineEdit_28.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_38.setText('') - self.lineEdit_25.setText('') - self.lineEdit_29.setText('') - - self.lineEdit_30.setText('') - self.lineEdit_31.setText('') - self.lineEdit_32.setText('') - self.lineEdit_33.setText('') - self.lineEdit_34.setText('') - self.lineEdit_37.setText('') - -tabela_bitolas_ferro = [ - [6.3, 31.17], - [8, 50.26], - [10, 78.53], - [12.5, 122.71], - [16, 201.06], - [20, 314.15], - [25, 490.87], - [32, 804.24], - [40, 1256.63] - ] - -#info_viga = ['95','12','45','40','1.9'] -#info_viga = [As,bw,h,d,agregado] - -class Detalhar_viga(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('detalhamento_vigas_alt.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Vigas - Detalhamento') - self.setFixedSize(845,600) - - - def load_signals(self): - print('inicializado') - self.pushButton.clicked.connect(self.calcular_area) - #self.pushButton.clicked.connect(self.calcular_estribos) - self.pushButton_2.clicked.connect(self.limpar_detalhamento) - self.pushButton_3.clicked.connect(self.recuperarValores) - - - #pg.plot(x=[0,1,2,3,4], y=[0,1,2,3,4]**2 ) - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch) - - self.widget.setTitle('nº barras/Bitola') - self.widget.showGrid(x=True,y=True,alpha=1) - - #if '0' not in info_viga: - # self.recuperarValores() - - def calcular_estribos(self): - vsw = self.lineEdit_14.text() - fyk_estribo = self.comboBox_2.currentText() - tramos = self.lineEdit_15.text() - - if (vsw != '0' and tramos != '0'): - vsw = float(self.lineEdit_14.text()) - bitola_estribo = float(self.comboBox.currentText()) - fyk_estribo = float(self.comboBox_2.currentText()) - tramos = float(self.lineEdit_15.text()) - d = float(self.lineEdit_13.text()) - - espass_horizontal = info_viga_cortante[1] - - area_bitola = (3.14*((bitola_estribo/1000)**2)/4) - - print(vsw) - print(bitola_estribo) - print(tramos) - print(fyk_estribo) - print(area_bitola) - - - s_estribo = ((tramos * area_bitola * 0.9 * (d/100) * (fyk_estribo*100000/1.15))/vsw*1000)/100 - s_estribo = round(s_estribo, ndigits=3) - - if s_estribo < espass_horizontal: - self.lineEdit.setText(str(espass_horizontal)) - else: - self.lineEdit.setText(str(s_estribo)) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes para o cálculo dos Estribos!") - - - def recuperarValores(self): - area_aco = info_viga[0] - base = info_viga[1] - altura = info_viga[2] - d = info_viga[3] - d_agreg = info_viga[4] - - vsw = info_viga_cortante[0] - - self.lineEdit_11.setText(area_aco) - self.lineEdit_10.setText(base) - self.lineEdit_9.setText(altura) - self.lineEdit_12.setText(d_agreg) - self.lineEdit_13.setText(d) - self.lineEdit_14.setText(vsw) - - def calcular_area(self): - area_aco = self.lineEdit_11.text() - base = self.lineEdit_10.text() - altura = self.lineEdit_9.text() - d_agreg = self.lineEdit_12.text() - d = self.lineEdit_13.text() - - if (area_aco != '0' and base != '0' and altura != '0' and d_agreg != '0' and d != '0'): - - self.widget.clear() - area_aco = float(self.lineEdit_11.text()) - base = float(self.lineEdit_10.text()) - altura = float(self.lineEdit_9.text()) - cobrimento = float(self.comboBox_3.currentText()) - bitola_estribo = float(self.comboBox.currentText()) - x = [] - y = [] - z = [] - cont = 0 - for i in tabela_bitolas_ferro: - n_barras = float(area_aco/i[1]) - print('bitola: ',i[0],' - nº barras: ',n_barras) - - self.tableWidget.setItem(cont,2, QTableWidgetItem(str(round(n_barras, ndigits=2)))) - self.tableWidget.setItem(cont,3, QTableWidgetItem(str(round(n_barras +0.5)+1))) - - x.append(i[0]) - y.append(round(n_barras +0.5)+1) - - bitola = x[cont] - n_barras = (round(n_barras +0.5)+1) - - espass_horizontal = (round(base - 2*(cobrimento+bitola_estribo/10) - n_barras*(bitola/10), ndigits=2))/(n_barras-1) - - z.append(round(espass_horizontal,ndigits=2)) - self.tableWidget.setItem(cont,4, QTableWidgetItem(str(espass_horizontal))) - - print('base:',base) - print('cobrimento:',cobrimento) - print('bitola_estribo:',bitola_estribo) - print('n_barras:',n_barras) - - cont +=1 - - #print(x) - #print(y) - #print(z) - - self.widget.plot(x=x,y=y,pen=(3)) - - self.calcular_espacamentos() - self.calcular_estribos() - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - def calcular_espacamentos(self): - bitola = float(self.comboBox_4.currentText()) - d_agreg = float(self.lineEdit_12.text()) - - s_horizontal = max(2, (bitola/10), 1.2*d_agreg) - s_vertical = max(2, (bitola/10), 0.5*d_agreg) - - #------------------------------- saida de dados ---------------------------------- - self.lineEdit_7.setText(str(s_horizontal)) - self.lineEdit_8.setText(str(s_vertical)) - - def limpar_detalhamento(self): - self.widget.clear() - self.lineEdit_11.setText(str('0')) - self.lineEdit_9.setText(str('0')) - self.lineEdit_10.setText(str('0')) - self.lineEdit_7.setText(str('0')) - self.lineEdit_8.setText(str('0')) - - - -class Tabela_Bitolas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('bitolas_ferros.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - - self.setWindowTitle('Navier - Tabela de Bitolas') - self.setFixedSize(456,372) - - -global pilares_info -pilares_info = [0,0,0,0] - -global pilares_info_aco -pilares_info_aco = [0, 0, 0, 0, 0, 0, 0] - -class Pilares(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('pilares_alt.ui',self) - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Pilares') - self.setFixedSize(997,670) - - def load_signals(self): - print('pilares carregado') - self.cont_x = 0 - self.cont_y = 0 - - self.pushButton_6.clicked.connect(self.calcular_pilares) - self.pushButton_7.clicked.connect(self.limpar_pilares) - - self.pushButton.clicked.connect(self.gerar_envoltoria) - self.pushButton_3.clicked.connect(lambda: pilares_areas_aco.show()) - - - def calcular_pilares(self): - x_pilar = self.lineEdit.text() - y_pilar = self.lineEdit_2.text() - altura_pilar = self.lineEdit_3.text() - altura_lance = self.lineEdit_4.text() - - nk_pilar = self.lineEdit_5.text() - momento_x_topo = self.lineEdit_6.text() - momento_x_base = self.lineEdit_7.text() - momento_y_topo = self.lineEdit_8.text() - momento_y_base = self.lineEdit_9.text() - - - if (x_pilar != '0' and y_pilar != '0' and altura_pilar != '0' and altura_lance != '0' and nk_pilar != '0'): - fck_pilar = float(self.comboBox_3.currentText()) - fcd_pilar = fck_pilar/1.4 - fyk_pilar = float(self.comboBox_4.currentText()) - fyd_pilar = fyk_pilar/1.15 - cobrimento_pilar = float(self.comboBox_5.currentText()) - - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - altura_pilar = float(self.lineEdit_3.text()) - altura_lance = float(self.lineEdit_4.text()) - - nk_pilar = float(self.lineEdit_5.text()) - momento_x_topo = float(self.lineEdit_6.text()) - momento_x_base = float(self.lineEdit_7.text()) - momento_y_topo = float(self.lineEdit_8.text()) - momento_y_base = float(self.lineEdit_9.text()) - - area_secao_pilar = (x_pilar/100)*(y_pilar/100) - - #nd_pilar = (nk_pilar + ((x_pilar/100)*(y_pilar/100)*altura_pilar*25)) * 1.4 - nd_pilar = (nk_pilar) * 1.4 - md_x_topo = 1.4 * momento_x_topo - md_x_base = 1.4 * momento_x_base - md_y_topo = 1.4 * momento_y_topo - md_y_base = 1.4 * momento_y_base - - - tipo_apoio_x = 'AA' - - if momento_x_topo == 0 and momento_x_base == 0 and momento_y_topo == 0 and momento_y_base == 0: - self.tipo_pilar = 'intermediario' - elif momento_x_topo == 0 and momento_x_base == 0: - self.tipo_pilar = 'extremidade-x' - elif momento_y_topo == 0 and momento_y_base == 0: - self.tipo_pilar = 'extremidade-y' - else: - self.tipo_pilar = 'canto' - - - self.lineEdit_13.setText(str(round(md_x_topo, ndigits=5))) - self.lineEdit_14.setText(str(round(md_x_base, ndigits=5))) - self.lineEdit_22.setText(str(round(md_y_topo, ndigits=5))) - self.lineEdit_28.setText(str(round(md_y_base, ndigits=5))) - - #-Eixo-X---------------------------------------------------------------------- - b = y_pilar - h = x_pilar - - m_a = max(md_x_topo, md_x_base) - m_b = min(md_x_topo, md_x_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-x': - alfa_b_x = 1.0 - else: - alfa_b_x = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_x < 0.4: - alfa_b_x = 0.4 - - #excen_min_x = (1.5+0.03*h) - momento_min_x = (nd_pilar *(1.5+0.03*h))/100 - excen_min_x = momento_min_x/nd_pilar - - if md_x_topo < momento_min_x: - md_x_topo = momento_min_x - print('momento topo - mínimo') - alfa_b_x = 1.0 - if md_x_base < momento_min_x: - md_x_base = momento_min_x - print('momento base - mínimo') - alfa_b_x = 1.0 - - compr_efetivo_x = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_x): - compr_efetivo_x = altura_lance*100 - - excen_x_acidental = compr_efetivo_x/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_x_topo,md_x_base,momento_min_x)/nd_pilar)/h - - lambda_pilar_x = 3.46 * (compr_efetivo_x/h) - lambda_pilar_x_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_x - if lambda_pilar_x_limite < 35: - lambda_pilar_x_limite = 35 - - excen_2_x = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_x = nd_pilar * (excen_2_x/100) - - if lambda_pilar_x > lambda_pilar_x_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - md2_x_relativo = nd_pilar * (excen_2/100) - else: - md2_x_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_x_intermediario = alfa_b_x * max(abs(md_x_topo), abs(md_x_base), abs(momento_min_x)) + md2_x_relativo - #msd_x_intermediario = alfa_b_x * abs(momento_min_x) + md2_x_relativo - - mi_x = msd_x_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_x = cobrimento_pilar/h - - - #-Eixo-Y---------------------------------------------------------------------- - h = y_pilar - b = x_pilar - - m_a = max(md_y_topo, md_y_base) - m_b = min(md_y_topo, md_y_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-y': - alfa_b_y = 1.0 - else: - alfa_b_y = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_y < 0.4: - alfa_b_y = 0.4 - - momento_min_y = (nd_pilar *(1.5+0.03*h))/100 - excen_min_y = momento_min_y/nd_pilar - - if md_y_topo < momento_min_y: - md_y_topo = momento_min_y - print('momento topo - mínimo') - alfa_b_y = 1.0 - if md_y_base < momento_min_y: - md_y_base = momento_min_y - print('momento base - mínimo') - alfa_b_y = 1.0 - - compr_efetivo_y = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_y): - compr_efetivo_y = altura_lance*100 - - excen_y_acidental = compr_efetivo_y/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_y_topo,md_y_base,momento_min_y)/nd_pilar)/h - - lambda_pilar_y = 3.46 * (compr_efetivo_y/h) - lambda_pilar_y_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_y - if lambda_pilar_y_limite < 35: - lambda_pilar_y_limite = 35 - - excen_2_y = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_y = nd_pilar * (excen_2_y/100) - - if lambda_pilar_y > lambda_pilar_y_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - md2_y_relativo = nd_pilar * (excen_2/100) - else: - md2_y_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_y_intermediario = alfa_b_y * max(abs(md_y_topo), abs(md_y_base), abs(momento_min_y)) + md2_y_relativo - #msd_y_intermediario = alfa_b_y * abs(momento_min_y) + md2_y_relativo - - mi_y = msd_y_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_y = cobrimento_pilar/h - - - #--------------------------------------------- saida de dados --------------------------------------------- - self.lineEdit_10.setText(str(round(nd_pilar, ndigits=4))) - self.lineEdit_11.setText(str(round(area_secao_pilar, ndigits=4))) - self.lineEdit_12.setText(str(round(v_0, ndigits=4))) - - self.lineEdit_15.setText(str(round(momento_min_x, ndigits=5))) - self.lineEdit_16.setText(str(round(excen_min_x*100, ndigits=5))) - self.lineEdit_17.setText(str(round(lambda_pilar_x, ndigits=5))) - self.lineEdit_18.setText(str(round(lambda_pilar_x_limite, ndigits=5))) - self.lineEdit_19.setText(str(round(excen_2_x, ndigits=5))) - self.lineEdit_20.setText(str(round(md2_x, ndigits=5))) - self.lineEdit_21.setText(str(round(msd_x_intermediario, ndigits=5))) - - self.lineEdit_24.setText(str(round(momento_min_y, ndigits=5))) - self.lineEdit_25.setText(str(round(excen_min_y*100, ndigits=5))) - self.lineEdit_26.setText(str(round(lambda_pilar_y, ndigits=5))) - self.lineEdit_23.setText(str(round(lambda_pilar_y_limite, ndigits=5))) - self.lineEdit_30.setText(str(round(excen_2_y, ndigits=5))) - self.lineEdit_29.setText(str(round(md2_y, ndigits=5))) - self.lineEdit_27.setText(str(round(msd_y_intermediario, ndigits=5))) - - self.lineEdit_31.setText(str(round(mi_x, ndigits=2))) - self.lineEdit_32.setText(str(round(mi_y, ndigits=2))) - self.lineEdit_33.setText(str(round(delta_x, ndigits=2))) - self.lineEdit_34.setText(str(round(delta_y, ndigits=2))) - - global pilares_info - pilares_info = [msd_x_intermediario, msd_y_intermediario, momento_min_x, momento_min_y] - - if md2_x_relativo == 0: - self.label_39.setText('não considera 2º ordem') - else: - self.label_39.setText('considera 2º ordem') - - if md2_y_relativo == 0: - self.label_44.setText('não considera 2º ordem') - else: - self.label_44.setText('considera 2º ordem') - - - if self.tipo_pilar == 'intermediario': - self.label.setText('PILAR INTERMEDIÁRIO') - elif (self.tipo_pilar == 'extremidade-x') or (self.tipo_pilar == 'extremidade-y'): - self.label.setText('PILAR DE EXTREMIDADE') - else: - self.label.setText('PILAR DE CANTO') - - global pilares_info_aco - pilares_info_aco = [mi_x, delta_x, mi_y, delta_y, fck_pilar, area_secao_pilar, nk_pilar] - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def gerar_envoltoria(self): - msd_x_intermediario = pilares_info[0] - msd_y_intermediario = pilares_info[1] - momento_min_x = pilares_info[2] - momento_min_y = pilares_info[3] - - x = [] - y = [] - for i in range(360): - theta = i - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = momento_min_y * seno - - cosseno = math.cos(theta_conv) - cosseno = momento_min_x * cosseno - - x.append(seno) - y.append(cosseno) - - z = [] - w = [] - for j in range(360): - theta = j - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = msd_y_intermediario * seno - - cosseno = math.cos(theta_conv) - cosseno = msd_x_intermediario * cosseno - - z.append(seno) - w.append(cosseno) - - # create plot - '''plt = pg.plot(x, y, title='theTitle', pen='r') - plt.showGrid(x=True,y=True) - ''' - # create plot - plt = pg.plot() - plt.clear() - plt.showGrid(x=True,y=True) - plt.addLegend() - plt.setTitle('Envoltória de Momentos') - - - # set properties - plt.setLabel('left', 'Momentos Y', units='KN.m') - plt.setLabel('bottom', 'Momentos X', units='KN.m') - plt.setXRange(0,10) - plt.setYRange(0,20) - - - plt.enableAutoRange() - plt.setWindowTitle('pyqtgraph plot') - # plot - c1 = plt.plot(x, y, pen='r', name='Envoltória Momentos min') - c2 = plt.plot(z, w, pen='b', name='Envoltória Momentos máx') - - - - def limpar_pilares(self): - print('limpar') - self.comboBox_3.setCurrentIndex(0) - self.comboBox_4.setCurrentIndex(0) - self.comboBox_5.setCurrentIndex(0) - - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('0') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - - self.lineEdit_10.setText('') - self.lineEdit_11.setText('') - self.lineEdit_12.setText('') - self.lineEdit_13.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - self.lineEdit_17.setText('') - self.lineEdit_18.setText('') - self.lineEdit_19.setText('') - self.lineEdit_20.setText('') - self.lineEdit_21.setText('') - self.lineEdit_22.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_25.setText('') - self.lineEdit_26.setText('') - self.lineEdit_27.setText('') - self.lineEdit_28.setText('') - self.lineEdit_29.setText('') - self.lineEdit_30.setText('') - - self.lineEdit_31.setText('') - self.lineEdit_32.setText('') - self.lineEdit_33.setText('') - self.lineEdit_34.setText('') - - - - -class Pilar_area_aco(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('pilares_areas_aco.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Pilares - Áreas de Aço') - self.setFixedSize(484,300) - - self.pushButton_4.setIcon(QtGui.QIcon('./btn_flexaosimples.png')) - self.pushButton_4.setIconSize(QtCore.QSize(50,60)) - self.pushButton_5.setIcon(QtGui.QIcon('./btn_flexaocomposta.png')) - self.pushButton_5.setIconSize(QtCore.QSize(50,60)) - - def load_signals(self): - print('inicializado') - self.pushButton_2.clicked.connect(self.calcular_area_aco) - self.pushButton.clicked.connect(self.recuperar_dados) - self.pushButton_3.clicked.connect(self.limpar) - self.pushButton_4.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_normal)) - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(abaco_obliqua)) - - def recuperar_dados(self): - self.lineEdit_2.setText(str(round(pilares_info_aco[0], ndigits=2))) - self.lineEdit_3.setText(str(round(pilares_info_aco[1], ndigits=2))) - self.lineEdit_5.setText(str(round(pilares_info_aco[2], ndigits=2))) - self.lineEdit_6.setText(str(round(pilares_info_aco[3], ndigits=2))) - self.lineEdit_12.setText(str(round(pilares_info_aco[4], ndigits=2))) - self.lineEdit_13.setText(str(round(pilares_info_aco[5], ndigits=2))) - self.lineEdit_14.setText(str(round(pilares_info_aco[6], ndigits=2))) - - def calcular_area_aco(self): - fck = float(self.lineEdit_12.text()) - fcd = fck/1.4 - fyd = 500/1.15 - area_concreto = float(self.lineEdit_13.text()) - nk = float(self.lineEdit_14.text()) - nd = 1.4 * nk - - mi_x = float(self.lineEdit_2.text()) - delta_x = float(self.lineEdit_3.text()) - - mi_y = float(self.lineEdit_5.text()) - delta_y = float(self.lineEdit_6.text()) - - omega_x = float(self.lineEdit_4.text()) - omega_y = float(self.lineEdit_7.text()) - - as_x = (omega_x * (area_concreto*1000000) * fcd)/fyd - as_y = (omega_y * (area_concreto*1000000) * fcd)/fyd - - as_x = round(as_x, ndigits=3) - as_y = round(as_y, ndigits=3) - - as_pilar_min = 0.15 * (nd/fyd) - if as_pilar_min < (0.004*area_concreto*100000): - as_pilar_min = round((0.004*area_concreto*100000), ndigits=3) - - as_pilar_max = round((0.08*area_concreto*1000000), ndigits=3) - - #-------------------------------------- saída de dados ---------------------------------------------------- - self.lineEdit_8.setText(str(as_x)) - self.lineEdit_9.setText(str(as_y)) - self.lineEdit_10.setText(str(as_pilar_max)) - self.lineEdit_11.setText(str(as_pilar_min)) - - def teste(self): - print('teste') - - def limpar(self): - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('1') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('1') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - - - -class Lajes(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('lajes_alt.ui',self) - - self.lado1 = 'livre' - self.lado2 = 'livre' - self.lado3 = 'livre' - self.lado4 = 'livre' - self.label_37.hide() - self.label_38.hide() - self.label_40.hide() - self.label_41.hide() - global caso - caso = '1' - global lx_lage - lx_lage = 'l_menor' - self.lineEdit.setReadOnly(True) - - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Lajes') - self.setFixedSize(1245,587) - - - def load_signals(self): - print('lajes iniciado') - self.pushButton.clicked.connect(self.estado_l1) - self.pushButton_2.clicked.connect(self.estado_l2) - self.pushButton_3.clicked.connect(self.estado_l3) - self.pushButton_4.clicked.connect(self.estado_l4) - self.pushButton.clicked.connect(self.situacao_laje) - self.pushButton_2.clicked.connect(self.situacao_laje) - self.pushButton_3.clicked.connect(self.situacao_laje) - self.pushButton_4.clicked.connect(self.situacao_laje) - - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(tabela_marcus)) - self.pushButton_6.clicked.connect(self.calcular_laje) - self.pushButton_7.clicked.connect(self.limpar_lajes) - - self.toolButton.clicked.connect(self.revelar_carg_acidental) - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - def teste(self): - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - def revelar_carg_acidental(self): - print('oi--') - carga_adicional.show() - - def estado_l1(self): - if self.lado1 == 'livre': - self.lado1 = 'engastado' - pixmap = QPixmap('./engv.png') - self.pushButton.setIcon(QIcon(pixmap)) - else: - self.lado1 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - def estado_l2(self): - if self.lado2 == 'livre': - self.lado2 = 'engastado' - pixmap = QPixmap('./engh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - else: - self.lado2 = 'livre' - pixmap = QPixmap('./livh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - - def estado_l3(self): - if self.lado3 == 'livre': - self.lado3 = 'engastado' - pixmap = QPixmap('./engh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - else: - self.lado3 = 'livre' - pixmap = QPixmap('./livh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - - def estado_l4(self): - if self.lado4 == 'livre': - self.lado4 = 'engastado' - pixmap = QPixmap('./engv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - else: - self.lado4 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - def situacao_laje(self): - l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - l4 = self.lado4 - - cota_v1 = self.label_37 - cota_v2 = self.label_40 - cota_h1 = self.label_38 - cota_h2 = self.label_41 - - if (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre'): - global caso - caso = '1' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - global lx_lage - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '2' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') : - caso = '2' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') or (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado'): - caso = '3' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '4' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '4' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado'): - caso = '5' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '5' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado'): - caso = '6' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - else: - caso='ainda não existe, não sei como você chegou até aqui srsrrsrsrsrsrs' - - - print(caso) - self.lineEdit_6.setText(str(caso)) - - def calcular_laje(self): - lado_maior = float(self.lineEdit_3.text()) - lado_menor = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - - self.lineEdit_7.setText('') - self.lineEdit_9.setText('') - self.lineEdit_8.setText('') - self.lineEdit_10.setText('') - self.lineEdit_16.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - - if lado_maior != 0 and lado_menor != 0 and espes != 0 and d != 0: - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - carreg_adicional = float(self.lineEdit_2.text()) - #fck_laje = float(self.comboBox.currentText()) - #fcd_laje = fck_laje/1.4 - #fyk_laje = float(self.comboBox_2.currentText()) - #fyd_laje = fyk_laje/1.15 - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - carreg_total = pp + carreg_adicional - #print(caso) - #print(lx_lage) - #---------------------------------- cálculo do Lx baseado no caso do tipo de situação da laje ----------------- - global lx - global lambda_laje - if lx_lage == 'l_menor': - lx = lado2 - lambda_laje = round((lado1/lado2),ndigits=2) - elif lx_lage == 'l_maior': - lx = lado1 - lambda_laje = round((lado2/lado1),ndigits=2) - print(lx_lage) - - - #---------------------------------- definição se a laje é unidirecional ou bidirecional baseado no lambda ----------------- - global tipo_laje - if float(lambda_laje) > 2.001: - tipo_laje = 'UNIDIRECIONAL' - self.laje_unidirecional(carreg_total) - else: - tipo_laje = 'BIDIRECIONAL' - #self.label_43.setStyleSheet("Background: url('laje_unidirecional_modelo.png') no-repeat") - - mx = my = nx = ny = '' - - if caso == '1': - caso1 = marcus.caso1 - linhas = len(caso1) - colunas = len(caso1[0]) - - for i in range(linhas): - aux = caso1[i][0] - if lambda_laje == aux: - print(caso1[i]) - mx = caso1[i][2] - my = caso1[i][3] - - print('mx: ',mx) - print('my: ',my) - - if caso == '2': - caso2 = marcus.caso2 - linhas = len(caso2) - colunas = len(caso2[0]) - - for i in range(linhas): - aux = caso2[i][0] - if lambda_laje == aux: - print(caso2[i]) - mx = caso2[i][2] - nx = caso2[i][3] - my = caso2[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '3': - caso3 = marcus.caso3 - linhas = len(caso3) - colunas = len(caso3[0]) - - for i in range(linhas): - aux = caso3[i][0] - if lambda_laje == aux: - print(caso3[i]) - mx = caso3[i][2] - nx = caso3[i][3] - my = caso3[i][4] - ny = caso3[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '4': - caso4 = marcus.caso4 - linhas = len(caso4) - colunas = len(caso4[0]) - - for i in range(linhas): - aux = caso4[i][0] - if lambda_laje == aux: - print(caso4[i]) - mx = caso4[i][2] - nx = caso4[i][3] - my = caso4[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '5': - caso5 = marcus.caso5 - linhas = len(caso5) - colunas = len(caso5[0]) - - for i in range(linhas): - aux = caso5[i][0] - if lambda_laje == aux: - print(caso5[i]) - mx = caso5[i][2] - nx = caso5[i][3] - my = caso5[i][4] - ny = caso5[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '6': - caso6 = marcus.caso6 - linhas = len(caso6) - colunas = len(caso6[0]) - - for i in range(linhas): - aux = caso6[i][0] - if lambda_laje == aux: - print(caso6[i]) - mx = caso6[i][2] - nx = caso6[i][3] - my = caso6[i][4] - ny = caso6[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - print(lx) - if mx != '': - self.lineEdit_7.setText(str(mx)) - momento_pos_x = ((carreg_total * (lx**2))/mx) - momento_pos_x = round(momento_pos_x,ndigits=4) - - - self.lineEdit_13.setText(str(momento_pos_x)) - #else: - # self.lineEdit_13.setText('0') - if nx != '': - self.lineEdit_9.setText(str(nx)) - momento_neg_x = round(((carreg_total * (lx**2))/nx),ndigits=4) - self.lineEdit_14.setText(str(momento_neg_x)) - #momento_neg_x = round(momento_neg_x,ndigits=2) - #else: - # self.lineEdit_14.setText('0') - if my != '': - self.lineEdit_8.setText(str(my)) - momento_pos_y = ((carreg_total * (lx**2))/my) - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - #else: - # self.lineEdit_15.setText('0') - if ny != '': - self.lineEdit_10.setText(str(ny)) - momento_neg_y = round(((carreg_total * (lx**2))/ny),ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - #momento_neg_y = round(momento_neg_y,ndigits=2) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def laje_unidirecional(self,carreg_total): - - self.lado1 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - self.lado4 = 'livre' - pixmap = QPixmap('./livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - print('unidirecional') - #l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - #l4 = self.lado4 - l1 = l4 = 'livre' - print(carreg_total) - if (l2 == 'livre' and l3 == 'livre'): - self.label_43.setStyleSheet("Background: url('./laje_unidirecional_ll2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/8 - momento_neg_y = 0 - elif (l2 == 'engastado' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('./laje_unidirecional_ee2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/24 - momento_neg_y = (carreg_total * (lx**2))/12 - elif (l2 == 'engastado' and l3 == 'livre') or (l2 == 'livre' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('./laje_unidirecional_le2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/14.2 - momento_neg_y = (carreg_total * (lx**2))/8 - - print('momento_pos_y: ',momento_pos_y) - print('momento_neg_y: ',momento_neg_y) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - momento_neg_y = round(momento_neg_y,ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def resultados_laje(self): - fck_laje = float(self.comboBox.currentText()) - fcd_laje = fck_laje/1.4 - fyk_laje = float(self.comboBox_2.currentText()) - fyd_laje = fyk_laje/1.15 - espes = float(self.lineEdit_5.text()) - - area_concreto_laje = round(((espes/100)*1000000),ndigits=4) - - ro_armad_minima = 0 - if fck_laje == 20: - ro_armad_minima = 0.15/100 - elif fck_laje == 25: - ro_armad_minima = 0.15/100 - elif fck_laje == 30: - ro_armad_minima = 0.15/100 - elif fck_laje == 35: - ro_armad_minima = 0.164/100 - elif fck_laje == 40: - ro_armad_minima = 0.179/100 - - armad_max_laje = (0.4/100)*area_concreto_laje - armad_neg_min = ro_armad_minima*area_concreto_laje - armad_pos_cruz = round(0.67*(ro_armad_minima*area_concreto_laje), ndigits=2) - armad_princ_unid = ro_armad_minima*area_concreto_laje - armad_secnd_unid = max((0.2*armad_princ_unid), (90), (0.5*(ro_armad_minima*area_concreto_laje))) - - - mx = self.lineEdit_13.text() - if mx == '': - self.lineEdit_13.setText('0') - - my = self.lineEdit_15.text() - if my == '': - self.lineEdit_15.setText('0') - - nx = self.lineEdit_14.text() - if nx == '': - self.lineEdit_14.setText('0') - - ny = self.lineEdit_16.text() - if ny == '': - self.lineEdit_16.setText('0') - - fck_laje = float(self.comboBox.currentText()) - fyk_laje = float(self.comboBox_2.currentText()) - fcd_laje = fck_laje* 1000000/1.4 - fyd_laje = fyk_laje* 1000000/1.15 - d_laje = float(self.lineEdit_27.text()) - espes = float(self.lineEdit_5.text()) - - #------------------------------------------enxerto----------------------- - - mx = float(self.lineEdit_13.text()) - my = float(self.lineEdit_15.text()) - nx = float(self.lineEdit_14.text()) - ny = float(self.lineEdit_16.text()) - #print('mx: ',mx) - #print('nx: ',nx) - #print('my: ',my) - #print('ny: ',ny) - mk_x = mx - mk_y = my - - nk_x = nx - nk_y = ny - - - md_x = round(1.4 * mk_x, ndigits = 4) - kmd_x_laje = (md_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje = (1 - math.sqrt(1 - 2*kmd_x_laje))/0.8 - kz_x_laje = 1 - 0.4 * kx_x_laje - - as_x_laje = (md_x * 1000/ (kz_x_laje * (d_laje/100) * fyd_laje))*1000000 - - print('md_x: ', md_x) - print('kmd_x_laje: ', kmd_x_laje) - print('kx_x_laje: ', kx_x_laje) - print('kz_x_laje: ', kz_x_laje) - print('as_x_laje: ', as_x_laje) - - md_y = round(1.4 * mk_y, ndigits = 4) - kmd_y_laje = (md_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje = (1 - math.sqrt(1 - 2*kmd_y_laje))/0.8 - kz_y_laje = 1 - 0.4 * kx_y_laje - - as_y_laje = (md_y * 1000/ (kz_y_laje * (d_laje/100) * fyd_laje))*1000000 - - print('md_y: ', md_y) - print('kmd_y_laje: ', kmd_y_laje) - print('kx_y_laje: ', kx_y_laje) - print('kz_y_laje: ', kz_y_laje) - print('as_y_laje: ', as_y_laje) - - - nd_x = round(1.4 * nk_x, ndigits = 4) - kmd_x_laje_n = (nd_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje_n = (1 - math.sqrt(1 - 2*kmd_x_laje_n))/0.8 - kz_x_laje_n = 1 - 0.4 * kx_x_laje_n - - as_x_laje_n = (nd_x * 1000/ (kz_x_laje_n * (d_laje/100) * fyd_laje))*1000000 - - - nd_y = round(1.4 * nk_y, ndigits = 4) - kmd_y_laje_n = (nd_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje_n = (1 - math.sqrt(1 - 2*kmd_y_laje_n))/0.8 - kz_y_laje_n = 1 - 0.4 * kx_y_laje_n - - as_y_laje_n = (nd_x * 1000/ (kz_y_laje_n * (d_laje/100) * fyd_laje))*1000000 - - #------------------------------------------ saida de dados ------------------------------------ - kmd_x_laje = self.truncar(kmd_x_laje) - kx_x_laje = self.truncar(kx_x_laje) - kz_x_laje = self.truncar(kz_x_laje) - as_x_laje = self.truncar(as_x_laje) - - kmd_y_laje = self.truncar(kmd_y_laje) - kx_y_laje = self.truncar(kx_y_laje) - kz_y_laje = self.truncar(kz_y_laje) - as_y_laje = self.truncar(as_y_laje) - - - self.lineEdit_17.setText(str(md_x)) - self.lineEdit_18.setText(str(kmd_x_laje)) - self.lineEdit_19.setText(str(kx_x_laje)) - self.lineEdit_20.setText(str(kz_x_laje)) - self.lineEdit_21.setText(str(as_x_laje)) - - self.lineEdit_22.setText(str(md_y)) - self.lineEdit_24.setText(str(kmd_y_laje)) - self.lineEdit_25.setText(str(kx_y_laje)) - self.lineEdit_26.setText(str(kz_y_laje)) - self.lineEdit_23.setText(str(as_y_laje)) - - - self.lineEdit_38.setText(str(area_concreto_laje)) - self.lineEdit_39.setText(str(ro_armad_minima*100)) - self.lineEdit_42.setText(str(armad_max_laje)) - self.lineEdit_40.setText(str(armad_neg_min)) - self.lineEdit_41.setText(str(armad_pos_cruz)) - self.lineEdit_43.setText(str(armad_princ_unid)) - self.lineEdit_44.setText(str(armad_secnd_unid)) - - if tipo_laje == 'UNIDIRECIONAL': - self.label_44.setText('Distribuição') - if float(as_y_laje) < armad_princ_unid: - self.label_45.setText('Mínima') - else: - self.label_45.setText('') - - if tipo_laje == 'BIDIRECIONAL': - if float(as_x_laje) < armad_pos_cruz: - self.label_44.setText('Mínima') - else: - self.label_44.setText('') - - if float(as_y_laje) < armad_pos_cruz: - self.label_45.setText('Mínima') - else: - self.label_45.setText('') - - def limpar_lajes(self): - self.comboBox.setCurrentIndex(0) - self.comboBox_2.setCurrentIndex(0) - - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - self.lineEdit_27.setText('0') - - self.lineEdit_7.setText('') - self.lineEdit_8.setText('') - self.lineEdit_9.setText('') - self.lineEdit_10.setText('') - - self.lineEdit_11.setText('') - self.lineEdit_12.setText('') - self.lineEdit_38.setText('') - self.lineEdit_39.setText('') - self.lineEdit_42.setText('') - self.lineEdit_40.setText('') - self.lineEdit_41.setText('') - self.lineEdit_43.setText('') - self.lineEdit_44.setText('') - - self.lineEdit_13.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - - self.lineEdit_16.setText('') - self.lineEdit_17.setText('') - self.lineEdit_18.setText('') - self.lineEdit_19.setText('') - self.lineEdit_20.setText('') - self.lineEdit_21.setText('') - self.lineEdit_22.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_25.setText('') - self.lineEdit_26.setText('') - - - -class Carga_Adicional(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - - self.ui = loadUi('lajes_carg_adicional.ui',self) - - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - self.tableWidget.resizeRowsToContents() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Cargas Adicionais') - self.setFixedSize(649,504) - - - -class Sapatas(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('sapatas_alt.ui',self) - self.load_signals() - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Sapatas') - self.setFixedSize(946,574) - - def load_signals(self): - print('sapatas carregado') - self.pushButton_6.clicked.connect(self.calcular_sapata) - self.pushButton_7.clicked.connect(self.limpar_sapatas) - self.pushButton.clicked.connect(self.gerar_dim_sapata) - - def arredondar_cinco(self, numero): - numero = round(numero, ndigits=2) - numero = 100*numero - resto = numero%5 - while resto != 0: - numero += 1 - resto = numero%5 - print('numero:',numero,' - resto: ',resto) - - numero = numero/100 - return numero - - def calcular_sapata(self): - - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - - base_y_sapata = float(self.lineEdit_10.text()) - base_x_sapata = float(self.lineEdit_9.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - y_sapata = float(self.lineEdit_9.text()) - x_sapata = float(self.lineEdit_10.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - if (nk != 0 and x_pilar != 0 and y_pilar != 0 and tensao_adm_solo != 0 and fator_solo != 0 and base_y_sapata != 0 and base_x_sapata != 0 and h_total != 0 and h_0 != 0): - if (x_sapata < 0.6 or y_sapata < 0.6): - QMessageBox.about(self, "Erro de Entrada", "As sapatas não podem apresentar lados menores de 60 cm, conforme a NBR 6122") - else: - fck_sapata = float(self.comboBox.currentText()) - fcd_sapata = fck_sapata / 1.4 - fyk_sapata = float(self.comboBox_2.currentText()) - fyd_sapata = fyk_sapata / 1.15 - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - angulo_dissp_sapata = float(self.spinBox.value()) - - angulo_dissp_sapata = (angulo_dissp_sapata / 180)* 3.14 - - x_pilar = float(self.lineEdit.text())/100 - y_pilar = float(self.lineEdit_2.text())/100 - - y_sapata = float(self.lineEdit_9.text()) - x_sapata = float(self.lineEdit_10.text()) - h_total = float(self.lineEdit_11.text()) - h_0 = float(self.lineEdit_12.text()) - - if (momento_x_sapata != 0 and momento_y_sapata == 0) or (momento_x_sapata == 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.05 - elif (momento_x_sapata != 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.103 - else: - fator_acrescimo_dimensoes = 1.0 - - x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) - y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) - - wx = x_sapata * (y_sapata**2)/6 - wy = y_sapata * (x_sapata**2)/6 - - mw_x = (momento_x_sapata/wx)*1000 - mw_y = (momento_y_sapata/wy)*1000 - - tensao_sapata = (fator_solo*nk*1000)/(x_sapata*y_sapata) - tensao_max_sapata = tensao_sapata + mw_x + mw_y - tensao_min_sapata = tensao_sapata - mw_x - mw_y - - nk_equiv = (x_sapata * y_sapata * tensao_max_sapata)/fator_solo - area_sapata = round(fator_solo * ((nk*1000)/(tensao_adm_solo*1000000)),ndigits=6) - - ca_sapata = (x_sapata - x_pilar)/2 - cb_sapata = (y_sapata - y_pilar)/2 - h_rig_x = 2/3 * ca_sapata - h_rig_y = 2/3 * cb_sapata - - h_mincis = (1.4 * nk_equiv)/(2*(x_pilar+y_pilar)*0.27*(1-(fck_sapata/250))*(fcd_sapata*1000000)) - if h_mincis < 0.40: - h_mincis = 0.40 - if h_total < h_mincis: - h_total = h_mincis - - braco_alavanca_sapata = h_total - 0.05 - - h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) - h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) - - #h0 = round(h0a, ndigits=2) - #if h0a < h0b: - # h0 = round(h0b, ndigits=2) - - volume_concreto_sapata = (h_total-h_0)/(3*(x_sapata*y_sapata+x_pilar*y_pilar+math.sqrt(x_sapata*y_sapata*x_pilar*y_pilar))+x_sapata*y_sapata*h_0) - - tracao_x_sapata = 1.1 * nk_equiv * (x_sapata - x_pilar)/(8 * braco_alavanca_sapata) - tracao_y_sapata = 1.1 * nk_equiv * (y_sapata - y_pilar)/(8 * braco_alavanca_sapata) - as_x_sapata = (1.4 * tracao_x_sapata)/(fyd_sapata) - as_y_sapata = (1.4 * tracao_y_sapata)/fyd_sapata - - taxa_aco_sapata = (0.078 * (fck_sapata)**(2/3))/fyd_sapata - - if taxa_aco_sapata <= 0.0015: - taxa_aco_sapata = 0.0015 - - as_x_min_laje = 0.67 * taxa_aco_sapata * h_mincis * x_sapata - as_y_min_laje = 0.67 * taxa_aco_sapata * h_mincis * y_sapata - - print('x_sapata: ',x_sapata) - print('y_sapata: ',y_sapata) - - print('wx: ',wx) - print('wy: ',wy) - print('mw_x: ',mw_x) - print('mw_y: ',mw_y) - print('tensao_max_sapata: ',tensao_max_sapata) - print('tensao_min_sapata: ',tensao_min_sapata) - print('nk_equiv: ',nk_equiv) - print('ca_sapata: ',ca_sapata) - print('cb_sapata: ',cb_sapata) - print('h0a: ',h0a) - print('h0b: ',h0b) - print('h_mincis: ',h_mincis) - #print('h0: ',h0) - print('h_total',h_total) - print('-------------------------------------\n') - - #-------------------------------------- saida dos dados -------------------------------------------------- - self.lineEdit_11.setText(str(h_total)) - #self.lineEdit_12.setText(str(h0)) - - self.lineEdit_15.setText(str(area_sapata)) - self.lineEdit_16.setText(str(round(wx, ndigits=6))) - self.lineEdit_17.setText(str(round(wy, ndigits=6))) - self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) - self.lineEdit_19.setText(str(round(tensao_max_sapata/1000000, ndigits=4))) - self.lineEdit_20.setText(str(round(tensao_min_sapata/1000000, ndigits=4))) - self.lineEdit_21.setText(str(round(ca_sapata*100, ndigits=4))) - self.lineEdit_22.setText(str(round(cb_sapata*100, ndigits=4))) - - self.lineEdit_23.setText(str(round(h_rig_x*100, ndigits=4))) - self.lineEdit_24.setText(str(round(h_rig_y*100, ndigits=4))) - self.lineEdit_25.setText(str(round(h_mincis*100, ndigits=4))) - self.lineEdit_26.setText(str(round(h0a*100, ndigits=4))) - self.lineEdit_28.setText(str(round(h0b*100, ndigits=4))) - self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) - - self.lineEdit_14.setText(str(round(tracao_x_sapata/1000, ndigits=4))) - self.lineEdit_29.setText(str(round(tracao_y_sapata/1000, ndigits=4))) - self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) - self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) - - self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) - self.lineEdit_33.setText(str(round(as_x_min_laje*1000000, ndigits=4))) - self.lineEdit_34.setText(str(round(as_y_min_laje*1000000, ndigits=4))) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - - def gerar_dim_sapata(self): - - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - x_pilar = float(self.lineEdit.text()) - y_pilar = float(self.lineEdit_2.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - - - if (nk != 0 and x_pilar != 0 and y_pilar != 0 and tensao_adm_solo != 0 and fator_solo != 0): - - fck_sapata = float(self.comboBox.currentText()) - fcd_sapata = fck_sapata / 1.4 - fyk_sapata = float(self.comboBox_2.currentText()) - fyd_sapata = fyk_sapata / 1.15 - nk = float(self.lineEdit_3.text()) - momento_x_sapata = float(self.lineEdit_4.text()) - momento_y_sapata = float(self.lineEdit_5.text()) - tensao_adm_solo = float(self.lineEdit_35.text()) - fator_solo = float(self.lineEdit_13.text()) - angulo_dissp_sapata = float(self.spinBox.value()) - - angulo_dissp_sapata = (angulo_dissp_sapata / 180)* 3.14 - - x_pilar = float(self.lineEdit.text())/100 - y_pilar = float(self.lineEdit_2.text())/100 - - area_sapata = round(fator_solo * ((nk*1000)/(tensao_adm_solo*1000000)),ndigits=6) - - y_sapata = 0.5*(y_pilar - x_pilar) + math.sqrt(0.25*((y_pilar - x_pilar)**2)+area_sapata) - - x_sapata = area_sapata/y_sapata - - if (momento_x_sapata != 0 and momento_y_sapata == 0) or (momento_x_sapata == 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.05 - elif (momento_x_sapata != 0 and momento_y_sapata != 0): - fator_acrescimo_dimensoes = 1.103 - else: - fator_acrescimo_dimensoes = 1.0 - - x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) - y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) - - if x_sapata < 0.6: - x_sapata = 0.6 - if y_sapata < 0.6: - y_sapata = 0.6 - print(x_sapata,'<--------------------------------------------------') - wx = x_sapata * (y_sapata**2)/6 - wy = y_sapata * (x_sapata**2)/6 - - mw_x = (momento_x_sapata/wx)*1000 - mw_y = (momento_y_sapata/wy)*1000 - - tensao_sapata = (fator_solo*nk*1000)/(x_sapata*y_sapata) - tensao_max_sapata = tensao_sapata + mw_x + mw_y - tensao_min_sapata = tensao_sapata - mw_x - mw_y - - x_sapata = self.arredondar_cinco(x_sapata) - y_sapata = self.arredondar_cinco(y_sapata) - if x_sapata < 0.6: - x_sapata = 0.6 - if y_sapata < 0.6: - y_sapata = 0.6 - - nk_equiv = (x_sapata * y_sapata * tensao_max_sapata)/fator_solo - - ca_sapata = (x_sapata - x_pilar)/2 - cb_sapata = (y_sapata - y_pilar)/2 - h_rig_x = 2/3 * ca_sapata - h_rig_y = 2/3 * cb_sapata - - h_total = h_rig_x - if h_total < h_rig_y: - h_total = h_rig_y - - h_mincis = (1.4 * nk_equiv)/(2*(x_pilar+y_pilar)*0.27*(1-(fck_sapata/250))*(fcd_sapata*1000000)) - if h_mincis < 0.40: - h_mincis = 0.40 - h_mincis = round(h_mincis, ndigits=4) - - if h_total < h_mincis: - h_total = h_mincis - - h_total = self.arredondar_cinco(h_total) - - h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) - h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) - h0_prerrogativo = h_total/3 - tangente_angulo = math.tan(angulo_dissp_sapata) - h0 = round(h0a, ndigits=2) - if h0a < h0b: - h0 = round(h0b, ndigits=2) - elif h0b < h0_prerrogativo: - h0 = h0_prerrogativo - if h0 < 0.25: - h0 = 0.25 - h0 = self.arredondar_cinco(h0) - - volume_concreto_sapata = ((h_total-h0)/3*(x_sapata*y_sapata+x_pilar*y_pilar+math.sqrt(x_sapata*y_sapata*x_pilar*y_pilar)))+(x_sapata*y_sapata*h0) - - braco_alavanca_sapata = h_total - 0.05 - - tracao_x_sapata = 1.1 * nk_equiv * (x_sapata - x_pilar)/(8 * braco_alavanca_sapata) - tracao_y_sapata = 1.1 * nk_equiv * (y_sapata - y_pilar)/(8 * braco_alavanca_sapata) - as_x_sapata = (1.4 * tracao_x_sapata)/(fyd_sapata) - as_y_sapata = (1.4 * tracao_y_sapata)/fyd_sapata - - taxa_aco_sapata = (0.078 * (fck_sapata)**(2/3))/fyd_sapata - - if taxa_aco_sapata <= 0.0015: - taxa_aco_sapata = 0.0015 - - as_x_min_laje = 0.67 * taxa_aco_sapata * h_total * x_sapata - as_y_min_laje = 0.67 * taxa_aco_sapata * h_total * y_sapata - - print('x_sapata: ',x_sapata) - print('y_sapata: ',y_sapata) - - print('wx: ',wx) - print('wy: ',wy) - print('mw_x: ',mw_x) - print('mw_y: ',mw_y) - print('tensao_max_sapata: ',tensao_max_sapata) - print('tensao_min_sapata: ',tensao_min_sapata) - print('nk_equiv: ',nk_equiv) - print('ca_sapata: ',ca_sapata) - print('cb_sapata: ',cb_sapata) - print('h0a: ',h0a) - print('h0b: ',h0b) - print('h_mincis: ',h_mincis) - print('h0: ',h0) - print('tangente_angulo: ',tangente_angulo) - print('----------') - print('h_total: ',h_total) - print('tracao_x_sapata: ',tracao_x_sapata) - print('tracao_y_sapata: ',tracao_y_sapata) - print('as_x_sapata: ',as_x_sapata) - print('as_y_sapata: ',as_y_sapata) - print('taxa_aco_sapata: ',taxa_aco_sapata) - print('as_x_min_laje: ',as_x_min_laje) - print('as_y_min_laje: ',as_y_min_laje) - print('-------------------------------------\n') - #------------------------------ saida de dados --------------------------------------------- - self.lineEdit_9.setText(str(y_sapata)) - self.lineEdit_10.setText(str(x_sapata)) - self.lineEdit_15.setText(str(area_sapata)) - - self.lineEdit_11.setText(str(round(h_total, ndigits=4))) - self.lineEdit_12.setText(str(round(h0, ndigits=4))) - - - self.lineEdit_15.setText(str(area_sapata)) - self.lineEdit_16.setText(str(round(wx, ndigits=6))) - self.lineEdit_17.setText(str(round(wy, ndigits=6))) - self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) - self.lineEdit_19.setText(str(round(tensao_max_sapata/1000000, ndigits=4))) - self.lineEdit_20.setText(str(round(tensao_min_sapata/1000000, ndigits=4))) - self.lineEdit_21.setText(str(round(ca_sapata*100, ndigits=4))) - self.lineEdit_22.setText(str(round(cb_sapata*100, ndigits=4))) - - self.lineEdit_23.setText(str(round(h_rig_x*100, ndigits=4))) - self.lineEdit_24.setText(str(round(h_rig_y*100, ndigits=4))) - self.lineEdit_25.setText(str(round(h_mincis*100, ndigits=4))) - self.lineEdit_26.setText(str(round(h0a*100, ndigits=4))) - self.lineEdit_28.setText(str(round(h0b*100, ndigits=4))) - self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) - - self.lineEdit_14.setText(str(round(tracao_x_sapata/1000, ndigits=4))) - self.lineEdit_29.setText(str(round(tracao_y_sapata/1000, ndigits=4))) - self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) - self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) - - self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) - self.lineEdit_33.setText(str(round(as_x_min_laje*1000000, ndigits=4))) - self.lineEdit_34.setText(str(round(as_y_min_laje*1000000, ndigits=4))) - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def limpar_sapatas(self): - self.comboBox.setCurrentIndex(0) - self.comboBox_2.setCurrentIndex(0) - - self.lineEdit.setText('0') - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('0') - self.lineEdit_5.setText('0') - - self.lineEdit_35.setText('0') - self.lineEdit_13.setText('1.1') - self.spinBox.setValue(30) - - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - self.lineEdit_17.setText('') - self.lineEdit_18.setText('') - self.lineEdit_19.setText('') - self.lineEdit_20.setText('') - self.lineEdit_21.setText('') - self.lineEdit_22.setText('') - self.lineEdit_23.setText('') - self.lineEdit_24.setText('') - self.lineEdit_25.setText('') - self.lineEdit_26.setText('') - self.lineEdit_27.setText('') - self.lineEdit_28.setText('') - - self.lineEdit_14.setText('') - self.lineEdit_29.setText('') - self.lineEdit_30.setText('') - self.lineEdit_31.setText('') - self.lineEdit_32.setText('') - self.lineEdit_33.setText('') - self.lineEdit_34.setText('') - -#---------------------------------------------- Janelas Adicionais ---------------------------------------------------- - - -class Tabela_Classe_Agressividade(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('class_agres.ui',self) - - #scriptDir = os.path.dirname(os.path.realpath(__file__)) - #self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) - self.setWindowIcon(QtGui.QIcon('./logo.ico')) - - self.setWindowTitle('Navier - Classes de Agressividade e Cobrimentos Mínimos') - self.setFixedSize(579, 520) - - def load_signals(self): - print('inicializado') - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - - self.tableWidget.setSpan(0, 0, 1, 4) - - header_2 = self.tableWidget_2.horizontalHeader() - header_2.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(3, QtWidgets.QHeaderView.ResizeToContents) - - self.tableWidget_2.setSpan(0, 0, 2, 1) - self.tableWidget_2.setSpan(0, 1, 2, 1) - self.tableWidget_2.setSpan(0, 3, 2, 1) - - self.tableWidget_2.setSpan(3, 0, 2, 1) - self.tableWidget_2.setSpan(3, 1, 2, 1) - self.tableWidget_2.setSpan(3, 3, 2, 1) - - self.tableWidget_2.setSpan(5, 0, 2, 1) - self.tableWidget_2.setSpan(5, 1, 2, 1) - self.tableWidget_2.setSpan(5, 3, 2, 1) - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - inicio = Inicio() - vigas = Vigas() - detalhar_vigas = Detalhar_viga() - pilares = Pilares() - pilares_areas_aco = Pilar_area_aco() - #pilares.show() - #vigas.show() - lajes = Lajes() - #lajes.show() - sapatas = Sapatas() - #sapatas.show() - carga_adicional = Carga_Adicional() - tabela_classe_agressividade = Tabela_Classe_Agressividade() - tabela_bitolas = Tabela_Bitolas() - - app.exec_() \ No newline at end of file diff --git a/inicio.ui b/inicio.ui deleted file mode 100644 index 7ad2e69..0000000 --- a/inicio.ui +++ /dev/null @@ -1,1274 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 567 - 500 - - - - MainWindow - - - - - - - 0 - - - - Navier - Início - - - - - 215 - 60 - 261 - 41 - - - - QFrame::NoFrame - - - QFrame::Sunken - - - QAbstractScrollArea::AdjustToContents - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de peças em Concreto Armado (Vigas, Lajes, Fundações) segundo a NBR 6118/14.</p></body></html> - - - - - - 260 - 20 - 141 - 51 - - - - - - - navier_logo_mini.png - - - - - - -10 - -8 - 171 - 431 - - - - - - - - - - 410 - 40 - 71 - 31 - - - - <html><head/><body><p><span style=" font-style:italic;">- v.beta 0.1</span></p></body></html> - - - Qt::RichText - - - - - - 180 - 130 - 361 - 271 - - - - Elementos Estruturais - - - - - 10 - 20 - 341 - 60 - - - - Vigas - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 20 - 241 - 21 - - - - Vigas Simples e Duplamente Armada - - - - - - - 10 - 140 - 341 - 61 - - - - Lajes - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 20 - 241 - 21 - - - - Lajes Maciças Unidirecionais e Bidirecionais - - - - - - 200 - 60 - 351 - 61 - - - - Vigas - - - - - 280 - 10 - 61 - 41 - - - - VIGAS - - - - - - 20 - 20 - 241 - 21 - - - - Simples e Dupla Armação, Tê - - - - - - - - 10 - 200 - 341 - 61 - - - - Fundação - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 20 - 241 - 21 - - - - Sapatas Isoladas Excêntricas - - - - - - 200 - 60 - 351 - 61 - - - - Vigas - - - - - 280 - 10 - 61 - 41 - - - - VIGAS - - - - - - 20 - 20 - 241 - 21 - - - - Simples e Dupla Armação, Tê - - - - - - - - 10 - 80 - 341 - 61 - - - - Pilares - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 16 - 251 - 31 - - - - <html><head/><body><p>Pilares Intermediários, de Extremidade e Canto</p></body></html> - - - Qt::RichText - - - - - - 200 - 60 - 351 - 61 - - - - Vigas - - - - - 280 - 10 - 61 - 41 - - - - VIGAS - - - - - - 20 - 20 - 241 - 21 - - - - Simples e Dupla Armação, Tê - - - - - - - - - 10 - 80 - 141 - 141 - - - - - - - navier_logo.png - - - false - - - - - - 20 - 330 - 131 - 51 - - - - - - - nassau_logo.png - - - true - - - - - - Descrição - - - - - -10 - -1 - 91 - 421 - - - - - - - - - - 100 - 80 - 451 - 291 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">O Software</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Este programa permite realizar cálculos de Vigas, Pilares, Lajes e Sapatas de concreto armado em alguns casos espefícicos. Os cálculos envolvidos são estabelecidos para as situações críticas das peças no ELU (estado limite último), obedecendo os critérios indicados na ABNT NBR 6118/2014 (Projetos de estruturas de concreto - Procedimento). Este software foi desenvolvido em ambiente acadêmico. </p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Responsabilidade</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">O Navier realiza cálculos baseado em roteiros de cálculo de elementos estruturais isolados, explicitas em literaturas da área. Os resultados obtidos na utilização do programa deve ser analisados com cautela e estudados antes de qualquer aplicação, sendo voltado principalmente para profissionais envolvidos na área da construção civil com conhecimento técnico sobre análise de estruturas e concreto armado, a saber principalmente engenheiros e estudantes. O desenvolvedor não tem nenhuma responsabilidade sobre a aplicação dos resultados, cabendo a uma pessoa legalmente habilitada [engenheiro] a palavra final sobre um projeto<span style=" font-size:8pt;"> (cf. Resolução 1010, 22 de agosto de 2005, Art. 5º)</span></p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Cálculos Realizados</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">____________________________________________________________</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Vigas:</span> </p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de vigas de concreto armado com seções retangular, permite calcular armaduras de aço longitudinal e transversal. Para o armadura longitudinal existe as opções de calcular armadura simples ou armadura dupla, verificando requisitos como seção da viga, esforços e material para geração das áreas de aço (englobando armadura principal, sobre-apoio, pele e limitantes máxima e mínima), coeficientes (kmd, kx, kz) e dados sobre o domínio de ruptura. No cálculo das armaduras transversais o Navier permite o cálculo dos estribos baseados nos dois modelos de cálculo expressos na norma, sendo o modelo I o mais aplicado em projetos, já o modelo II possibilita a inserção de angulação para as bielas comprimidas diminuindo a taxa de área de aço.</p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Pilares:</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculos de pilares de concreto armado com seção retangular, permite calcular situações de pilares centrais e de extremidade, resolucionando situações de compressão centrada e flexo-compressão normal.</p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Lajes:</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de lajes de concreto armado do tipo maciça, permite calcular lajes unidirecionais e bidirecionais, utiliza-se dos coeficientes de Marcus para obtenção de esforços em elementos bidirecionais (tipo cruz) e utiliza as formulações dos momentos típicos em vigas biapoiadas para casos unidirecionais. Também são gerados coeficientes e informações relativas a laje com armaduras em ambas as direções. O Navier permite a entrada dos tipos de fixação laterais em engastadas ou livres.</p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Fundações:</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de fundações de concreto armado do tipo isolada simples, permite calcular sapatas do tipo excêntricas e isoladas, através de informações dos materiais, esforços e dados do solo encontra as área de aço finais de tração em cada um dos sentidos assim como também diversas informações como alturas exigidas, balanços, normal equivalente e também tensões máximas e mínimas atuantes na base da sapata. Para obter resultados podem ser inseridos dimensões esperadas ou também solicitar dimensionamento automático da fundação.</p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p></body></html> - - - - - - 120 - 30 - 371 - 31 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">Navier - software de cálculo de peças de concreto armado</span></p></body></html> - - - - - - Tabelas e Infos - - - - - -10 - 0 - 91 - 421 - - - - - - - - - - 110 - 20 - 321 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Tabelas importantes de normas brasileiras e cálculo</span></p></body></html> - - - - - - 129 - 255 - 391 - 150 - - - - Tabelas de auxílio de cálculo - - - - - 30 - 89 - 221 - 51 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Ábacos de Flexotração</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:7pt;"> </span><span style=" font-size:8pt;">Normal (Venturini &amp; Rodrigues)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> Oblíqua (Libânio M. Pinheiro)</span></p></body></html> - - - - - - 30 - 27 - 221 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Tabela de Marcus </span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:8pt;">(Lajes Bidirecionais)</span></p></body></html> - - - - - - 330 - 88 - 51 - 50 - - - - - - - - - - 330 - 26 - 51 - 51 - - - - - - - - - - 10 - 20 - 381 - 60 - - - - - - - - - - 10 - 83 - 381 - 60 - - - - - - - - - - 270 - 88 - 51 - 50 - - - - - - - groupBox_26 - groupBox_17 - textBrowser_13 - textBrowser_12 - pushButton_8 - pushButton_7 - pushButton_23 - - - - - 130 - 43 - 391 - 211 - - - - Tabelas de Normas - - - - - 30 - 159 - 281 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Relação de bitolas de aços comerciais</span></p></body></html> - - - - - - 30 - 36 - 281 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Agressividade Ambiental (NBR 6118/2014)</span></p></body></html> - - - - - - 330 - 26 - 51 - 51 - - - - - - - - - - 330 - 87 - 51 - 51 - - - - - - - - - - 30 - 97 - 281 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Carregamento Adicional (NBR 6120/2017)</span></p></body></html> - - - - - - 330 - 149 - 51 - 51 - - - - - - - - - - 10 - 20 - 381 - 61 - - - - - - - - - - 10 - 82 - 381 - 61 - - - - - - - - - - 10 - 144 - 381 - 60 - - - - - - - groupBox_16 - groupBox_15 - groupBox_14 - textBrowser_11 - textBrowser_9 - pushButton_2 - pushButton_5 - textBrowser_10 - pushButton_6 - - - - - Normas e Referências - - - - - -10 - 0 - 91 - 421 - - - - - - - - - - 140 - 60 - 401 - 51 - - - - - - - - - 10 - 5 - 381 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6118: Projeto de estruturas de concreto - Procedimento. Rio de Janeiro, 2014. </p></body></html> - - - - - - - 140 - 110 - 401 - 51 - - - - - - - - - 10 - 5 - 381 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6120: Cargas para o cálculo de estruturas de edificações. Rio de Janeiro, 2017. </p></body></html> - - - - - - - 110 - 27 - 91 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Referências </span></p></body></html> - - - - - - 140 - 160 - 401 - 51 - - - - - - - - - 10 - 5 - 381 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6120: Cargas para o cálculo de estruturas de edificações. Rio de Janeiro, 2017. </p></body></html> - - - - - - - 140 - 210 - 401 - 51 - - - - - - - - - 10 - 5 - 381 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6120: Cargas para o cálculo de estruturas de edificações. Rio de Janeiro, 2017. </p></body></html> - - - - - - - 140 - 260 - 401 - 51 - - - - - - - - - 10 - 5 - 381 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6120: Cargas para o cálculo de estruturas de edificações. Rio de Janeiro, 2017. </p></body></html> - - - - - - - 140 - 310 - 401 - 51 - - - - - - - - - 10 - 5 - 381 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6120: Cargas para o cálculo de estruturas de edificações. Rio de Janeiro, 2017. </p></body></html> - - - - - - - Sobre - - - - - -10 - 0 - 91 - 421 - - - - - - - - - - 420 - 250 - 141 - 151 - - - - - - - navier_logo.png - - - - - - 160 - 351 - 256 - 51 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">&quot;Convém que Ele cresça e eu diminua&quot; </span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;"> João 3:30.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - - - - 110 - 60 - 401 - 71 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Navier </span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:8pt;"> Software para cálculo de peças de Concreto Armado</span> </p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Programado em Python 3.8 </p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Interface grágica com PyQt5</p></body></html> - - - - - - 210 - 160 - 321 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Anderson Alves de Aguiar (andersonalvesmath@hotmail.com)</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - - - - 120 - 140 - 91 - 51 - - - - - - - logo_a3_mini.png - - - true - - - - - - 180 - 210 - 40 - 31 - - - - - - - git_logo.png - - - true - - - - - - 230 - 220 - 151 - 16 - - - - https://github.com/Anderson3 - - - - - - 310 - 240 - 41 - 41 - - - - - - - logo_brunel.png - - - true - - - - - - 250 - 240 - 41 - 41 - - - - - - - logo_engtool.png - - - true - - - - - - - - - - - - 0 - 0 - 567 - 21 - - - - - - - diff --git a/inicio_alt.ui b/inicio_alt.ui deleted file mode 100644 index 749dfc2..0000000 --- a/inicio_alt.ui +++ /dev/null @@ -1,1266 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 582 - 514 - - - - MainWindow - - - - - - - 0 - - - - Navier - Início - - - - - 215 - 60 - 261 - 41 - - - - QFrame::NoFrame - - - QFrame::Sunken - - - QAbstractScrollArea::AdjustToContents - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de peças em Concreto Armado (Vigas, Lajes, Fundações) segundo a NBR 6118/14.</p></body></html> - - - - - - 260 - 20 - 141 - 51 - - - - - - - navier_logo_mini.png - - - - - - -10 - -8 - 171 - 431 - - - - - - - - - - 410 - 40 - 71 - 31 - - - - <html><head/><body><p><span style=" font-style:italic;">- v. 0.3</span></p></body></html> - - - Qt::RichText - - - - - - 180 - 130 - 361 - 271 - - - - Elementos Estruturais - - - - - 10 - 20 - 341 - 60 - - - - Vigas - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 20 - 241 - 21 - - - - Vigas Simples e Duplamente Armada - - - - - - - 10 - 140 - 341 - 61 - - - - Lajes - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 20 - 241 - 21 - - - - Lajes Maciças Unidirecionais e Bidirecionais - - - - - - 200 - 60 - 351 - 61 - - - - Vigas - - - - - 280 - 10 - 61 - 41 - - - - VIGAS - - - - - - 20 - 20 - 241 - 21 - - - - Simples e Dupla Armação, Tê - - - - - - - - 10 - 200 - 341 - 61 - - - - Fundação - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 20 - 241 - 21 - - - - Sapatas Isoladas Excêntricas - - - - - - 200 - 60 - 351 - 61 - - - - Vigas - - - - - 280 - 10 - 61 - 41 - - - - VIGAS - - - - - - 20 - 20 - 241 - 21 - - - - Simples e Dupla Armação, Tê - - - - - - - - 10 - 80 - 341 - 61 - - - - Pilares - - - - - 270 - 10 - 61 - 50 - - - - - - - - - - 20 - 16 - 251 - 31 - - - - <html><head/><body><p>Pilares Intermediários, de Extremidade e Canto</p></body></html> - - - Qt::RichText - - - - - - 200 - 60 - 351 - 61 - - - - Vigas - - - - - 280 - 10 - 61 - 41 - - - - VIGAS - - - - - - 20 - 20 - 241 - 21 - - - - Simples e Dupla Armação, Tê - - - - - - - - - 10 - 80 - 141 - 141 - - - - - - - navier_logo.png - - - false - - - - - - 20 - 330 - 131 - 51 - - - - - - - nassau_logo.png - - - true - - - - - - Descrição - - - - - -10 - -1 - 91 - 421 - - - - - - - - - - 100 - 80 - 451 - 291 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">O Software</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Este programa permite realizar cálculos de Vigas, Pilares, Lajes e Sapatas de concreto armado em alguns casos espefícicos. Os cálculos envolvidos são estabelecidos para as situações críticas das peças no ELU (estado limite último), obedecendo os critérios indicados na ABNT NBR 6118/2014 (Projetos de estruturas de concreto - Procedimento). Este software foi desenvolvido em ambiente acadêmico. </p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Responsabilidade</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">O Navier realiza cálculos baseado em roteiros de cálculo de elementos estruturais isolados, explicitas em literaturas da área. Os resultados obtidos na utilização do programa deve ser analisados com cautela e estudados antes de qualquer aplicação, sendo voltado principalmente para profissionais envolvidos na área da construção civil com conhecimento técnico sobre análise de estruturas e concreto armado, a saber principalmente engenheiros e estudantes. O desenvolvedor não tem nenhuma responsabilidade sobre a aplicação dos resultados, cabendo a uma pessoa legalmente habilitada [engenheiro] a palavra final sobre um projeto<span style=" font-size:8pt;"> (cf. Resolução 1010, 22 de agosto de 2005, Art. 5º)</span></p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Cálculos Realizados</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">____________________________________________________________</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Vigas:</span> </p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de vigas de concreto armado com seções retangular, permite calcular armaduras de aço longitudinal e transversal. Para o armadura longitudinal existe as opções de calcular armadura simples ou armadura dupla, verificando requisitos como seção da viga, esforços e material para geração das áreas de aço (englobando armadura principal, sobre-apoio, pele e limitantes máxima e mínima), coeficientes (kmd, kx, kz) e dados sobre o domínio de ruptura. No cálculo das armaduras transversais o Navier permite o cálculo dos estribos baseados nos dois modelos de cálculo expressos na norma, sendo o modelo I o mais aplicado em projetos, já o modelo II possibilita a inserção de angulação para as bielas comprimidas diminuindo a taxa de área de aço.</p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Pilares:</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculos de pilares de concreto armado com seção retangular, permite calcular situações de pilares centrais e de extremidade, resolucionando situações de compressão centrada e flexo-compressão normal.</p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Lajes:</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de lajes de concreto armado do tipo maciça, permite calcular lajes unidirecionais e bidirecionais, utiliza-se dos coeficientes de Marcus para obtenção de esforços em elementos bidirecionais (tipo cruz) e utiliza as formulações dos momentos típicos em vigas biapoiadas para casos unidirecionais. Também são gerados coeficientes e informações relativas a laje com armaduras em ambas as direções. O Navier permite a entrada dos tipos de fixação laterais em engastadas ou livres.</p> -<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Fundações:</span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de fundações de concreto armado do tipo isolada simples, permite calcular sapatas do tipo excêntricas e isoladas, através de informações dos materiais, esforços e dados do solo encontra as área de aço finais de tração em cada um dos sentidos assim como também diversas informações como alturas exigidas, balanços, normal equivalente e também tensões máximas e mínimas atuantes na base da sapata. Para obter resultados podem ser inseridos dimensões esperadas ou também solicitar dimensionamento automático da fundação.</p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p></body></html> - - - - - - 120 - 30 - 371 - 31 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">Navier - software de cálculo de peças de concreto armado</span></p></body></html> - - - - - - Tabelas e Infos - - - - - -10 - 0 - 91 - 421 - - - - - - - - - - 110 - 20 - 321 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Tabelas importantes de normas brasileiras e cálculo</span></p></body></html> - - - - - - 129 - 255 - 391 - 150 - - - - Tabelas de auxílio de cálculo - - - - - 30 - 89 - 221 - 51 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Ábacos de Flexotração</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:7pt;"> </span><span style=" font-size:8pt;">Normal (Venturini &amp; Rodrigues)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> Oblíqua (Libânio M. Pinheiro)</span></p></body></html> - - - - - - 30 - 27 - 221 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Tabela de Marcus </span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:8pt;">(Lajes Bidirecionais)</span></p></body></html> - - - - - - 330 - 88 - 51 - 50 - - - - - - - - - - 330 - 26 - 51 - 51 - - - - - - - - - - 10 - 20 - 381 - 60 - - - - - - - - - - 10 - 83 - 381 - 60 - - - - - - - - - - 270 - 88 - 51 - 50 - - - - - - - groupBox_26 - groupBox_17 - textBrowser_13 - textBrowser_12 - pushButton_8 - pushButton_7 - pushButton_23 - - - - - 130 - 43 - 391 - 211 - - - - Tabelas de Normas - - - - - 30 - 159 - 281 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Relação de bitolas de aços comerciais</span></p></body></html> - - - - - - 30 - 36 - 281 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Agressividade Ambiental (NBR 6118/2014)</span></p></body></html> - - - - - - 330 - 26 - 51 - 51 - - - - - - - - - - 330 - 87 - 51 - 51 - - - - - - - - - - 30 - 97 - 281 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Carregamento Adicional (NBR 6120/2019)</span></p></body></html> - - - - - - 330 - 149 - 51 - 51 - - - - - - - - - - 10 - 20 - 381 - 61 - - - - - - - - - - 10 - 82 - 381 - 61 - - - - - - - - - - 10 - 144 - 381 - 60 - - - - - - - groupBox_16 - groupBox_15 - groupBox_14 - textBrowser_11 - textBrowser_9 - pushButton_2 - pushButton_5 - textBrowser_10 - pushButton_6 - - - - - Normas e Referências - - - - - -10 - 0 - 91 - 421 - - - - - - - - - - 110 - 20 - 91 - 30 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Referências </span></p></body></html> - - - - - - 140 - 90 - 411 - 291 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - QFrame::HLine - - - true - - - - - 0 - 0 - 390 - 537 - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. </span><span style=" font-size:8pt; font-weight:600;">NBR 6118</span><span style=" font-size:8pt;">: projeto de estruturas de concreto – procedimentos. Rio de Janeiro, 2014. </span></p></body></html> - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. </span><span style=" font-size:8pt; font-weight:600;">NBR 6120</span><span style=" font-size:8pt;">: cargas para cálculo de estruturas de edificações. Rio de Janeiro, 2019. </span></p></body></html> - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">ARAÚJO, José Milton de. </span><span style=" font-size:8pt; font-weight:600;">Curso de concreto armado</span><span style=" font-size:8pt;"> - Vol. 1. 4ª Ed. Rio Grande: Ed. Dunas, 2014. </span></p></body></html> - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#222222; background-color:#ffffff;">CARVALHO, Roberto Chust; FIGUEIREDO FILHO, Jasson Rodrigues de. </span><span style=" font-size:8pt; font-weight:600; color:#222222; background-color:#ffffff;">Cálculo e detalhamento de estruturas usuais de concreto armado: </span><span style=" font-size:8pt; color:#222222; background-color:#ffffff;">Segundo a NBR 6118:2014. 4. ed. São Carlos: Edufscar, 2014.</span><span style=" font-size:8pt;"> </span></p></body></html> - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#000000;">CLÍMACO, João Carlos Teatini de Souza. </span><span style=" font-size:8pt; font-weight:600; color:#000000;">Estruturas de Concreto Armado</span><span style=" font-size:8pt; color:#000000;">. 2. ed. Brasília: Editora UNB, 2008.</span><span style=" font-size:8pt;"> </span></p></body></html> - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">BASTOS, P.S.S. Fundamentos do concreto armado. Notas de aula, Disciplina 1288 – Estruturas de Concreto I. Bauru/SP, Departamento Engenharia Civil, Faculdade de Engenharia - Universidade Estadual Paulista - UNESP, agosto/2004, 60p. </p></body></html> - - - - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6118: Projeto de estruturas de concreto - Procedimento. Rio de Janeiro, 2014. </p></body></html> - - - - - - - - - - Sobre - - - - - -10 - 0 - 91 - 421 - - - - - - - - - - 420 - 250 - 141 - 151 - - - - - - - navier_logo.png - - - - - - 160 - 351 - 256 - 51 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">&quot;Convém que Ele cresça e eu diminua&quot; </span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;"> João 3:30.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - - - - 110 - 60 - 401 - 71 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Navier </span></p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:8pt;"> Software para cálculo de peças de Concreto Armado</span> </p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Programado em Python 3.7 </p> -<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Interface gráfica com PyQt5</p></body></html> - - - - - - 180 - 160 - 331 - 41 - - - - QFrame::NoFrame - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Anderson Alves de Aguiar (andersonalvesmath@hotmail.com)</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - - - - 120 - 150 - 71 - 41 - - - - - - - logo_a3_mini.png - - - true - - - - - - 190 - 190 - 31 - 30 - - - - - - - git_logo.png - - - true - - - - - - 240 - 198 - 151 - 16 - - - - https://github.com/Anderson3 - - - - - - 460 - 190 - 31 - 31 - - - - - - - logo_brunel.png - - - true - - - - - - 410 - 190 - 31 - 31 - - - - - - - logo_engtool.png - - - true - - - - - - - - - - - - 0 - 0 - 582 - 21 - - - - - - - diff --git a/laje-esqm.png b/laje-esqm.png deleted file mode 100644 index 8cd8ef6fab52da99108ce37e6e1e81b4db632368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2808 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 diff --git a/laje_unidirecional_le2.png b/laje_unidirecional_le2.png deleted file mode 100644 index a9668b68d0cd865e644b3d02cd22c9bba04fd167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3303 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 HDWM4ftP)|* diff --git a/laje_unidirecional_ll2.png b/laje_unidirecional_ll2.png deleted file mode 100644 index 0ea85e8e8fe55cf79b4c1215b49e7c9452de5536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2139 zcmaJ?c{r3^8-J{WGQ>1vP_jg2NvJHZrEhFgjn9-;?kE_d4tKyYF*f_c_1wJLitIm4&E?v zLj9q9O)dU5i{Qh4JHa~b!%C;s>xxtez>JY)aE+b@{d$pj4lLzvS!U7Qtc_+`pF&5% zcyv?adVM5J=$^>c_Z7h=Y&FHhX?MO3zWB0C1q8)g)Z!(yS50r8;p<%t6O(gUDEfoB zHCUiXo4^Tfn2za{$RHO57gtJ(Lx)x1f8VEx7f7a|$rr{fDwrD0!5aE%+-^n&_Pu2C zopv`E^GNr_q>F!;$>MG9E#0OwMW)nye2Y6A)+bIMoUF;#`AmWT`xPuqM$QEV5A{zNazbEIw^+w9Axg%$LTg~S_eWlc z$)0*&1d_WC%i&&FsjSK!1PF z05X6H@pL77dK{yW$Ues`usCbmI5-N5u8lRlU=uMgH$-}F<0%C$?q${5)xGXhNJU;q zC*7tJ5bA_1GtaH0xkGd2az&yET1AEq>hVv%V{B?qBl$lR`6J4+o*?O27jcTr60rqs zUD2EQm9Iia-tLKMOg#ym?9RP0AJwz`gwoRlQ^MZ=ml|TTS@6wPbX0n0-DNk;8qo># z+H@_6wGL4FwfKE8RfM?CxKi_H2B-Ymt;20oYnB&~!j6%{38y?atK@52UKogghU_9K zj}w>ezAr=(rGknJHC?ltLt{O`319rIk1m7{9@Svxf>EFeM^MqN%av zFWzN?4Wn}~qrl)i<2Wp6sA@+s*5t91i%@bmen`xWDkg?FJ5cT74;`2kzl<-aQ8S~8a`)g}jNor6x zi$N4vWI5Q2vs~>y#&jD?Pc^&*EKJSjQyi>6ISu@x zlp)P(=9k)jeNQMetJI0E^&36eOpW<&k9`uT~7gKFK>l!sBDt?RPSTUSydTl zi>Tr^kIDHfku)oY2=_Rn{o<3xFFuxZL9+l4Cw& zt5RM=E#bC>H(TblO(%N0>l=-K)=m0U%BIHLw5P~(6NSqHR;0No%?byEVeXrbLo}-r zdM;x+G`s3gp<9-}o_n3&zsog8KYvJSNxZgel=9PRf8y0i&Ve+*HWYT05|JcqmaT#T z|Ch&lPJj=jlYbJk2c8q`Q8N41{6-Begfe}}cIL=#k2RF%NMFu_{Xj{bD+e&HkX~x8 zr+A|wXEa3kP91r8p)cTiLdN;%JKHw~_U;w_1Fi>0zo~-~KA)sx)8&0e(^2J9hlj5$ zr8Kv)&>>hqNJ%qQhx4sQncm$<|I8*x$ZAU|!g=yL$oT+P`=vs_Dvu7>Z8;riitJm4K;*gTPGF|K3 zZSvv1R>;=z+qN~h%1=BQb<3$-Sam1n>iFJtKv|h^SyR~zKS!L!HvWu0BuTi@s8?cp zt!v4<6=E*XAYCK6nYquZ7UwbCd7`-k-B6gAGJ}-!03)z}S-M>>S|f?5t2wl%JNFlghxL zF|l@{t;b;pnWOQ+N0oH>!UPIW1kBax=z5_Rs?*eZDJnm5IeNK*&#o(UxT>Qp+TVHe z&Z--qyBOF64(T)r8Gm)DGGspgv6Npv{{14G)4%V`S6=eOm+gnkBgf1#e0&WAG_CVHL~Ztpyr#C}@#j8~hNjjK#xNbjfC zHK)0r>z>P6dMxVu6Mdd%Tc?^_&*W3?Q&pMJ!XaroC9ttoW37~?TF@5x&mZ_L|EcUu zDVlol#Ks1#5RX3jKm2v&*WG zgtNdSvY3HEPZ@+6E0)@q0R`DhJbhi+A9INEX&b6F|KAA|k}PqJC~?lu%}vcKVQ?-= zO)N=GQ7F$W$xv|j^bH7al2BBhApM6+sZ8&o!A#PUvPY(P$FQ(A=}c2VDf=w1c9Q{%;(!pICB3gceZplpV;3s zsW*;h#wT^7sa1xU0MQ0Aum!=yZ8nM`xLbbQt9iXprPNQy>W{`+#bb+*T*&9-4s$Hb fe4xAex_2|4QRY9G(9k*$=zRuHS3j3^P6 2.001: - tipo_laje = 'UNIDIRECIONAL' - self.laje_unidirecional(carreg_total) - else: - tipo_laje = 'BIDIRECIONAL' - self.label_43.setStyleSheet("Background: url('laje_unidirecional_modelo.png') no-repeat") - - mx = my = nx = ny = '' - - if caso == '1': - caso1 = marcus.caso1 - linhas = len(caso1) - colunas = len(caso1[0]) - - for i in range(linhas): - aux = caso1[i][0] - if lambda_laje == aux: - print(caso1[i]) - mx = caso1[i][2] - my = caso1[i][3] - - print('mx: ',mx) - print('my: ',my) - - if caso == '2': - caso2 = marcus.caso2 - linhas = len(caso2) - colunas = len(caso2[0]) - - for i in range(linhas): - aux = caso2[i][0] - if lambda_laje == aux: - print(caso2[i]) - mx = caso2[i][2] - nx = caso2[i][3] - my = caso2[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '3': - caso3 = marcus.caso3 - linhas = len(caso3) - colunas = len(caso3[0]) - - for i in range(linhas): - aux = caso3[i][0] - if lambda_laje == aux: - print(caso3[i]) - mx = caso3[i][2] - nx = caso3[i][3] - my = caso3[i][4] - ny = caso3[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '4': - caso4 = marcus.caso4 - linhas = len(caso4) - colunas = len(caso4[0]) - - for i in range(linhas): - aux = caso4[i][0] - if lambda_laje == aux: - print(caso4[i]) - mx = caso4[i][2] - nx = caso4[i][3] - my = caso4[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '5': - caso5 = marcus.caso5 - linhas = len(caso5) - colunas = len(caso5[0]) - - for i in range(linhas): - aux = caso5[i][0] - if lambda_laje == aux: - print(caso5[i]) - mx = caso5[i][2] - nx = caso5[i][3] - my = caso5[i][4] - ny = caso5[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '6': - caso6 = marcus.caso6 - linhas = len(caso6) - colunas = len(caso6[0]) - - for i in range(linhas): - aux = caso6[i][0] - if lambda_laje == aux: - print(caso6[i]) - mx = caso6[i][2] - nx = caso6[i][3] - my = caso6[i][4] - ny = caso6[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - print(lx) - if mx != '': - self.lineEdit_7.setText(str(mx)) - momento_pos_x = ((carreg_total * (lx**2))/mx) - momento_pos_x = round(momento_pos_x,ndigits=4) - self.lineEdit_13.setText(str(momento_pos_x)) - #else: - # self.lineEdit_13.setText('0') - if nx != '': - self.lineEdit_9.setText(str(nx)) - momento_neg_x = round(((carreg_total * (lx**2))/nx),ndigits=4) - self.lineEdit_14.setText(str(momento_neg_x)) - #momento_neg_x = round(momento_neg_x,ndigits=2) - #else: - # self.lineEdit_14.setText('0') - if my != '': - self.lineEdit_8.setText(str(my)) - momento_pos_y = ((carreg_total * (lx**2))/my) - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - #else: - # self.lineEdit_15.setText('0') - if ny != '': - self.lineEdit_10.setText(str(ny)) - momento_neg_y = round(((carreg_total * (lx**2))/ny),ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - #momento_neg_y = round(momento_neg_y,ndigits=2) - #else: - # self.lineEdit_16.setText('0') - - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def laje_unidirecional(self,carreg_total): - - #self.lineEdit_7.setText('') - #self.lineEdit_9.setText('') - #self.lineEdit_8.setText('') - #self.lineEdit_10.setText('') - #self.lineEdit_16.setText('') - #self.lineEdit_13.setText('') - #self.lineEdit_14.setText('') - #self.lineEdit_15.setText('') - #self.lineEdit_16.setText('') - - print('unidirecional') - #l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - #l4 = self.lado4 - print(carreg_total) - if (l2 == 'livre' and l3 == 'livre'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_ll2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/8 - momento_neg_y = 0 - elif (l2 == 'engastado' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_ee2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/24 - momento_neg_y = (carreg_total * (lx**2))/12 - elif (l2 == 'engastado' and l3 == 'livre') or (l2 == 'livre' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_le2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/14.2 - momento_neg_y = (carreg_total * (lx**2))/8 - - print('momento_pos_y: ',momento_pos_y) - print('momento_neg_y: ',momento_neg_y) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - momento_neg_y = round(momento_neg_y,ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def resultados_laje(self): - - mx = self.lineEdit_13.text() - if mx == '': - self.lineEdit_13.setText('0') - - my = self.lineEdit_15.text() - if my == '': - self.lineEdit_15.setText('0') - - nx = self.lineEdit_14.text() - if nx == '': - self.lineEdit_14.setText('0') - - ny = self.lineEdit_16.text() - if ny == '': - self.lineEdit_16.setText('0') - - fck_laje = float(self.comboBox.currentText()) - fyk_laje = float(self.comboBox_2.currentText()) - fcd_laje = fck_laje * 1.4 * 1000000 - fyd_laje = fyk_laje * 1.4 * 1000000 - d_laje = float(self.lineEdit_27.text()) - - mx = float(self.lineEdit_13.text()) - my = float(self.lineEdit_15.text()) - nx = float(self.lineEdit_14.text()) - ny = float(self.lineEdit_16.text()) - #print('mx: ',mx) - #print('nx: ',nx) - #print('my: ',my) - #print('ny: ',ny) - if mx > nx: - mk_x = mx - else: - mk_x = nx - if my > ny: - mk_y = my - else: - mk_y = ny - - #print('mkx: ',mk_x) - #print('mky: ',mk_y) - md_x = round(1.4 * mk_x, ndigits = 4) - kmd_x_laje = (md_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - print('kmd_x_laje-',kmd_x_laje) - kx_x_laje = (1 - math.sqrt(1 - 2*kmd_x_laje))/0.8 - kz_x_laje = 1 - 0.4 * kx_x_laje - - as_x_laje = (md_x * 1000/ (kz_x_laje * (d_laje/100) * fyd_laje))*100000 - - print('md_x: ', md_x) - print('kmd_x_laje: ', kmd_x_laje) - print('kx_x_laje: ', kx_x_laje) - print('kz_x_laje: ', kz_x_laje) - print('as_x_laje: ', as_x_laje) - - md_y = round(1.4 * mk_y, ndigits = 4) - kmd_y_laje = (md_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje = (1 - math.sqrt(1 - 2*kmd_y_laje))/0.8 - kz_y_laje = 1 - 0.4 * kx_y_laje - - as_y_laje = (md_y * 1000/ (kz_y_laje * (d_laje/100) * fyd_laje))*100000 - - print('md_y: ', md_y) - print('kmd_y_laje: ', kmd_y_laje) - print('kx_y_laje: ', kx_y_laje) - print('kz_y_laje: ', kz_y_laje) - print('as_y_laje: ', as_y_laje) - - #------------------------------------------ saida de dados ------------------------------------ - kmd_x_laje = self.truncar(kmd_x_laje) - kx_x_laje = self.truncar(kx_x_laje) - kz_x_laje = self.truncar(kz_x_laje) - as_x_laje = self.truncar(as_x_laje) - - kmd_y_laje = self.truncar(kmd_y_laje) - kx_y_laje = self.truncar(kx_y_laje) - kz_y_laje = self.truncar(kz_y_laje) - as_y_laje = self.truncar(as_y_laje) - - self.lineEdit_17.setText(str(md_x)) - self.lineEdit_18.setText(str(kmd_x_laje)) - self.lineEdit_19.setText(str(kx_x_laje)) - self.lineEdit_20.setText(str(kz_x_laje)) - self.lineEdit_21.setText(str(as_x_laje)) - - self.lineEdit_22.setText(str(md_y)) - self.lineEdit_24.setText(str(kmd_y_laje)) - self.lineEdit_25.setText(str(kx_y_laje)) - self.lineEdit_26.setText(str(kz_y_laje)) - self.lineEdit_23.setText(str(as_y_laje)) - - - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - inicio = Lajes() - - app.exec_() diff --git a/lajes.ui b/lajes.ui deleted file mode 100644 index 631dd29..0000000 --- a/lajes.ui +++ /dev/null @@ -1,1331 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 933 - 643 - - - - MainWindow - - - - - - 20 - 340 - 251 - 81 - - - - Carregamento - - - - - 20 - 20 - 121 - 20 - - - - Peso Próprio [KN/m²] - - - - - - 140 - 20 - 81 - 20 - - - - 0 - - - - - - 20 - 50 - 121 - 20 - - - - Carg. Adicional [KN/m²] - - - - - - 140 - 50 - 81 - 20 - - - - 0 - - - - - - 221 - 50 - 25 - 19 - - - - ... - - - - - - - 20 - 177 - 251 - 151 - - - - Dimensões - - - - - 20 - 30 - 101 - 16 - - - - L1 - lado maior [m] - - - - - - 132 - 30 - 101 - 20 - - - - 0 - - - - - - 20 - 60 - 101 - 16 - - - - L2 - lado menor [m] - - - - - - 132 - 60 - 101 - 20 - - - - 0 - - - - - - 18 - 90 - 91 - 16 - - - - Espessura [cm] - - - - - - 130 - 90 - 101 - 20 - - - - 0 - - - - - - 132 - 120 - 101 - 20 - - - - 0 - - - - - - 20 - 120 - 91 - 16 - - - - Altura Útil [cm] - - - - - - - 20 - 86 - 251 - 81 - - - - Concreto - - - - - 20 - 20 - 121 - 20 - - - - Resistência - fck [MPa] - - - - - - 150 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 150 - 50 - 81 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - 20 - 50 - 121 - 20 - - - - Resistência do Aço [MPa] - - - - - - - 20 - 430 - 251 - 141 - - - - Representação - - - - - 20 - 17 - 221 - 120 - - - - - - - laje-esqm.png - - - true - - - - - - - 290 - 87 - 281 - 481 - - - - Caso de Cálculo Laje - - - - - 40 - 50 - 191 - 121 - - - - - - - laje.png - - - true - - - - - - 20 - 50 - 21 - 121 - - - - false - - - - - - - livv.pnglivv.png - - - - 50 - 210 - - - - false - - - - - - 40 - 30 - 190 - 21 - - - - - - - - livh.pnglivh.png - - - - 300 - 50 - - - - - - - 40 - 170 - 190 - 21 - - - - - - - - livh.pnglivh.png - - - - 300 - 50 - - - - - - - 230 - 50 - 21 - 120 - - - - - - - - livv.pnglivv.png - - - - 50 - 210 - - - - - - - 60 - 200 - 111 - 16 - - - - CASO (para cálculo): - - - - - - 170 - 200 - 31 - 20 - - - - false - - - 1 - - - Qt::AlignCenter - - - - - - 0 - 360 - 281 - 121 - - - - Laje Bidirecional - Coeficientes de Marcus - - - - - 160 - 90 - 101 - 23 - - - - Obter Coeficientes - - - - - - 20 - 30 - 47 - 16 - - - - mx - - - - - - 50 - 30 - 81 - 20 - - - - - - - 50 - 60 - 81 - 20 - - - - - - - 20 - 60 - 47 - 16 - - - - my - - - - - - 140 - 30 - 47 - 16 - - - - nx - - - - - - 170 - 30 - 81 - 20 - - - - - - - 140 - 60 - 47 - 16 - - - - ny - - - - - - 170 - 60 - 81 - 20 - - - - - - - - 190 - 100 - 21 - 16 - - - - lx - - - - - - 130 - 130 - 21 - 16 - - - - lx - - - - - - 110 - 150 - 91 - 16 - - - - - - - - - - 200 - 50 - 21 - 121 - - - - - - - cota_v_laje.png - - - - - - 50 - 140 - 171 - 20 - - - - - - - cota_h_laje.png - - - true - - - - - - 120 - 100 - 31 - 16 - - - - - - - - - - 0 - 250 - 281 - 231 - - - - Laje Unidirecional - Casos - - - - - 20 - 10 - 241 - 101 - - - - - - - laje_unidirecional_modelo.png.png - - - false - - - - groupBox_11 - label_4 - pushButton - pushButton_2 - pushButton_3 - pushButton_4 - label_10 - lineEdit_6 - groupBox_6 - label_37 - label_38 - label_39 - label_40 - label_41 - label_42 - - - - - 590 - 88 - 330 - 481 - - - - Dimensionamento - - - - - 134 - 40 - 71 - 21 - - - - Tipo de Laje: - - - - - - 50 - 40 - 61 - 20 - - - - - - - 220 - 40 - 91 - 21 - - - - ______________ - - - - - - 20 - 40 - 31 - 21 - - - - λ : - - - - - - 20 - 80 - 111 - 21 - - - - Carreg. Total [KN/m²] - - - - - - 150 - 80 - 101 - 20 - - - - - - - 0 - 120 - 341 - 90 - - - - Momentos Atuantes [KN/m²] - - - - - 90 - 30 - 31 - 21 - - - - Mx - - - - - - 110 - 30 - 81 - 20 - - - - - - - - - - 210 - 30 - 31 - 21 - - - - Nx - - - - - - 230 - 30 - 81 - 20 - - - - - - - - - - 90 - 60 - 31 - 21 - - - - My - - - - - - 110 - 60 - 81 - 20 - - - - - - - - - - 230 - 60 - 81 - 20 - - - - - - - - - - 210 - 60 - 31 - 21 - - - - Ny - - - - - - 20 - 30 - 51 - 16 - - - - Sentido X: - - - - - - 20 - 60 - 51 - 16 - - - - Sentido Y: - - - - - - - 0 - 240 - 170 - 201 - - - - Sentido X - - - - - 20 - 40 - 47 - 16 - - - - Md - - - - - - 60 - 40 - 91 - 20 - - - - - - - 20 - 70 - 47 - 16 - - - - Kmd - - - - - - 60 - 70 - 91 - 20 - - - - - - - 60 - 100 - 91 - 20 - - - - - - - 20 - 100 - 47 - 16 - - - - Kx - - - - - - 60 - 130 - 91 - 20 - - - - - - - 20 - 130 - 47 - 16 - - - - Kz - - - - - - 20 - 160 - 47 - 16 - - - - As - - - - - - 60 - 160 - 91 - 20 - - - - - - - - 169 - 240 - 171 - 201 - - - - Sentido Y - - - - - 50 - 160 - 91 - 20 - - - - - - - 50 - 70 - 91 - 20 - - - - - - - 10 - 70 - 47 - 16 - - - - Kmd - - - - - - 10 - 40 - 47 - 16 - - - - Md - - - - - - 10 - 130 - 47 - 16 - - - - Kz - - - - - - 10 - 100 - 47 - 16 - - - - Kx - - - - - - 50 - 130 - 91 - 20 - - - - - - - 50 - 100 - 91 - 20 - - - - - - - 10 - 160 - 47 - 16 - - - - As - - - - - - 50 - 40 - 91 - 20 - - - - - - - - 130 - 216 - 101 - 21 - - - - Áreas de Aço [mm²] - - - - - - 190 - 450 - 121 - 23 - - - - Gerar Detalhamento - - - - - - - 670 - 580 - 75 - 23 - - - - Calcular - - - - - - 760 - 580 - 75 - 23 - - - - Limpar - - - - - - 850 - 580 - 75 - 23 - - - - Salvar - - - - - - - 0 - 0 - 933 - 21 - - - - - - - - diff --git a/lajes_alt.ui b/lajes_alt.ui deleted file mode 100644 index 05a74c5..0000000 --- a/lajes_alt.ui +++ /dev/null @@ -1,1571 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 1245 - 587 - - - - MainWindow - - - - - - 20 - 300 - 251 - 81 - - - - Carregamento - - - - - 20 - 20 - 121 - 20 - - - - Peso Próprio [KN/m²] - - - - - - 140 - 20 - 81 - 20 - - - - 0 - - - - - - 20 - 50 - 121 - 20 - - - - Carg. Adicional [KN/m²] - - - - - - 140 - 50 - 81 - 20 - - - - 0 - - - - - - 221 - 50 - 25 - 19 - - - - ... - - - - - - - 20 - 137 - 251 - 151 - - - - Dimensões - - - - - 20 - 30 - 101 - 16 - - - - L1 - lado maior [m] - - - - - - 132 - 30 - 101 - 20 - - - - 0 - - - - - - 20 - 60 - 101 - 16 - - - - L2 - lado menor [m] - - - - - - 132 - 60 - 101 - 20 - - - - 0 - - - - - - 18 - 90 - 91 - 16 - - - - Espessura [cm] - - - - - - 130 - 90 - 101 - 20 - - - - 0 - - - - - - 132 - 120 - 101 - 20 - - - - 0 - - - - - - 20 - 120 - 91 - 16 - - - - Altura Útil [cm] - - - - - - - 20 - 46 - 251 - 81 - - - - Concreto - - - - - 20 - 20 - 121 - 20 - - - - Resistência - fck [MPa] - - - - - - 150 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - - - 150 - 50 - 81 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - 20 - 50 - 121 - 20 - - - - Resistência do Aço [MPa] - - - - - - - 20 - 390 - 251 - 141 - - - - Representação - - - - - 20 - 17 - 221 - 120 - - - - - - - laje-esqm.png - - - true - - - - - - - 280 - 47 - 281 - 481 - - - - Caso de Cálculo Laje - - - - - 40 - 50 - 191 - 121 - - - - - - - laje.png - - - true - - - - - - 20 - 50 - 21 - 121 - - - - false - - - - - - - livv.pnglivv.png - - - - 50 - 210 - - - - false - - - - - - 40 - 30 - 190 - 21 - - - - - - - - livh.pnglivh.png - - - - 300 - 50 - - - - - - - 40 - 170 - 190 - 21 - - - - - - - - livh.pnglivh.png - - - - 300 - 50 - - - - - - - 230 - 50 - 21 - 120 - - - - - - - - livv.pnglivv.png - - - - 50 - 210 - - - - - - - 60 - 200 - 111 - 16 - - - - CASO (para cálculo): - - - - - - 170 - 200 - 31 - 20 - - - - false - - - 1 - - - Qt::AlignCenter - - - - - - 0 - 360 - 281 - 121 - - - - Laje Bidirecional - Coeficientes de Marcus - - - - - 160 - 90 - 101 - 23 - - - - Tabela de Marcus - - - - - - 20 - 30 - 47 - 16 - - - - mx - - - - - - 50 - 30 - 81 - 20 - - - - - - - 50 - 60 - 81 - 20 - - - - - - - 20 - 60 - 47 - 16 - - - - my - - - - - - 140 - 30 - 47 - 16 - - - - nx - - - - - - 170 - 30 - 81 - 20 - - - - - - - 140 - 60 - 47 - 16 - - - - ny - - - - - - 170 - 60 - 81 - 20 - - - - - - - - 190 - 100 - 21 - 16 - - - - lx - - - - - - 130 - 130 - 21 - 16 - - - - lx - - - - - - 110 - 150 - 91 - 16 - - - - - - - - - - 200 - 50 - 21 - 121 - - - - - - - cota_v_laje.png - - - - - - 50 - 140 - 171 - 20 - - - - - - - cota_h_laje.png - - - true - - - - - - 120 - 100 - 31 - 16 - - - - - - - - - - 0 - 250 - 281 - 231 - - - - Laje Unidirecional - Casos - - - - - 20 - 10 - 241 - 101 - - - - - - - laje_unidirecional_modelo.png.png - - - false - - - - groupBox_11 - label_4 - pushButton - pushButton_2 - pushButton_3 - pushButton_4 - label_10 - lineEdit_6 - groupBox_6 - label_37 - label_38 - label_39 - label_40 - label_41 - label_42 - - - - - 570 - 48 - 671 - 481 - - - - Dimensionamento - - - - - 134 - 40 - 71 - 21 - - - - Tipo de Laje: - - - - - - 50 - 40 - 61 - 20 - - - - - - - 220 - 40 - 91 - 21 - - - - ______________ - - - - - - 20 - 40 - 31 - 21 - - - - λ : - - - - - - 20 - 80 - 111 - 21 - - - - Carreg. Total [KN/m²] - - - - - - 150 - 80 - 101 - 20 - - - - - - - 10 - 390 - 321 - 90 - - - - Momentos Atuantes [KN.m/m] - - - - - 90 - 30 - 31 - 21 - - - - Mx - - - - - - 110 - 30 - 81 - 20 - - - - - - - - - - 210 - 30 - 31 - 21 - - - - Nex - - - - - - 230 - 30 - 81 - 20 - - - - - - - - - - 90 - 60 - 31 - 21 - - - - My - - - - - - 110 - 60 - 81 - 20 - - - - - - - - - - 230 - 60 - 81 - 20 - - - - - - - - - - 210 - 60 - 31 - 21 - - - - Ney - - - - - - 20 - 30 - 51 - 16 - - - - Sentido X: - - - - - - 20 - 60 - 51 - 16 - - - - Sentido Y: - - - - - - - 340 - 90 - 161 - 171 - - - - Sentido X - - - - - 20 - 20 - 47 - 16 - - - - Md - - - - - - 60 - 20 - 91 - 20 - - - - - - - 20 - 50 - 47 - 16 - - - - Kmd - - - - - - 60 - 50 - 91 - 20 - - - - - - - 60 - 80 - 91 - 20 - - - - - - - 20 - 80 - 47 - 16 - - - - Kx - - - - - - 60 - 110 - 91 - 20 - - - - - - - 20 - 110 - 47 - 16 - - - - Kz - - - - - - 20 - 140 - 47 - 16 - - - - As - - - - - - 60 - 140 - 91 - 20 - - - - - - - - 499 - 90 - 161 - 171 - - - - Sentido Y - - - - - 50 - 140 - 91 - 20 - - - - - - - 50 - 50 - 91 - 20 - - - - - - - 10 - 50 - 47 - 16 - - - - Kmd - - - - - - 10 - 20 - 47 - 16 - - - - Md - - - - - - 10 - 110 - 47 - 16 - - - - Kz - - - - - - 10 - 80 - 47 - 16 - - - - Kx - - - - - - 50 - 110 - 91 - 20 - - - - - - - 50 - 80 - 91 - 20 - - - - - - - 10 - 140 - 47 - 16 - - - - As - - - - - - 50 - 20 - 91 - 20 - - - - - - - - 470 - 40 - 101 - 21 - - - - Áreas de Aço [mm²] - - - - - - 10 - 150 - 321 - 231 - - - - Armaduras Limites - - - - - 210 - 50 - 81 - 20 - - - - - - - - - - 20 - 50 - 171 - 21 - - - - Armadura Negativa Mínima [mm²] - - - - - - 20 - 80 - 301 - 151 - - - - Armadura Positiva Mínima - - - - - 50 - 40 - 121 - 21 - - - - Armadura Mínima [mm²] - - - - - - 190 - 40 - 81 - 20 - - - - - - - - - - 20 - 20 - 81 - 16 - - - - BIDIRECIONAL - - - - - - 20 - 70 - 121 - 16 - - - - UNIDIRECIONAL - - - - - - 50 - 90 - 121 - 21 - - - - Armadura Principal [mm²] - - - - - - 190 - 90 - 81 - 20 - - - - - - - - - - 50 - 120 - 141 - 21 - - - - Armadura Secundária [mm²] - - - - - - 190 - 120 - 81 - 20 - - - - - - - - - - - 20 - 20 - 171 - 21 - - - - Armadura Máxima [mm²] - - - - - - 210 - 20 - 81 - 20 - - - - - - - - - - - 20 - 110 - 121 - 21 - - - - Área S. Concreto [mm²] - - - - - - 140 - 110 - 81 - 20 - - - - - - - - - - 240 - 110 - 31 - 21 - - - - ρ [%] - - - - - - 270 - 110 - 51 - 20 - - - - - - - - - - 360 - 270 - 131 - 16 - - - - - - - - - - 510 - 270 - 141 - 16 - - - - - - - - - - - 1060 - 540 - 75 - 23 - - - - Calcular - - - - - - 1150 - 540 - 75 - 23 - - - - Limpar - - - - - - 1100 - 0 - 131 - 51 - - - - - - - navier_logo_mini_alt.png - - - - - - - 0 - 0 - 1245 - 21 - - - - - - - - diff --git a/lajes_carg_adicional.ui b/lajes_carg_adicional.ui deleted file mode 100644 index d6d1433..0000000 --- a/lajes_carg_adicional.ui +++ /dev/null @@ -1,906 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 649 - 504 - - - - MainWindow - - - - - - 10 - 60 - 631 - 421 - - - - - 631 - 421 - - - - - Arquibancada - - - - - Balcões - - - - - Bancos - - - - - - - - - - Bibliotecas - - - - - - - - - - - - - - - Casas de Máquinas - - - - - Cinemas - - - - - - - - - - - - - - - Clubes - - - - - - - - - - - - - - - - - - - - Corredores - - - - - - - - - - Cozinhas e Residências - - - - - Depósitos - - - - - Edifícios Residenciais - - - - - - - - - - Escadas - - - - - - - - - - Escolas - - - - - - - - - - - - - - - Escritórios - - - - - Forros - - - - - Galeria de Artes - - - - - Galeria de Lojas - - - - - Garagens e Estacionamentos - - - - - Ginásio de Esportes - - - - - Hospital - - - - - - - - - - Laboratórios - - - - - Lavanderias - - - - - Lojas - - - - - Restaurantes - - - - - Teatros - - - - - - - - - - Terraços - - - - - - - - - - - - - - - - - - - - Vestíbulo - - - - - - - - - - Descrição - - - - - Cargas [KN/m²] - - - AlignCenter - - - - - 4 - - - AlignCenter - - - - - Mesma carga da peça com a qual se comunicam as previstas em 2.2.1.5 - - - - - - - - - AlignCenter - - - - - Escritórios e Banheiros - - - - - 2 - - - AlignCenter - - - - - Salas de diretoria e de Gerência - - - - - 1.5 - - - AlignCenter - - - - - Salas de leitura - - - - - 2.5 - - - AlignCenter - - - - - Salas para depósito de livros - - - - - 4 - - - AlignCenter - - - - - Salas com estante de livros a ser determinada em cada caso ou 2.5 KN/m² por metro de altura observado, porém valor mínimo de - - - - - 6 - - - AlignCenter - - - - - (incluindo o peso das máquinas) a ser determinada em cada caso, porém o valor mínimo de - - - - - 7.5 - - - AlignCenter - - - - - Plateia com assentos fixos - - - - - 3 - - - AlignCenter - - - - - Estúdio e plateia com assentos móveis - - - - - 4 - - - AlignCenter - - - - - Banheiro - - - - - 2 - - - AlignCenter - - - - - Sala de refeições e de assembleia com assentos fixos - - - - - 3 - - - AlignCenter - - - - - Sala de assembleia com assentos móveis - - - - - 4 - - - AlignCenter - - - - - Salão de danças e salão de esportes - - - - - 5 - - - AlignCenter - - - - - Sala de bilhar e banheiro - - - - - 2 - - - AlignCenter - - - - - com acesso ao público - - - - - 3 - - - AlignCenter - - - - - sem acesso ao público - - - - - 2 - - - AlignCenter - - - - - a ser determinada em cada caso, porém mínimo de - - - - - 3 - - - AlignCenter - - - - - a ser determinada em cada caso e na falta de valores experimentais cf indicado 2.2.1.3 - - - - - - - - - AlignCenter - - - - - Dormitórios, sala, copa, cozinha e banheiro - - - - - 1.5 - - - AlignCenter - - - - - Despensa, área de serviço e lavanderia - - - - - 2 - - - AlignCenter - - - - - com acesso ao público - - - - - 3 - - - AlignCenter - - - - - sem acesso ao público - - - - - 2.5 - - - AlignCenter - - - - - Anfiteatro com assentos fixos - - - - - - - - AlignCenter - - - - - Corredor e sala de aula - - - - - 3 - - - AlignCenter - - - - - outras salas - - - - - 2 - - - AlignCenter - - - - - Salas de uso geral e banheiro - - - - - 2 - - - AlignCenter - - - - - sem acesso a pessoas - - - - - 0.5 - - - AlignCenter - - - - - a ser determinada em cada caso, porém mínimo de - - - - - 3 - - - AlignCenter - - - - - a ser determinada em cada caso, porém mínimo de - - - - - 3 - - - AlignCenter - - - - - Para veículos de passageiros ou semelhantes com carga máxima de 25 KN por veículo. Valores de o indicados em 2.2.1.6 - - - - - 3 - - - AlignCenter - - - - - 3 - - - AlignCenter - - - - - Dormitórios, enfermarias, sala de recuperação, sala de cirurgia, sala de raio X e banheiro - - - - - 2 - - - AlignCenter - - - - - Corredor - - - - - 3 - - - AlignCenter - - - - - Incluindo equipamentos a ser determinados em cada caso, porém com no mínimo - - - - - 3 - - - AlignCenter - - - - - Incluindo equipamentos - - - - - 3 - - - AlignCenter - - - - - 4 - - - AlignCenter - - - - - 3 - - - AlignCenter - - - - - Palco - - - - - 5 - - - AlignCenter - - - - - Demais dependências: cargas iguais às especificadas para cinemas - - - - - - - - - AlignCenter - - - - - sem acesso ao público - - - - - 2 - - - AlignCenter - - - - - com acesso ao público - - - - - 3 - - - AlignCenter - - - - - inacessível a pessoas - - - - - 0.5 - - - AlignCenter - - - - - Destinados a heliportos elevados: as cargas deverão ser fornecidas pelo orgão competente do Ministério da Aeronáutica - - - - - - - - - AlignCenter - - - - - sem acesso ao público - - - - - 1.5 - - - AlignCenter - - - - - com acesso ao público - - - - - 3 - - - AlignCenter - - - - - - - 40 - 20 - 241 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Carrregamentos Adicionais</span></p></body></html> - - - Qt::AutoText - - - - - - 360 - 20 - 251 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6120/19 - Tabela 10.</p></body></html> - - - - - - - 0 - 0 - 649 - 21 - - - - - - - - diff --git a/lajes_carg_adicional_atualizada.ui b/lajes_carg_adicional_atualizada.ui deleted file mode 100644 index cedb43c..0000000 --- a/lajes_carg_adicional_atualizada.ui +++ /dev/null @@ -1,3939 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 655 - 527 - - - - MainWindow - - - - - - 10 - 60 - 631 - 421 - - - - - 631 - 421 - - - - - Aeroportos - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Arquibancadas e Tribunas - - - - - - - - - - Áreas Técnicas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Balcões - - - - - - - - - - - - - - - Bancos - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bibliotecas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Centros de convenções e locais de reunião de pessoas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Centros de exposição - - - - - - - - - - - - - - - Cinemas (não inclui cinemas de shopping centers) - - - - - - - - - - - - - - - Clubes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Coberturas (estrut. concreto armado, mistas e alv. estrt.) - - - - - - - - - - - - - - - Cozinhas não residenciais - - - - - - - - - - Depósitos de uso geral - - - - - - - - - - - - - - - Edifícios Residenciais - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Edifícios comerciais - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Edificações industriais - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Escadas e passarelas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Escolas, instituições de ensino - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Estações de passageiros - - - - - - - - - - - - - - - Forros - - - - - Garagens, estacionamentos - - - - - Ginásios de esportes - - - - - Helipontos - - - - - Hospitais - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hotéis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Instituições penais - - - - - - - - - - - - - - - - - - - - Jardins - - - - - - - - - - Laboratórios - - - - - Lavanderias não residenciais - - - - - Lojas a , centros comerciais a , shopping centers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Museus, galerias de arte - - - - - - - - - - - - - - - - - - - - - - - - - Restaurantes - - - - - - - - - - - - - - - - - - - - - - - - - Supermercados - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vestíbulos (acessos) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Descrição - - - - - Cargas - - - AlignCenter - - - - - Áreas de acesso público, circulações, sanitários - - - - - 5 - - - AlignCenter - - - - - Lojas, duty free - - - - - 5 - - - AlignCenter - - - - - Controle de passaportes, segurança, raios X - - - - - 5 - - - AlignCenter - - - - - -Restituição de bagagens (não inclui o peso próprio dos equipamentos) - - - - - 5 - - - AlignCenter - - - - - Áreas administrativas - - - - - 5 - - - AlignCenter - - - - - Manipulação de bagagens (não inclui o peso próprio dos equipamentos) - - - - - 10 - - - AlignCenter - - - - - Áreas sujeitas ao tráfego de veículos - - - - - 10 - - - AlignCenter - - - - - Com assentos fixos - - - - - 5 - - - AlignCenter - - - - - Sem assentos fixos - - - - - 4 - - - AlignCenter - - - - - Barrilete - - - - - 1,5 - - - AlignCenter - - - - - Áreas técnicas em geral (fora da projeção dos equipamentos), exceto barrilete - - - - - 3 - - - AlignCenter - - - - - Sala de ventiladores, pressurização, exaustores - - - - - 3 - - - AlignCenter - - - - - Sala de ar-condicionado (fan coil) - - - - - 4 - - - AlignCenter - - - - - Sala de painéis elétricos de baixa tensão - - - - - 4 - - - AlignCenter - - - - - Sala de gerador e transformador (com leiaute) - - - - - 3 - - - AlignCenter - - - - - Sala de gerador e transformador (sem leiaute) - - - - - 10 - - - AlignCenter - - - - - Sala de no-breaks - - - - - 7,5 - - - AlignCenter - - - - - Sala de baterias - - - - - 10 - - - AlignCenter - - - - - CPD (centro de processamento de dados) - - - - - 5 - - - AlignCenter - - - - - Casa de máquinas de elevador de passageiros (v ≤ 1,0 m/s) - - - - - 30 - - - AlignCenter - - - - - Casa de máquinas de elevador de passageiros (v > 1,0 m/s) - - - - - 50 - - - AlignCenter - - - - - Poço de elevador de passageiros - - - - - 50 - - - AlignCenter - - - - - Poço de plataforma de elevação motorizada para pessoas com mobilidade reduzida - - - - - 2,5 - - - AlignCenter - - - - - Residencial - - - - - 2,5 - - - AlignCenter - - - - - Comercial, corporativos e escritórios - - - - - 3 - - - AlignCenter - - - - - Com acesso público (hotéis, hospitais, escolas, teatros etc.) - - - - - 4 - - - AlignCenter - - - - - Escritórios - - - - - 2,5 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Salas de diretoria e de gerência - - - - - 2,5 - - - AlignCenter - - - - - Cofre (validar caso a caso, respeitando o valor mínimo indicado nesta Tabela) - - - - - 30 - - - AlignCenter - - - - - Agência (área de atendimento ao público) - - - - - 3 - - - AlignCenter - - - - - Regiões de arquivos deslizantes - - - - - 5 - - - AlignCenter - - - - - Região de terminais de autoatendimento, caixas eletrônicos - - - - - 12 - - - AlignCenter - - - - - Áreas técnicas (ver item Áreas Técnicas nesta Tabela) - - - - - 12 - - - AlignCenter - - - - - Centro de processamento de dados (ver Áreas técnicas) - - - - - 12 - - - AlignCenter - - - - - Sala de leitura (sem estantes) - - - - - 3 - - - AlignCenter - - - - - Sala de leitura (com estantes) - - - - - 3 - - - AlignCenter - - - - - Sala com estantes de livros i - - - - - 6 kN/m 2 para estantes até 2,2 m de altura + 2 kN/m 2 por metro de altura de estante que ultrapassar 2,2 m - - - - - Regiões de arquivos deslizantes - - - - - 5 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Corredores - - - - - 3 - - - AlignCenter - - - - - Plateia com assentos fixos - - - - - 4 - - - AlignCenter - - - - - Plateia com assentos móveis - - - - - 5 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Acessos, corredores - - - - - 5 - - - AlignCenter - - - - - Plataformas (assembleia) - - - - - 5 - - - AlignCenter - - - - - Palco (área de apresentação) - - - - - 5 - - - AlignCenter - - - - - Acesso exclusivo de pessoas - - - - - 5 - - - AlignCenter - - - - - Área de estandes de exposição - - - - - 10 - - - AlignCenter - - - - - Área de exposição de veículos e equipamentos - - - - - 30 - - - AlignCenter - - - - - Plateia com assentos fixos - - - - - 4 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Acessos, corredores - - - - - 4 - - - AlignCenter - - - - - Refeitórios - - - - - 3 - - - AlignCenter - - - - - Sala de assembleia com assentos fixos - - - - - 4 - - - AlignCenter - - - - - Sala de assembleia com assentos móveis - - - - - 5 - - - AlignCenter - - - - - Academia - - - - - 5 - - - AlignCenter - - - - - Salão de esportes - - - - - 5 - - - AlignCenter - - - - - Salão de danças - - - - - 5 - - - AlignCenter - - - - - Salão de bilhar, sala de jogos - - - - - 3 - - - AlignCenter - - - - - Pista de boliche - - - - - 4 - - - AlignCenter - - - - - Sanitários, vestiários - - - - - 2 - - - AlignCenter - - - - - Cozinhas - - - - - 3 - - - AlignCenter - - - - - Depósitos - - - - - 5 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Corredores - - - - - 3 - - - AlignCenter - - - - - Quadras esportivas - - - - - 5 - - - AlignCenter - - - - - Lavanderias (ver item nesta Tabela) - - - - - - - - - AlignCenter - - - - - Com acesso apenas para manutenção ou inspeção - - - - - 1 - - - AlignCenter - - - - - Com placas de aquecimento solar ou fotovoltaicas - - - - - 1,5 - - - AlignCenter - - - - - Outros usos - - - - - conforme o item pertinente desta Tabela - - - - - Validar caso a caso, respeitando o valor mínimo indicado nesta Tabela - - - - - 3 - - - AlignCenter - - - - - Câmara fria - - - - - 5 - - - AlignCenter - - - - - Validar caso a caso, respeitando o valor mínimo indicado nesta Tabela - - - - - 7,5 kN/m 2 até 2,5 m de altura de estoque + 3 kN/m 2 por metro de altura de estoque excedente - - - AlignCenter - - - - - Locais sujeitos ao acúmulo de mercadorias, incluindo zonas de acesso Materiais de armazenagem - - - - - 7,5 - - - AlignCenter - - - - - Supermercados - - - - - tabela - - - AlignCenter - - - - - Dormitórios - - - - - 1.5 - - - AlignCenter - - - - - Sala, copa, cozinha - - - - - 1,5 - - - AlignCenter - - - - - Sanitários - - - - - 1,5 - - - AlignCenter - - - - - Despensa, área de serviço e lavanderia - - - - - 2 - - - AlignCenter - - - - - Quadras esportivas - - - - - 5 - - - AlignCenter - - - - - Salão de festas, salão de jogos - - - - - 3 - - - AlignCenter - - - - - Áreas de uso comum - - - - - 3 - - - AlignCenter - - - - - Academia - - - - - 3 - - - AlignCenter - - - - - Forro acessíveis apenas para manutenção e sem estoque de materiais - - - - - 0,1 - - - AlignCenter - - - - - Sótão - - - - - 2 - - - AlignCenter - - - - - Corredores dentro de unidades autônomas - - - - - 1,5 - - - AlignCenter - - - - - Corredores de uso comum - - - - - 3 - - - AlignCenter - - - - - Depósitos - - - - - 3 - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Jardins (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Salas de uso geral e sanitários - - - - - 2,5 - - - AlignCenter - - - - - Regiões de arquivos deslizantes - - - - - 5 - - - AlignCenter - - - - - Call center - - - - - 3 - - - AlignCenter - - - - - Corredores dentro de unidades autônomas - - - - - 2,5 - - - AlignCenter - - - - - Corredores de uso comum - - - - - 3 - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Jardins (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Áreas de produção, processos, manufatura etc. - - - - - - - - - AlignCenter - - - - - Refeitórios - - - - - 3 - - - AlignCenter - - - - - Sanitários, vestiários - - - - - 2 - - - AlignCenter - - - - - Cozinhas - - - - - 3 - - - AlignCenter - - - - - Salas administrativas - - - - - 2.5 - - - AlignCenter - - - - - Corredores - - - - - 3 - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Hospitais - - - - - 3 - - - AlignCenter - - - - - Residenciais, hotéis (dentro de unidades autônomas) - - - - - 2,5 - - - AlignCenter - - - - - Residenciais, hotéis (uso comum) - - - - - 3 - - - AlignCenter - - - - - Edifícios comerciais, clubes, escritórios, bibliotecas - - - - - 3 - - - AlignCenter - - - - - Centros de exposição - - - - - 5 - - - AlignCenter - - - - - Centros de convenções e locais de reunião de pessoas, teatros, igrejas - - - - - 5 - - - AlignCenter - - - - - Escolas - - - - - 3 - - - AlignCenter - - - - - Cinemas, centros comerciais, shopping centers - - - - - 4 - - - AlignCenter - - - - - Servindo arquibancadas - - - - - 5 - - - AlignCenter - - - - - Com acesso público - - - - - 3 - - - AlignCenter - - - - - Sem acesso público - - - - - 2,5 - - - AlignCenter - - - - - Auditório com assentos fixos - - - - - 4 - - - AlignCenter - - - - - Auditório com assentos móveis - - - - - 5 - - - AlignCenter - - - - - Corredor - - - - - 3 - - - AlignCenter - - - - - Sala de aula - - - - - 3 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Dormitórios - - - - - 2,5 - - - AlignCenter - - - - - Cafés, restaurantes - - - - - 3 - - - AlignCenter - - - - - Salão de esportes, academia - - - - - 5 - - - AlignCenter - - - - - Salão de danças - - - - - 5 - - - AlignCenter - - - - - Sanitários, vestiários - - - - - 2 - - - AlignCenter - - - - - Cozinhas - - - - - 3 - - - AlignCenter - - - - - Depósitos - - - - - 5 - - - AlignCenter - - - - - Laboratórios - - - - - 3 - - - AlignCenter - - - - - Regiões de arquivos deslizantes - - - - - 5 - - - AlignCenter - - - - - Quadras esportivas - - - - - 5 - - - AlignCenter - - - - - Biblioteca (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Acessos, escadas, corredores e plataformas (estações de trens, metrôs, ônibus, portos) - - - - - 5 - - - AlignCenter - - - - - Aeroportos (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Áreas sujeitas ao tráfego de veículos (ver 6.6) - - - - - - - - - AlignCenter - - - - - Acessíveis apenas para manutenção e sem estoque de materiais - - - - - 0,1 - - - AlignCenter - - - - - - - - - AlignCenter - - - - - 5 - - - AlignCenter - - - - - - - - - AlignCenter - - - - - Dormitórios, enfermaria, sala de recuperação, sanitários - - - - - 2 - - - AlignCenter - - - - - Sala de raios X, sala de cirurgia - - - - - 3 - - - AlignCenter - - - - - Laboratório - - - - - 3 - - - AlignCenter - - - - - Corredores - - - - - 3 - - - AlignCenter - - - - - Sala de refeições, café, restaurante - - - - - 3 - - - AlignCenter - - - - - Depósitos - - - - - 20 kN/m2 até 3 m de altura de estoque + 5 kN/m 2 por metro de altura de estoque excedente - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Dormitórios - - - - - 1,5 - - - AlignCenter - - - - - Sanitários dentro de unidades autônomas - - - - - 1,5 - - - AlignCenter - - - - - Demais sanitários, vestiários - - - - - 2 - - - AlignCenter - - - - - Salão de esportes, academia - - - - - 5 - - - AlignCenter - - - - - Salão de festas, salão de jogos - - - - - 3 - - - AlignCenter - - - - - Áreas de uso comum - - - - - 3 - - - AlignCenter - - - - - Corredores de unidades autônomas - - - - - 1,5 - - - AlignCenter - - - - - Corredores de uso comum - - - - - 3 - - - AlignCenter - - - - - Restaurante - - - - - 3 - - - AlignCenter - - - - - Sala de assembleia com assentos fixos - - - - - 4 - - - AlignCenter - - - - - Sala de assembleia com assentos móveis - - - - - 5 - - - AlignCenter - - - - - Cozinhas - - - - - 3 - - - AlignCenter - - - - - Depósitos - - - - - 5 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Lavanderias (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Celas - - - - - 3 - - - AlignCenter - - - - - Corredores - - - - - 3 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Com possibilidade de acesso de pessoas - - - - - 3 - - - AlignCenter - - - - - Sem possibilidade de acesso de pessoas (somente acesso de manutenção) - - - - - 1 - - - AlignCenter - - - - - Incluindo equipamentos - - - - - 3 - - - AlignCenter - - - - - Incluindo equipamentos - - - - - 3 - - - AlignCenter - - - - - Circulações e lojas em geral - - - - - 4 - - - AlignCenter - - - - - Lojas com mezanino metálico (inclui o peso próprio do mezanino e sua carga de uso) - - - - - 7,5 - - - AlignCenter - - - - - Mezanino metálico (apenas carga de uso) - - - - - 2 - - - AlignCenter - - - - - Praça de alimentação - área de público - - - - - 5 - - - AlignCenter - - - - - Praça de alimentação - área de cozinhas e serviços - - - - - 7,5 - - - AlignCenter - - - - - Cinema e teatro (apenas carga de uso, plateia com assentos fixos) - - - - - 4 - - - AlignCenter - - - - - Cinema e teatro (acessos e corredores) - - - - - 4 - - - AlignCenter - - - - - Cinema e teatro (piso que o suporta) - - - - - 12,5 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Depósitos - - - - - 5 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Região de terminais de autoatendimento, caixas eletrônicos - - - - - 12 - - - AlignCenter - - - - - Supermercados (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Áreas de exposição - - - - - 3 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Depósitos - - - - - 5 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Acessos, corredores - - - - - 5 - - - AlignCenter - - - - - Salão - - - - - 3 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Depósitos - - - - - 5 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Cozinha (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Salão de vendas com gôndolas, balcões com ou sem refrigeração - - - - - 8 - - - AlignCenter - - - - - Salão de vendas com porta-paletes - - - - - 20 kN/m 2 até 3 m de altura de estoque + 3 kN/m 2 por metro de altura de estoque excedente - - - - - Depósitos (com ou sem porta-paletes) - - - - - 20 kN/m 2 até 3 m de altura de estoque + 5 kN/m 2 por metro de altura de estoque excedente - - - - - Padaria, açougue, peixaria, frios e demais áreas de manipulação de alimentos - - - - - 8 - - - AlignCenter - - - - - Área de caixas (check outs) - - - - - 4 - - - AlignCenter - - - - - Sanitários - - - - - 2 - - - AlignCenter - - - - - Salas administrativas - - - - - 2,5 - - - AlignCenter - - - - - Região de terminais de autoatendimento, caixas eletrônicos - - - - - 12 - - - AlignCenter - - - - - Salas-cofre, salas-forte - - - - - 10 - - - AlignCenter - - - - - Áreas técnicas (ver item nesta Tabela) - - - - - tabela - - - AlignCenter - - - - - Sem acesso público - - - - - 11,5 - - - AlignCenter - - - - - Com acesso público - - - - - 3 - - - AlignCenter - - - - - Residenciais, hotéis, hospitais (uso comum) - - - - - 3 - - - AlignCenter - - - - - Edifícios comerciais, corporativos e de escritórios - - - - - 3 - - - AlignCenter - - - - - Clubes, escolas, bibliotecas - - - - - 3 - - - AlignCenter - - - - - Centros de convenções e locais de reunião de pessoas, teatros, igrejas - - - - - 5 - - - AlignCenter - - - - - Cinemas, centros comerciais, shopping centers - - - - - 4 - - - AlignCenter - - - - - Servindo arquibancadas - - - - - 5 - - - AlignCenter - - - - - - - 40 - 20 - 241 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Carrregamentos Adicionais</span></p></body></html> - - - Qt::AutoText - - - - - - 360 - 20 - 251 - 31 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6120/19 - Tabela 10.</p></body></html> - - - - - - - 0 - 0 - 655 - 21 - - - - - - - - diff --git a/lajes_revisao.py b/lajes_revisao.py deleted file mode 100644 index de48bbb..0000000 --- a/lajes_revisao.py +++ /dev/null @@ -1,713 +0,0 @@ - - - -import sys, os -import math - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -from PyQt5.QtWidgets import QTableWidget,QTableWidgetItem - -import marcus - - - -class Lajes(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.ui = loadUi('lajes_alt.ui',self) - - self.lado1 = 'livre' - self.lado2 = 'livre' - self.lado3 = 'livre' - self.lado4 = 'livre' - self.label_37.hide() - self.label_38.hide() - self.label_40.hide() - self.label_41.hide() - global caso - caso = '1' - global lx_lage - lx_lage = 'l_menor' - self.lineEdit.setReadOnly(True) - - self.load_signals() - - self.setWindowTitle('Navier - Lajes') - self.show() - - - def load_signals(self): - print('lajes iniciado') - self.pushButton.clicked.connect(self.estado_l1) - self.pushButton_2.clicked.connect(self.estado_l2) - self.pushButton_3.clicked.connect(self.estado_l3) - self.pushButton_4.clicked.connect(self.estado_l4) - self.pushButton.clicked.connect(self.situacao_laje) - self.pushButton_2.clicked.connect(self.situacao_laje) - self.pushButton_3.clicked.connect(self.situacao_laje) - self.pushButton_4.clicked.connect(self.situacao_laje) - - self.pushButton_5.clicked.connect(self.teste) - self.pushButton_6.clicked.connect(self.calcular_laje) - - self.toolButton.clicked.connect(self.revelar_carg_acidental) - - def teste(self): - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - def revelar_carg_acidental(self): - print('oi--') - carga_adicional.show() - - def estado_l1(self): - if self.lado1 == 'livre': - self.lado1 = 'engastado' - pixmap = QPixmap('engv.png') - self.pushButton.setIcon(QIcon(pixmap)) - else: - self.lado1 = 'livre' - pixmap = QPixmap('livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - def estado_l2(self): - if self.lado2 == 'livre': - self.lado2 = 'engastado' - pixmap = QPixmap('engh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - else: - self.lado2 = 'livre' - pixmap = QPixmap('livh.png') - self.pushButton_2.setIcon(QIcon(pixmap)) - - def estado_l3(self): - if self.lado3 == 'livre': - self.lado3 = 'engastado' - pixmap = QPixmap('engh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - else: - self.lado3 = 'livre' - pixmap = QPixmap('livh.png') - self.pushButton_3.setIcon(QIcon(pixmap)) - - def estado_l4(self): - if self.lado4 == 'livre': - self.lado4 = 'engastado' - pixmap = QPixmap('engv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - else: - self.lado4 = 'livre' - pixmap = QPixmap('livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - def situacao_laje(self): - l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - l4 = self.lado4 - - cota_v1 = self.label_37 - cota_v2 = self.label_40 - cota_h1 = self.label_38 - cota_h2 = self.label_41 - - if (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre'): - global caso - caso = '1' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - global lx_lage - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '2' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') : - caso = '2' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'livre') or (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'livre') or (l1 == 'livre' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado') or (l1 == 'livre' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado'): - caso = '3' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'livre' and l4 == 'engastado'): - caso = '4' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '4' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'livre' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'livre' and l4 == 'engastado'): - caso = '5' - - cota_v1.hide() - cota_v2.hide() - cota_h1.show() - cota_h2.show() - - lx_lage = 'l_maior' - elif (l1 == 'livre' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado') or (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'livre'): - caso = '5' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - elif (l1 == 'engastado' and l2 == 'engastado' and l3 == 'engastado' and l4 == 'engastado'): - caso = '6' - - cota_v1.show() - cota_v2.show() - cota_h1.hide() - cota_h2.hide() - - lx_lage = 'l_menor' - else: - caso='ainda não existe, não sei como você chegou até aqui srsrrsrsrsrsrs' - - - print(caso) - self.lineEdit_6.setText(str(caso)) - - def calcular_laje(self): - lado_maior = float(self.lineEdit_3.text()) - lado_menor = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - - self.lineEdit_7.setText('') - self.lineEdit_9.setText('') - self.lineEdit_8.setText('') - self.lineEdit_10.setText('') - self.lineEdit_16.setText('') - self.lineEdit_14.setText('') - self.lineEdit_15.setText('') - self.lineEdit_16.setText('') - - if lado_maior != 0 and lado_menor != 0 and espes != 0 and d != 0: - lado1 = float(self.lineEdit_3.text()) - lado2 = float(self.lineEdit_4.text()) - espes = float(self.lineEdit_5.text()) - d = float(self.lineEdit_27.text()) - carreg_adicional = float(self.lineEdit_2.text()) - #fck_laje = float(self.comboBox.currentText()) - #fcd_laje = fck_laje/1.4 - #fyk_laje = float(self.comboBox_2.currentText()) - #fyd_laje = fyk_laje/1.15 - - pp = (espes * 25)/100 - self.lineEdit.setText(str(pp)) - - carreg_total = pp + carreg_adicional - #print(caso) - #print(lx_lage) - #---------------------------------- cálculo do Lx baseado no caso do tipo de situação da laje ----------------- - global lx - global lambda_laje - if lx_lage == 'l_menor': - lx = lado2 - lambda_laje = round((lado1/lado2),ndigits=2) - elif lx_lage == 'l_maior': - lx = lado1 - lambda_laje = round((lado2/lado1),ndigits=2) - print(lx_lage) - - - #---------------------------------- definição se a laje é unidirecional ou bidirecional baseado no lambda ----------------- - global tipo_laje - if float(lambda_laje) > 2.001: - tipo_laje = 'UNIDIRECIONAL' - self.laje_unidirecional(carreg_total) - else: - tipo_laje = 'BIDIRECIONAL' - #self.label_43.setStyleSheet("Background: url('laje_unidirecional_modelo.png') no-repeat") - - mx = my = nx = ny = '' - - if caso == '1': - caso1 = marcus.caso1 - linhas = len(caso1) - colunas = len(caso1[0]) - - for i in range(linhas): - aux = caso1[i][0] - if lambda_laje == aux: - print(caso1[i]) - mx = caso1[i][2] - my = caso1[i][3] - - print('mx: ',mx) - print('my: ',my) - - if caso == '2': - caso2 = marcus.caso2 - linhas = len(caso2) - colunas = len(caso2[0]) - - for i in range(linhas): - aux = caso2[i][0] - if lambda_laje == aux: - print(caso2[i]) - mx = caso2[i][2] - nx = caso2[i][3] - my = caso2[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '3': - caso3 = marcus.caso3 - linhas = len(caso3) - colunas = len(caso3[0]) - - for i in range(linhas): - aux = caso3[i][0] - if lambda_laje == aux: - print(caso3[i]) - mx = caso3[i][2] - nx = caso3[i][3] - my = caso3[i][4] - ny = caso3[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '4': - caso4 = marcus.caso4 - linhas = len(caso4) - colunas = len(caso4[0]) - - for i in range(linhas): - aux = caso4[i][0] - if lambda_laje == aux: - print(caso4[i]) - mx = caso4[i][2] - nx = caso4[i][3] - my = caso4[i][4] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - - if caso == '5': - caso5 = marcus.caso5 - linhas = len(caso5) - colunas = len(caso5[0]) - - for i in range(linhas): - aux = caso5[i][0] - if lambda_laje == aux: - print(caso5[i]) - mx = caso5[i][2] - nx = caso5[i][3] - my = caso5[i][4] - ny = caso5[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - if caso == '6': - caso6 = marcus.caso6 - linhas = len(caso6) - colunas = len(caso6[0]) - - for i in range(linhas): - aux = caso6[i][0] - if lambda_laje == aux: - print(caso6[i]) - mx = caso6[i][2] - nx = caso6[i][3] - my = caso6[i][4] - ny = caso6[i][5] - - print('mx: ',mx) - print('nx: ',nx) - print('my: ',my) - print('ny: ',ny) - - print(lx) - if mx != '': - self.lineEdit_7.setText(str(mx)) - momento_pos_x = ((carreg_total * (lx**2))/mx) - momento_pos_x = round(momento_pos_x,ndigits=4) - - if caso == '1': - print('caso 1----------------------------------------------------------') - elif caso == '2': - print('caso 2----------------------------------------------------------') - elif caso == '3': - print('caso 3----------------------------------------------------------') - elif caso == '4': - print('caso 4----------------------------------------------------------') - elif caso == '5': - print('caso 5----------------------------------------------------------') - elif caso == '6': - print('caso 6----------------------------------------------------------') - - - self.lineEdit_13.setText(str(momento_pos_x)) - #else: - # self.lineEdit_13.setText('0') - if nx != '': - self.lineEdit_9.setText(str(nx)) - momento_neg_x = round(((carreg_total * (lx**2))/nx),ndigits=4) - self.lineEdit_14.setText(str(momento_neg_x)) - #momento_neg_x = round(momento_neg_x,ndigits=2) - #else: - # self.lineEdit_14.setText('0') - if my != '': - self.lineEdit_8.setText(str(my)) - momento_pos_y = ((carreg_total * (lx**2))/my) - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - #else: - # self.lineEdit_15.setText('0') - if ny != '': - self.lineEdit_10.setText(str(ny)) - momento_neg_y = round(((carreg_total * (lx**2))/ny),ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - #momento_neg_y = round(momento_neg_y,ndigits=2) - #else: - # self.lineEdit_16.setText('0') - - ''' - if mx != '': - self.lineEdit_7.setText(str(mx)) - momento_pos_x = ((carreg_total * (lx**2))/mx) - momento_pos_x = round(momento_pos_x,ndigits=4) - self.lineEdit_13.setText(str(momento_pos_x)) - #else: - # self.lineEdit_13.setText('0') - if nx != '': - self.lineEdit_9.setText(str(nx)) - momento_neg_x = round(((carreg_total * (lx**2))/nx),ndigits=4) - self.lineEdit_14.setText(str(momento_neg_x)) - #momento_neg_x = round(momento_neg_x,ndigits=2) - #else: - # self.lineEdit_14.setText('0') - if my != '': - self.lineEdit_8.setText(str(my)) - momento_pos_y = ((carreg_total * (lx**2))/my) - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - #else: - # self.lineEdit_15.setText('0') - if ny != '': - self.lineEdit_10.setText(str(ny)) - momento_neg_y = round(((carreg_total * (lx**2))/ny),ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - #momento_neg_y = round(momento_neg_y,ndigits=2) - #else: - # self.lineEdit_16.setText('0') - ''' - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes") - - - def laje_unidirecional(self,carreg_total): - - #self.lineEdit_7.setText('') - #self.lineEdit_9.setText('') - #self.lineEdit_8.setText('') - #self.lineEdit_10.setText('') - #self.lineEdit_16.setText('') - #self.lineEdit_13.setText('') - #self.lineEdit_14.setText('') - #self.lineEdit_15.setText('') - #self.lineEdit_16.setText('') - - self.lado1 = 'livre' - pixmap = QPixmap('livv.png') - self.pushButton.setIcon(QIcon(pixmap)) - - self.lado4 = 'livre' - pixmap = QPixmap('livv.png') - self.pushButton_4.setIcon(QIcon(pixmap)) - - print('unidirecional') - #l1 = self.lado1 - l2 = self.lado2 - l3 = self.lado3 - #l4 = self.lado4 - l1 = l4 = 'livre' - print(carreg_total) - if (l2 == 'livre' and l3 == 'livre'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_ll2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/8 - momento_neg_y = 0 - elif (l2 == 'engastado' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_ee2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/24 - momento_neg_y = (carreg_total * (lx**2))/12 - elif (l2 == 'engastado' and l3 == 'livre') or (l2 == 'livre' and l3 == 'engastado'): - self.label_43.setStyleSheet("Background: url('laje_unidirecional_le2.png') no-repeat") - momento_pos_y = (carreg_total * (lx**2))/14.2 - momento_neg_y = (carreg_total * (lx**2))/8 - - print('momento_pos_y: ',momento_pos_y) - print('momento_neg_y: ',momento_neg_y) - - #----------------------------------- enviar resultados de saida ao programa --------------------------------------- - momento_pos_y = round(momento_pos_y,ndigits=4) - self.lineEdit_15.setText(str(momento_pos_y)) - momento_neg_y = round(momento_neg_y,ndigits=4) - self.lineEdit_16.setText(str(momento_neg_y)) - - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - self.lineEdit_11.setText(str(lambda_laje)) - self.label_16.setText(str(tipo_laje)) - self.lineEdit_12.setText(str(carreg_total)) - - self.resultados_laje() - - def truncar(self,x): - aux = '{:.9f}'.format(x) - return aux - - def resultados_laje(self): - fck_laje = float(self.comboBox.currentText()) - fcd_laje = fck_laje/1.4 - fyk_laje = float(self.comboBox_2.currentText()) - fyd_laje = fyk_laje/1.15 - espes = float(self.lineEdit_5.text()) - - area_concreto_laje = round(((espes/100)*1000000),ndigits=4) - - ro_armad_minima = 0 - if fck_laje == 20: - ro_armad_minima = 0.15/100 - elif fck_laje == 25: - ro_armad_minima = 0.15/100 - elif fck_laje == 30: - ro_armad_minima = 0.15/100 - elif fck_laje == 35: - ro_armad_minima = 0.164/100 - elif fck_laje == 40: - ro_armad_minima = 0.179/100 - - armad_max_laje = (0.4/100)*area_concreto_laje - armad_neg_min = ro_armad_minima*area_concreto_laje - armad_pos_cruz = round(0.67*(ro_armad_minima*area_concreto_laje), ndigits=2) - armad_princ_unid = ro_armad_minima*area_concreto_laje - armad_secnd_unid = max((0.2*armad_princ_unid), (90), (0.5*(ro_armad_minima*area_concreto_laje))) - - - mx = self.lineEdit_13.text() - if mx == '': - self.lineEdit_13.setText('0') - - my = self.lineEdit_15.text() - if my == '': - self.lineEdit_15.setText('0') - - nx = self.lineEdit_14.text() - if nx == '': - self.lineEdit_14.setText('0') - - ny = self.lineEdit_16.text() - if ny == '': - self.lineEdit_16.setText('0') - - fck_laje = float(self.comboBox.currentText()) - fyk_laje = float(self.comboBox_2.currentText()) - fcd_laje = fck_laje* 1000000/1.4 - fyd_laje = fyk_laje* 1000000/1.15 - d_laje = float(self.lineEdit_27.text()) - espes = float(self.lineEdit_5.text()) - - #------------------------------------------enxerto----------------------- - - mx = float(self.lineEdit_13.text()) - my = float(self.lineEdit_15.text()) - nx = float(self.lineEdit_14.text()) - ny = float(self.lineEdit_16.text()) - #print('mx: ',mx) - #print('nx: ',nx) - #print('my: ',my) - #print('ny: ',ny) - mk_x = mx - mk_y = my - - nk_x = nx - nk_y = ny - - - md_x = round(1.4 * mk_x, ndigits = 4) - kmd_x_laje = (md_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje = (1 - math.sqrt(1 - 2*kmd_x_laje))/0.8 - kz_x_laje = 1 - 0.4 * kx_x_laje - - as_x_laje = (md_x * 1000/ (kz_x_laje * (d_laje/100) * fyd_laje))*1000000 - - print('md_x: ', md_x) - print('kmd_x_laje: ', kmd_x_laje) - print('kx_x_laje: ', kx_x_laje) - print('kz_x_laje: ', kz_x_laje) - print('as_x_laje: ', as_x_laje) - - md_y = round(1.4 * mk_y, ndigits = 4) - kmd_y_laje = (md_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje = (1 - math.sqrt(1 - 2*kmd_y_laje))/0.8 - kz_y_laje = 1 - 0.4 * kx_y_laje - - as_y_laje = (md_y * 1000/ (kz_y_laje * (d_laje/100) * fyd_laje))*1000000 - - print('md_y: ', md_y) - print('kmd_y_laje: ', kmd_y_laje) - print('kx_y_laje: ', kx_y_laje) - print('kz_y_laje: ', kz_y_laje) - print('as_y_laje: ', as_y_laje) - - - nd_x = round(1.4 * nk_x, ndigits = 4) - kmd_x_laje_n = (nd_x * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_x_laje_n = (1 - math.sqrt(1 - 2*kmd_x_laje_n))/0.8 - kz_x_laje_n = 1 - 0.4 * kx_x_laje_n - - as_x_laje_n = (nd_x * 1000/ (kz_x_laje_n * (d_laje/100) * fyd_laje))*1000000 - - - nd_y = round(1.4 * nk_y, ndigits = 4) - kmd_y_laje_n = (nd_y * 1000)/(1 * ((d_laje/100)**2) * 0.85 * (fcd_laje)) - kx_y_laje_n = (1 - math.sqrt(1 - 2*kmd_y_laje_n))/0.8 - kz_y_laje_n = 1 - 0.4 * kx_y_laje_n - - as_y_laje_n = (nd_x * 1000/ (kz_y_laje_n * (d_laje/100) * fyd_laje))*1000000 - - #------------------------------------------ saida de dados ------------------------------------ - kmd_x_laje = self.truncar(kmd_x_laje) - kx_x_laje = self.truncar(kx_x_laje) - kz_x_laje = self.truncar(kz_x_laje) - as_x_laje = self.truncar(as_x_laje) - - kmd_y_laje = self.truncar(kmd_y_laje) - kx_y_laje = self.truncar(kx_y_laje) - kz_y_laje = self.truncar(kz_y_laje) - as_y_laje = self.truncar(as_y_laje) - ''' - kmd_x_laje_n = self.truncar(kmd_x_laje_n) - kx_x_laje_n = self.truncar(kx_x_laje_n) - kz_x_laje_n = self.truncar(kz_x_laje_n) - as_x_laje_n = self.truncar(as_x_laje_n) - - kmd_y_laje_n = self.truncar(kmd_y_laje_n) - kx_y_laje_n = self.truncar(kx_y_laje_n) - kz_y_laje_n = self.truncar(kz_y_laje_n) - as_y_laje_n = self.truncar(as_y_laje_n) - ''' - - self.lineEdit_17.setText(str(md_x)) - self.lineEdit_18.setText(str(kmd_x_laje)) - self.lineEdit_19.setText(str(kx_x_laje)) - self.lineEdit_20.setText(str(kz_x_laje)) - self.lineEdit_21.setText(str(as_x_laje)) - - self.lineEdit_22.setText(str(md_y)) - self.lineEdit_24.setText(str(kmd_y_laje)) - self.lineEdit_25.setText(str(kx_y_laje)) - self.lineEdit_26.setText(str(kz_y_laje)) - self.lineEdit_23.setText(str(as_y_laje)) - ''' - self.lineEdit_28.setText(str(nd_x)) - self.lineEdit_29.setText(str(kmd_x_laje_n)) - self.lineEdit_30.setText(str(kx_x_laje_n)) - self.lineEdit_31.setText(str(kz_x_laje_n)) - self.lineEdit_32.setText(str(as_x_laje_n)) - - self.lineEdit_37.setText(str(nd_y)) - self.lineEdit_34.setText(str(kmd_y_laje_n)) - self.lineEdit_36.setText(str(kx_y_laje_n)) - self.lineEdit_35.setText(str(kz_y_laje_n)) - self.lineEdit_33.setText(str(as_y_laje_n)) - ''' - - - - self.lineEdit_38.setText(str(area_concreto_laje)) - self.lineEdit_39.setText(str(ro_armad_minima*100)) - self.lineEdit_42.setText(str(armad_max_laje)) - self.lineEdit_40.setText(str(armad_neg_min)) - self.lineEdit_41.setText(str(armad_pos_cruz)) - self.lineEdit_43.setText(str(armad_princ_unid)) - self.lineEdit_44.setText(str(armad_secnd_unid)) - - if tipo_laje == 'UNIDIRECIONAL': - self.label_44.setText('Distribuição') - if float(as_y_laje) < armad_princ_unid: - self.label_45.setText('Mínima') - else: - self.label_45.setText('') - - if tipo_laje == 'BIDIRECIONAL': - if float(as_x_laje) < armad_pos_cruz: - self.label_44.setText('Mínima') - else: - self.label_44.setText('') - - if float(as_y_laje) < armad_pos_cruz: - self.label_45.setText('Mínima') - else: - self.label_45.setText('') - - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - lajes = Lajes() - - app.exec_() diff --git a/lajes_view.png b/lajes_view.png deleted file mode 100644 index f644c73008d6613ac4a7acea3d9b9f5192231c21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2100 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A1Qgk|*?TjP(~{}z9N_8ftWZ#tpO%@E z%D|v8v38=Z$6*JVqw&E@UA3CZ1PV_Clx|eedZZDm)6{w?EaU3ICztdyE=^dn!-8ua zE4#heYCgSlyR3F_H9cVO=w3Z}QTLP|`g~7w(rXaeU;y?zGsxqO4L(+6gU}LMsS}9Gnpe^#BKk!@r zQ`wnPH1*(#jSX5M9)0qE`0L8E#g?hvT@t|aqHg2cenEu|+$OKL{jJTpeOCCuf1a4k z-1@DIXX+-!0C%J;1%sh54Cn;J^n!hYSgW-Mp7hlVS2VyTGi>tHW zKK{aZA|U*<`GJFq22o4il=hdiTUY=7?z4Kod}M#o-27u6Nx*2~EbxddW?ScyC5lk&xj5P)KJ$T6;b1RSG!1gj> zh6V;^AYx$R0U-_p5K=e*LJ*08mNR&2aIn~u&Hwf+4hC@~*TEf##pQ!ZZg7O+K*lIE zg0QBpks_DF#2}CWLJkd#K*Yev20|##CeD1>C-`j1C?;l%T&MPOVYAk!>VA}cT&!wV*%X;&r zA4pd3DDROdG|p4z*>FjB$KH@N87Iz0G&F`f@9|!|N|o7<=VM;{>Z32@KQO%bZp6xv z#M2y!8dESQ^V$8q*YBy%*mPcP)3guK73uR9?m8s>ubsb9U5?)_ h+sEQ*jor@&m(17xiZx=$T;K=twWq6}%Q~loCII8Ue{=u< diff --git a/livv.png b/livv.png deleted file mode 100644 index c8233408fb7119faace0d42a6d678124761e5f6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^k_-%tA{=Z$);)%~oIr{#$=lrpNCUx7=iT){inG8Y zvY3H^TNs2H8D`Cq01C2~c>21sKV}gVlsC|tII9XMB%2u$QR1ARo12K565syM&-oUjky?EtE2X*E z{y_6GU8RG4t5#+B9cyz?5IAvP>8|{vo(_rR6`U+gjX)6&mLkv4yZ0viKUZ}3?$>nl z2ZA7V956|!8g!~=cKF);JEa09_ZPo4JeQYX`DvYZ)I&uyeIDs@bDQPW@4YpiS^O?? y-Nn-USCu!m&6>l%XsL}e;-k|a|K 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

Is`{GQ4Ty(1 z5m8g{9uFl2N8tTG{&I=Z3L`ex@d;uTYq;syD+QFWrD_zl@Pcd7`#}ywg`G~HMLs4S z{QCvu+*>OuzL{o4*C*;Zl<{siSuw6j6$up=gIkY@{&GG?7`kvGU=R=EF`+Z<;EDxZ z>!cJh`;I#hf*jw>Z+jfP)z4)hsswB|eNq2@#EVLhZTbdy`ugiI8z)L2+xNEjgnZ?l zgbMwt&{DbsyydUGb9^5g=}Tv3jf#+sut1Zhs+=$1{Xn#*Y7xS0b zOyP;*)V+l4Lqi627yv7b+s%9>ESFL?F#u9mLypERx}5-1*_MN?{g#%e?qu?((Gnua zWJj@QTD`NXr<|H}8$o67iZ77(0!XwC3AweQr=4En2HOPns8*5aYCSs4+g_}_A6$=h zqD@6zC$|q%>s8RV>e`{Yx;45NQ+HlkC8SqVP6%Coa8LABPWWe@n^)1kQzq1($g^&e zs^nR`t1r3fHJ>Z5O#w3*_$OBV%<868WqE$S+poJM4q*e6`t{TvTl#uWh6n)r`rwz7 zj)kqcM`^(x-3UV_P8jLzTOAfS;-&Hg6`_XEsaxD5YvSQYEE+TS1{d-^sCZTznE~Io z-RO@}N@5GQ#gBL>Fq8BMZY>R0cr zrJZmD`4|lk(wqN^jyN!F%ENM#c=4l@u%usk)UdDfc|K2Ql6n1wZ|1%-@<}lSB|M^ZTI7?ETZu%{rIr++`bB)% z(}I3Qamdn60zm&Z@`VeSNeF~ABc$?Db&t~2?tyg>75Z0N(D)Ibry;!=kFf_Ek1^k^ zNzW^;Ndgu1m+7Mo)QKzphG-g5G@c~ookV)f&yrYnAuY?LYH$M)wSCv>pDr$D{oz#GkiSf;XJ)?N4v=ytViJ zz$K?;%=k6zPL)fJFJYWij0D=M*eGcEfU7rynAHk5PDY~qbkN65;7uS9`PwERP+a++K1Rknt Kt5hqQhx`u&q?<4R diff --git a/logo.png b/logo.png deleted file mode 100644 index 573e8271d7e80cbc6d08408c90832994eb9ff784..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13060 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 S2X1iy0000 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 PJ%F5)qGUbDIOKl-+UeFo diff --git a/logo_brunel.png b/logo_brunel.png deleted file mode 100644 index f0d1bfe53cf4580f9ecac8d8ccecea25675834fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15696 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 diff --git a/marcus.py b/marcus.py deleted file mode 100644 index 9b196da..0000000 --- a/marcus.py +++ /dev/null @@ -1,707 +0,0 @@ - -import numpy as np - -caso1 = np.array([ -[0.50, 0.059, 169.18, 42.29 ], -[0.51, 0.063, 158.42, 41.20 ], -[0.52, 0.068, 148.64, 40.19 ], -[0.53, 0.073, 139.70, 39.24 ], -[0.54, 0.078, 131.55, 38.36 ], -[0.55, 0.084, 124.10, 37.53 ], -[0.56, 0.089, 117.25, 36.77 ], -[0.57, 0.095, 110.96, 36.05 ], -[0.58, 0.102, 105.19, 35.38 ], -[0.59, 0.108, 99.86, 34.76 ], -[0.60, 0.115, 94.94, 34.18 ], -[0.61, 0.122, 90.40, 33.64 ], -[0.62, 0.129, 86.20, 33.13 ], -[0.63, 0.136, 82.30, 32.66 ], -[0.64, 0.144, 78.68, 32.23 ], -[0.65, 0.151, 75.32, 31.82 ], -[0.66, 0.159, 72.19, 31.44 ], -[0.67, 0.168, 69.27, 31.09 ], -[0.68, 0.176, 66.54, 30.99 ], -[0.69, 0.185, 63.99, 30.46 ], -[0.70, 0.194, 61.60, 30.18 ], -[0.71, 0.203, 59.37, 29.93 ], -[0.72, 0.212, 57.27, 29.69 ], -[0.73, 0.221, 55.29, 29.47 ], -[0.74, 0.231, 53.44, 29.26 ], -[0.75, 0.240, 51.69, 29.07 ], -[0.76, 0.250, 50.04, 28.90 ], -[0.77, 0.260, 48.48, 28.74 ], -[0.78, 0.270, 47.01, 28.60 ], -[0.79, 0.280, 45.61, 28.46 ], -[0.80, 0.290, 44.29, 28.34 ], -[0.81, 0.301, 43.03, 28.23 ], -[0.82, 0.311, 41.84, 28.13 ], -[0.83, 0.322, 40.70, 28.04 ], -[0.84, 0.332, 39.62, 27.96 ], -[0.85, 0.343, 38.59, 27.88 ], -[0.86, 0.354, 37.61, 27.81 ], -[0.87, 0.364, 36.67, 27.75 ], -[0.88, 0.375, 35.77, 27.70 ], -[0.89, 0.385, 34.91, 27.65 ], -[0.90, 0.396, 34.09, 27.61 ], -[0.91, 0.407, 33.30, 27.57 ], -[0.92, 0.417, 32.54, 27.54 ], -[0.93, 0.428, 31.81, 27.51 ], -[0.94, 0.438, 31.11, 27.49 ], -[0.95, 0.449, 30.44, 27.47 ], -[0.96, 0.459, 29.79, 27.45 ], -[0.97, 0.469, 29.17, 27.44 ], -[0.98, 0.480, 28.57, 27.43 ], -[0.99, 0.490, 27.99, 27.43 ], -[1.00, 0.500, 27.43, 27.43 ], -[1.00, 0.500, 27.43, 27.43], -[1.01, 0.510, 26.89, 27.43], -[1.02, 0.520, 26.37, 27.43], -[1.03, 0.529, 25.87, 27.44], -[1.04, 0.539, 25.38, 27.45], -[1.05, 0.549, 24.91, 27.47], -[1.06, 0.558, 24.46, 27.48], -[1.07, 0.567, 24.02, 27.50], -[1.08, 0.576, 23.60, 27.52], -[1.09, 0.585, 23.19, 27.55], -[1.10, 0.594, 22.79, 27.57], -[1.11, 0.603, 22.41, 27.61], -[1.12, 0.611, 22.03, 27.64], -[1.13, 0.620, 21.67, 27.67], -[1.14, 0.628, 21.32, 27.71], -[1.15, 0.636, 20.99, 27.76], -[1.16, 0.644, 20.66, 27.80], -[1.17, 0.652, 20.34, 27.85], -[1.18, 0.660, 20.04, 27.90], -[1.19, 0.667, 19.74, 27.95], -[1.20, 0.675, 19.45, 28.01], -[1.21, 0.682, 19.17, 28.07], -[1.22, 0.689, 18.90, 28.13], -[1.23, 0.696, 18.64, 28.20], -[1.24, 0.703, 18.39, 28.27], -[1.25, 0.709, 18.14, 28.34], -[1.26, 0.716, 17.90, 28.42], -[1.27, 0.722, 17.67, 28.50], -[1.28, 0.729, 17.44, 28.58], -[1.29, 0.735, 17.23, 28.67], -[1.30, 0.741, 17.01, 28.76], -[1.31, 0.746, 16.81, 28.85], -[1.32, 0.752, 16.61, 28.94], -[1.33, 0.758, 16.42, 29.04], -[1.34, 0.763, 16.23, 29.14], -[1.35, 0.769, 16.05, 29.25], -[1.36, 0.774, 15.87, 29.36], -[1.37, 0.779, 15.70, 29.47], -[1.38, 0.784, 15.53, 29.58], -[1.39, 0.789, 15.37, 29.70], -[1.40, 0.793, 15.21, 29.82], -[1.41, 0.798, 15.06, 29.95], -[1.42, 0.803, 14.91, 30.07], -[1.43, 0.807, 14.77, 30.20], -[1.44, 0.811, 14.63, 30.34], -[1.45, 0.815, 14.49, 30.47], -[1.46, 0.820, 14.36, 30.61], -[1.47, 0.824, 14.23, 30.76], -[1.48, 0.827, 14.11, 30.90], -[1.49, 0.831, 13.99, 31.05], -[1.50, 0.835, 13.87, 31.21], -[1.50, 0.835, 13.87, 31.21], -[1.51, 0.839, 13.75, 31.36], -[1.52, 0.842, 13.64, 31.52], -[1.53, 0.846, 13.53, 31.68], -[1.54, 0.849, 13.43, 31.85], -[1.55, 0.852, 13.32, 32.01], -[1.56, 0.855, 13.22, 32.18], -[1.57, 0.859, 13.13, 32.36], -[1.58, 0.862, 13.03, 32.53], -[1.59, 0.865, 12.94, 32.71], -[1.60, 0.868, 12.85, 32.80], -[1.61, 0.870, 12.76, 33.08], -[1.62, 0.873, 12.68, 33.27], -[1.63, 0.876, 12.59, 33.46], -[1.64, 0.878, 12.51, 33.65], -[1.65, 0.881, 12.43, 33.85], -[1.66, 0.884, 12.35, 34.04], -[1.67, 0.886, 12.28, 34.24], -[1.68, 0.888, 12.21, 34.45], -[1.69, 0.891, 12.13, 34.65], -[1.70, 0.893, 12.06, 34.87], -[1.71, 0.895, 12.00, 35.08], -[1.72, 0.897, 11.93, 35.29], -[1.73, 0.899, 11.86, 35.51], -[1.74, 0.902, 11.80, 35.73], -[1.75, 0.904, 11.74, 35.95], -[1.76, 0.906, 11.68, 36.17], -[1.77, 0.907, 11.62, 36.40], -[1.78, 0.909, 11.56, 36.63], -[1.79, 0.911, 11.51, 36.86], -[1.80, 0.913, 11.45, 37.10], -[1.81, 0.915, 11.40, 37.33], -[1.82, 0.916, 11.34, 37.58], -[1.83, 0.918, 11.29, 37.82], -[1.84, 0.920, 11.24, 38.06], -[1.85, 0.921, 11.19, 38.31], -[1.86, 0.923, 11.15, 38.56], -[1.87, 0.924, 11.10, 38.81], -[1.88, 0.926, 11.05, 39.07], -[1.89, 0.927, 11.01, 39.32], -[1.90, 0.929, 10.96, 39.58], -[1.91, 0.930, 10.92, 39.84], -[1.92, 0.931, 10.88, 40.10], -[1.93, 0.933, 10.84, 40.37], -[1.94, 0.934, 10.80, 40.63], -[1.95, 0.935, 10.76, 40.91], -[1.96, 0.936, 10.72, 41.18], -[1.97, 0.938, 10.68, 41.45], -[1.98, 0.939, 10.64, 41.73], -[1.99, 0.940, 10.60, 42.01], -[2.00, 0.941, 10.57, 42.29],]) - - - -caso2 = np.array([ -[0.50, 0.135, 140.93, 59.20, 45.13], -[0.51, 0.145, 132.95, 55.31, 44.11], -[0.52, 0.154, 125.68, 51.77, 43.22], -[0.53, 0.165, 119.03, 48.56, 42.38], -[0.54, 0.175, 112.94, 45.64, 41.60], -[0.55, 0.186, 107.35, 42.97, 40.88], -[0.56, 0.197, 102.20, 40.54, 40.21], -[0.57, 0.209, 97.46, 38.32, 39.60], -[0.58, 0.220, 93.08, 36.28, 39.03], -[0.59, 0.232, 89.03, 34.41, 38.51], -[0.60, 0.245, 85.28, 32.69, 38.04], -[0.61, 0.257, 81.79, 31.11, 37.60], -[0.62, 0.270, 78.55, 29.66, 37.20], -[0.63, 0.282, 75.53, 28.31, 36.83], -[0.64, 0.295, 72.71, 27.07, 36.49], -[0.65, 0.308, 70.07, 25.93, 36.19], -[0.66, 0.322, 67.60, 24.86, 35.92], -[0.67, 0.335, 65.28, 23.88, 35.67], -[0.68, 0.348, 63.10, 22.97, 35.44], -[0.69, 0.362, 61.05, 22.12, 35.25], -[0.70, 0.375, 59.12, 21.33, 35.07], -[0.71, 0.388, 57.30, 20.59, 34.92], -[0.72, 0.402, 55.58, 19.91, 34.78], -[0.73, 0.415, 53.95, 19.27, 34.67], -[0.74, 0.428, 52.41, 18.67, 34.57], -[0.75, 0.442, 50.94, 18.11, 34.50], -[0.76, 0.455, 49.56, 17.59, 34.44], -[0.77, 0.468, 48.24, 17.10, 34.39], -[0.78, 0.481, 46.98, 16.64, 34.36], -[0.79, 0.493, 45.79, 16.21, 34.35], -[0.80, 0.506, 44.65, 15.81, 34.35], -[0.81, 0.518, 43.56, 15.43, 34.36], -[0.82, 0.531, 42.53, 15.08, 34.39], -[0.83, 0.543, 41.54, 14.74, 34.42], -[0.84, 0.554, 40.60, 14.43, 34.48], -[0.85, 0.566, 39.69, 14.13, 34.54], -[0.86, 0.578, 38.83, 13.85, 34.62], -[0.87, 0.589, 38.01, 13.59, 34.70], -[0.88, 0.600, 97.22, 13.34, 34.80], -[0.89, 0.611, 96.46, 13.10, 34.91], -[0.90, 0.621, 95.73, 12.88, 35.03], -[0.91, 0.632, 35.04, 12.67, 35.16], -[0.92, 0.642, 34.37, 12.47, 35.29], -[0.93, 0.652, 33.73, 12.28, 35.44], -[0.94, 0.661, 33.12, 12.10, 35.60], -[0.95, 0.671, 32.53, 11.93, 35.77], -[0.96, 0.680, 31.97, 11.77, 35.95], -[0.97, 0.689, 31.43, 11.61, 36.13], -[0.98, 0.697, 30.91, 11.47, 36.33], -[0.99, 0.706, 30.41, 11.33, 36.53], -[1.00, 0.714, 29.93, 11.20, 36.74], -[ 1.00, 0.714, 29.93, 11.20, 36], -[ 1.02, 0.730, 29.02, 10.96, 37], -[ 1.04, 0.745, 28.18, 10.73, 37], -[ 1.06, 0.759, 27.41, 10.53, 38], -[ 1.08, 0.773, 26.69, 10.35, 38], -[ 1.10, 0.785, 26.02, 10.18, 39], -[ 1.12, 0.797, 25.40, 10.03, 39], -[1.14, 0.808, 24.83, 9.89, 40.55], -[1.16, 0.819, 24.29, 9.77, 41.21], -[1.18, 0.829, 23.79, 9.65, 41.90], -[1.20, 0.838, 23.33, 9.45, 42.62], -[1.22, 0.847, 22.89, 9.44, 43.36], -[1.24, 0.855, 22.49, 9.35, 44.13], -[1.26, 0.863, 22.11, 9.27, 44.93], -[1.28, 0.870, 21.75, 9.19, 45.75], -[1.30, 0.877, 21.42, 9.12, 46.59], -[1.32, 0.884, 21.11, 9.05, 47.46], -[1.34, 0.889, 20.82, 8.99, 48.34], -[1.36, 0.895, 20.54, 8.93, 49.26], -[1.38, 0.901, 20.28, 8.88, 50.20], -[1.40, 0.906, 20.04, 8.83, 51.15], -[1.42, 0.910, 19.81, 8.79, 52.14], -[1.44, 0.915, 19.59, 8.74, 53.14], -[1.46, 0.919, 19.39, 8.70, 54.16], -[1.48, 0.923, 19.20, 8.67, 55.21], -[1.50, 0.927, 19.01, 8.63, 56.28], -[1.52, 0.930, 18.84, 8.60, 57.36], -[1.54, 0.934, 18.68, 8.57, 58.47], -[1.56, 0.937, 18.52, 8.54, 59.60], -[1.58, 0.940, 18.37, 8.51, 60.74], -[1.60, 0.942, 18.23, 8.49, 61.91], -[1.62, 0.945, 18.10, 8.46, 63.11], -[1.64, 0.948, 17.97, 8.44, 64.31], -[1.66, 0.950, 17.85, 8.42, 65.53], -[1.68, 0.952, 17.74, 8.40, 66.78], -[1.70, 0.954, 17.63, 8.38, 68.04], -[1.72, 0.956, 17.52, 8.36, 69.33], -[1.74, 0.958, 17.42, 8.35, 70.63], -[1.76, 0.960, 17.33, 8.33, 71.96], -[1.78, 0.962, 17.25, 8.32, 73.30], -[1.80, 0.963, 17.15, 8.30, 74.65], -[1.82, 0.965, 17.07, 8.29, 76.03], -[1.84, 0.966, 16.99, 8.28, 77.42], -[1.86, 0.968, 16.91, 8.27, 78.85], -[1.88, 0.969, 16.84, 8.26, 80.27], -[1.90, 0.970, 16.77, 8.24, 81.73], -[1.92, 0.971, 16.70, 8.23, 83.18], -[1.94, 0.972, 16.64, 8.23, 84.67], -[1.96, 0.974, 16.57, 8.22, 86.19], -[1.98, 0.975, 16.51, 8.21, 87.70], -[2.00, 0.976, 16.46, 8.20, 89.22],]) - - -caso3 = np.array([ -[1.00, 0.500, 37.14, 16.00, 37.14, 16.00], -[1.01, 0.510, 36.42, 15.69, 37.15, 16.00], -[1.02, 0.520, 35.72, 15.39, 37.16, 16.01], -[1.03, 0.529, 35.05, 15.11, 37.19, 16.03], -[1.04, 0.539, 34.42, 14.84, 37.22, 16.05], -[1.05, 0.549, 33.81, 14.58, 37.27, 16.08], -[1.06, 0.558, 33.21, 14.34, 27.32, 16.11], -[1.07, 0.567, 32.65, 14.10, 37.38, 16.15], -[1.08, 0.576, 32.11, 13.88, 37.45, 16.19], -[1.09, 0.585, 31.59, 13.67, 37.53, 16.24], -[1.10, 0.594, 31.09, 13.46, 37.61, 16.29], -[1.11, 0.603, 30.61, 13.27, 37.71, 16.35], -[1.12, 0.611, 30.14, 13.08, 37.81, 16.41], -[1.13, 0.620, 29.70, 12.91, 37.92, 16.48], -[1.14, 0.628, 29.27, 12.74, 38.04, 16.55], -[1.15, 0.636, 28.85, 12.57, 38.16, 16.63], -[1.16, 0.644, 28.46, 12.42, 38.29, 16.71], -[1.17, 0.652, 28.08, 12.27, 38.43, 16.79], -[1.18, 0.660, 27.71, 12.13, 38.58, 16.88], -[1.19, 0.667, 27.35, 11.99, 38.73, 16.98], -[1.20, 0.674, 27.00, 11.85, 38.89, 17.07], -[1.21, 0.682, 26.68, 11.73, 39.06, 17.18], -[1.22, 0.690, 26.36, 11.61, 39.23, 17.28], -[1.23, 0.696, 26.05, 11.49, 39.41, 17.39], -[1.24, 0.703, 25.75, 11.38, 39.59, 17.50], -[1.25, 0.709, 25.46, 11.28, 39.78, 17.62], -[1.26, 0.716, 25.18, 11.17, 39.98, 17.74], -[1.27, 0.722, 24.92, 11.07, 40.19, 17.86], -[1.28, 0.729, 24.66, 10.98, 40.40, 17.99], -[1.29, 0.735, 24.40, 10.89, 40.61, 18.12], -[1.30, 0.741, 24.16, 10.80, 40.83, 18.25], -[1.31, 0.746, 23.93, 10.72, 41.06, 18.39], -[1.32, 0.752, 23.70, 10.63, 41.29, 18.53], -[1.33, 0.758, 23.48, 10.56, 41.53, 18.67], -[1.34, 0.763, 23.26, 10.48, 41.77, 18.82], -[1.35, 0.769, 23.06, 10.41, 42.02, 18.97], -[1.36, 0.774, 22.86, 10.34, 42.28, 19.12], -[1.37, 0.779, 22.66, 10.27, 42.54, 19.28], -[1.38, 0.784, 22.48, 10.21, 42.80, 19.43], -[1.39, 0.789, 22.29, 10.14, 43.07, 19.60], -[1.40, 0.793, 22.12, 10.08, 43.35, 19.76], -[1.41, 0.798, 21.95, 10.02, 43.63, 19.93], -[1.42, 0.803, 21.78, 9.97, 43.92, 20.10], -[1.43, 0.807, 21.62, 9.91, 44.21, 20.27], -[1.44, 0.811, 21.46, 9.86, 44.50, 20.45], -[1.45, 0.815, 21.31, 9.81, 44.80, 20.62], -[1.46, 0.820, 21.16, 9.76, 45.11, 20.80], -[1.47, 0.824, 21.02, 9.71, 45.42, 20.99], -[1.48, 0.827, 20.88, 9.67, 45.74, 21.17], -[1.49, 0.831, 20.75, 9.62, 46.06, 21.36], -[1.50, 0.835, 20.61, 9.38, 46.38, 21.55], -[1.50, 0.835, 20.61, 9.58, 46.38, 21.55], -[1.51, 0.839, 20.49, 9.54, 46.71, 21.75], -[1.52, 0.842, 20.36, 9.50, 47.05, 21.94], -[1.53, 0.846, 20.24, 9.46, 47.38, 22.14], -[1.54, 0.849, 20.12, 9.42, 47.73, 22.34], -[1.55, 0.852, 20.01, 9.39, 48.07, 22.55], -[1.56, 0.855, 19.90, 9.35, 48.43, 22.76], -[1.57, 0.859, 19.79, 9.32, 48.78, 22.96], -[1.58, 0.862, 19.69, 9.28, 49.14, 23.17], -[1.59, 0.865, 19.58, 9.25, 49.51, 23.09], -[1.60, 0.868, 19.48, 9.22, 49.88, 23.60], -[1.61, 0.870, 19.39, 9.19, 50.25, 23.82], -[1.62, 0.873, 19.29, 9.16, 52.63, 24.04], -[1.63, 0.876, 19.20, 9.13, 51.01, 24.26], -[1.64, 0.878, 19.11, 9.11, 51.40, 24.49], -[1.65, 0.881, 19.02, 9.08, 51.79, 24.72], -[1.66, 0.884, 18.94, 9.05, 52.19, 24.95], -[1.67, 0.886, 18.86, 9.03, 52.58, 25.18], -[1.68, 0.888, 18.77, 9.00, 52.99, 25.41], -[1.69, 0.891, 18.70, 8.98, 53.39, 25.65], -[1.70, 0.893, 18.62, 8.96, 53.81, 25.89], -[1.71, 0.895, 18.54, 8.93, 54.22, 26.13], -[1.72, 0.897, 18.47, 8.91, 54.64, 26.37], -[1.73, 0.899, 18.40, 8.89, 55.07, 26.61], -[1.74, 0.902, 18.33, 8.87, 55.49, 26.86], -[1.75, 0.904, 18.26, 8.85, 55.92, 27.11], -[1.76, 0.906, 18.18, 8.83, 56.36, 27.36], -[1.77, 0.907, 18.13, 8.81, 56.80, 27.61], -[1.78, 0.909, 18.07, 8.80, 57.24, 27.87], -[1.79, 0.911, 18.00, 8.78, 57.68, 28.13], -[1.80, 0.913, 17.94, 8.76, 58.14, 28.39], -[1.81, 0.915, 17.88, 8.74, 58.59, 28.65], -[1.82, 0.916, 17.83, 8.73, 59.05, 28.91], -[1.83, 0.918, 17.77, 8.71, 59.51, 29.18], -[1.84, 0.920, 17.72, 8.70, 59.97, 29.44], -[1.85, 0.921, 17.66, 8.68, 60.44, 29.72], -[1.86, 0.923, 17.61, 8.67, 60.92, 29.99], -[1.87, 0.924, 17.56, 8.65, 61.39, 30.26], -[1.88, 0.926, 17.51, 8.64, 61.88, 30.54], -[1.89, 0.927, 17.46, 8.63, 62.36, 30.81], -[1.90, 0.929, 17.41, 8.61, 62.85, 31.09], -[1.91, 0.930, 17.36, 8.60, 63.34, 31.38], -[1.92, 0.931, 17.32, 8.59, 63.83, 31.66], -[1.93, 0.933, 17.27, 8.58, 64.33, 31.94], -[1.94, 0.934, 17.23, 8.56, 64.83, 32.23], -[1.95, 0.935, 17.18, 8.55, 65.34, 32.52], -[1.96, 0.936, 17.14, 8.54, 65.84, 32.81], -[1.97, 0.938, 17.10, 8.53, 66.36, 33.10], -[1.98, 0.939, 17.06, 8.52, 66.88, 33.40], -[1.99, 0.940, 17.02, 8.51, 67.39, 33.70], -[2.00, 0.941, 16.93, 8.50, 67.92, 34.00],]) - - -caso5 = np.array([ -[0.50, 0.111, 246.52, 108.00, 71.43, 36.00], -[0.51, 0.119, 230.76, 100.70, 69.53, 34.92], -[0.52, 0.127, 216.51, 95.07, 67.77, 33.91], -[0.53, 0.136, 203.52, 88.05, 66.13, 32.97], -[0.54, 0.145, 191.66, 82.56, 64.60, 32.10], -[0.55, 0.155, 180.83, 77.57, 63.18, 31.29], -[0.56, 0.164, 170.91, 73.01, 61.86, 30.53], -[0.57, 0.174, 161.79, 68.84, 60.63, 29.82], -[0.58, 0.184, 153.42, 65.02, 59.49, 29.16], -[0.59, 0.195, 145.72, 61.52, 58.42, 28.55], -[0.60, 0.206, 138.61, 58.30, 57.43, 27.98], -[0.61, 0.217, 132.05, 55.34, 56.52, 27.45], -[0.62, 0.228, 125.98, 52.61, 55.67, 26.96], -[0.63, 0.239, 120.36, 50.09, 54.88, 26.51], -[0.64, 0.251, 115.15, 47.76, 54.15, 26.08], -[0.65, 0.263, 110.30, 45.61, 53.48, 25.69], -[0.66, 0.275, 105.81, 43.62, 52.85, 25.33], -[0.67, 0.287, 101.61, 41.77, 52.28, 25.00], -[0.68, 0.299, 97.70, 40.06, 51.76, 24.70], -[0.69, 0.312, 94.06, 38.47, 51.28, 24.42], -[0.70, 0.324, 90.65, 36.99, 50.84, 24.17], -[0.71, 0.337, 87.46, 35.61, 50.45, 23.93], -[0.72, 0.349, 84.48, 34.33, 50.09, 23.73], -[0.73, 0.362, 81.68, 33.13, 49.77, 23.54], -[0.74, 0.375, 82.05, 32.48, 49.05, 23.37], -[0.75, 0.387, 76.58, 30.96, 49.23, 23.22], -[0.76, 0.400, 74.26, 29.98, 49.00, 23.09], -[0.77, 0.413, 72.08, 29.07, 48.81, 22.98], -[0.78, 0.425, 70.02, 28.21, 48.65, 22.88], -[0.79, 0.438, 68.08, 27.40, 48.51, 22.80], -[0.80, 0.450, 66.24, 26.65, 48.40, 22.74], -[0.81, 0.463, 64.51, 25.94, 48.32, 22.69], -[0.82, 0.475, 62.88, 25.27, 48.26, 22.65], -[0.83, 0.487, 61.33, 24.64, 48.22, 22.63], -[0.84, 0.499, 59.86, 24.05, 48.21, 22.63], -[0.85, 0.511, 58.47, 23.49, 48.22, 22.63], -[0.86, 0.522, 57.15, 22.97, 48.25, 22.65], -[0.87, 0.543, 55.90, 22.47, 48.30, 22.68], -[0.88, 0.545, 54.71, 22.00, 48.37, 22.72], -[0.89, 0.558, 53.58, 21.56, 48.46, 22.77], -[0.90, 0.567, 52.51, 21.14, 48.57, 22.84], -[0.91, 0.578, 51.49, 20.75, 48.69, 22.91], -[0.92, 0.589, 50.51, 20.37, 48.83, 22.99], -[0.93, 0.599, 49.59, 20.02, 48.99, 23.09], -[0.94, 0.610, 48.70, 19.68, 49.17, 23.19], -[0.95, 0.620, 47.86, 19.37, 49.06, 13.30], -[0.96, 0.629, 47.06, 19.06, 49.57, 23.42], -[0.97, 0.639, 46.29, 18.78, 49.80, 23.56], -[0.98, 0.648, 45.55, 18.50, 50.04, 23.70], -[0.99, 0.658, 44.85, 18.25, 50.29, 23.84], -[1.00, 0.667, 44.18, 18.00, 50.56, 24.00], -[1.00, 0.667, 44.18, 18.00, 50.56, 24.00], -[1.02, 0.684, 42.92, 17.54, 51.14, 24.33], -[1.04, 0.700, 41.77, 17.13, 51.76, 24.70], -[1.06, 0.716, 40.71, 16.75, 52.44, 25.10], -[1.08, 0.731, 39.74, 16.41, 53.18, 25.52], -[1.10, 0.745, 38.84, 16.10, 53.95, 25.97], -[1.12, 0.759, 38.01, 15.81, 54.78, 26.45], -[1.14, 0.772, 37.25, 15.55, 55.64, 26.95], -[1.16, 0.784, 36.54, 15.31, 56.55, 27.47], -[1.18, 0.795, 35.88, 15.09, 57.50, 28.02], -[1.20, 0.806, 35.27, 14.89, 58.50, 28.59], -[1.22, 0.816, 34.70, 14.71, 59.53, 29.19], -[1.24, 0.825, 34.17, 14.54, 60.60, 29.80], -[1.26, 0.834, 33.68, 14.38, 61.71, 30.44], -[1.28, 0.843, 33.22, 14.23, 62.85, 31.10], -[1.30, 0.851, 32.79, 14.10, 64.03, 31.77], -[1.32, 0.859, 32.38, 13.98, 65.25, 32.47], -[1.34, 0.866, 32.01, 13.86, 66.50, 33.18], -[1.36, 0.872, 31.65, 13.75, 66.78, 33.92], -[1.38, 0.879, 31.02, 13.65, 69.10, 34.67], -[1.40, 0.885, 31.01, 13.56, 70.45, 35.44], -[1.42, 0.890, 30.72, 13.47, 71.83, 36.23], -[1.44, 0.896, 30.44, 13.39, 73.24, 37.03], -[1.46, 0.901, 30.18, 13.32, 74.69, 37.86], -[1.48, 0.906, 29.94, 13.25, 76.17, 38.70], -[1.50, 0.910, 29.71, 13.18, 77.67, 39.55], -[1.52, 0.914, 29.49, 13.12, 79.20, 40.43], -[1.54, 0.918, 29.28, 13.07, 80.77, 41.32], -[1.56, 0.922, 29.09, 13.01, 82.36, 12.22], -[1.58, 0.926, 28.90, 12.96, 83.98, 43.14], -[1.60, 0.929, 28.73, 12.91, 85.64, 44.08], -[1.62, 0.932, 28.56, 12.87, 87.31, 45.03], -[1.64, 0.935, 28.40, 12.83, 89.02, 46.00], -[1.66, 0.938, 28.25, 12.79, 90.77, 46.99], -[1.68, 0.941, 28.11, 12.75, 92.52, 47.98], -[1.70, 0.943, 27.97, 12.72, 94.32, 49.00], -[1.72, 0.946, 27.84, 12.68, 96.13, 50.03], -[1.74, 0.948, 27.72, 12.65, 97.98, 51.08], -[1.76, 0.950, 27.60, 12.62, 99.86, 52.14], -[1.78, 0.952, 27.49, 12.60, 101.75, 53.21], -[1.80, 0.954, 27.38, 12.57, 103.68, 54.30], -[1.82, 0.956, 27.28, 12.55, 105.63, 55.41], -[1.84, 0.958, 27.18, 12.52, 107.62, 56.63], -[1.86, 0.960, 27.09, 12.50, 109.63, 57.67], -[1.88, 0.961, 27.00, 12.48, 111.65, 58.81], -[1.90, 0.963, 26.91, 12.46, 110.71, 59.97], -[1.92, 0.964, 26.83, 12.44, 115.79, 61.15], -[1.94, 0.966, 26.75, 12.42, 117.89, 62.33], -[1.96, 0.967, 26.68, 12.41, 120.04, 63.55], -[1.98, 0.968, 26.61, 12.39, 122.19, 64.76], -[2.00, 0.970, 26.54, 12.37, 124.35, 65.98]]) - - -caso6 = np.array([ -[1.00, 0.500, 55.74, 24.00, 55.74, 24.00], -[1.01, 0.510, 54.65, 32.53, 55.75, 24.00], -[1.02, 0.520, 53.61, 32.09, 55.78, 24.02], -[1.03, 0.529, 52.62, 22.66, 55.82, 24.04], -[1.04, 0.539, 51.76, 22.26, 55.88, 24.07], -[1.05, 0.549, 50.76, 21.87, 55.96, 24.11], -[1.06, 0.558, 49.89, 21.50, 56.06, 24.16], -[1.07, 0.567, 49.06, 21.15, 56.17, 24.22], -[1.08, 0.576, 48.27, 20.82, 56.30, 24.28], -[1.09, 0.585, 47.50, 20.50, 56.44, 24.36], -[1.10, 0.594, 46.77, 20.20, 56.59, 24.44], -[1.11, 0.603, 46.07, 19.90, 56.76, 24.52], -[1.12, 0.611, 45.40, 19.63, 56.95, 24.62], -[1.13, 0.620, 44.75, 19.36, 57.14, 24.72], -[1.14, 0.628, 44.13, 19.10, 57.36, 24.83], -[1.15, 0.636, 43.54, 18.86, 57.58, 24.94], -[1.16, 0.644, 42.97, 18.63, 57.82, 25.06], -[1.17, 0.652, 42.42, 18.40, 58.07, 25.19], -[1.18, 0.660, 41.89, 18.19, 58.33, 25.33], -[1.19, 0.667, 41.38, 17.98, 58.60, 25.47], -[1.20, 0.675, 40.90, 17.79, 58.89, 25.61], -[1.21, 0.682, 40.42, 17.60, 59.19, 25.76], -[1.22, 0.689, 39.97, 17.42, 59.49, 25.92], -[1.23, 0.696, 39.54, 17.24, 59.81, 26.09], -[1.24, 0.703, 39.12, 17.07, 60.15, 26.25], -[1.25, 0.709, 38.71, 16.91, 60.49, 26.43], -[1.26, 0.716, 38.32, 16.76, 60.84, 26.61], -[1.27, 0.722, 37.95, 16.61, 61.20, 26.79], -[1.28, 0.729, 37.58, 16.47, 61.57, 26.98], -[1.29, 0.735, 37.23, 16.33, 61.96, 27.18], -[1.30, 0.741, 36.89, 16.20, 62.05, 27.38], -[1.31, 0.746, 36.57, 16.07, 62.75, 27.58], -[1.32, 0.752, 36.25, 15.95, 63.16, 27.79], -[1.33, 0.758, 35.95, 15.83, 63.59, 28.01], -[1.34, 0.763, 35.65, 15.72, 64.02, 28.23], -[1.35, 0.769, 35.37, 15.61, 64.46, 28.45], -[1.36, 0.774, 35.09, 15.51, 64.91, 28.68], -[1.37, 0.779, 34.83, 15.41, 65.36, 28.91], -[1.38, 0.784, 34.57, 15.31, 65.83, 29.15], -[1.39, 0.789, 34.32, 15.21, 66.31, 29.39], -[1.40, 0.793, 34.08, 15.12, 66.79, 29.64], -[1.41, 0.798, 33.85, 15.04, 67.29, 29.89], -[1.42, 0.803, 33.62, 14.95, 67.79, 30.15], -[1.43, 0.807, 33.40, 14.87, 68.30, 30.40], -[1.44, 0.811, 33.19, 14.79, 68.82, 30.67], -[1.45, 0.815, 32.98, 14.71, 69.34, 30.94], -[1.46, 0.820, 32.78, 14.64, 69.88, 31.21], -[1.47, 0.824, 32.59, 14.57, 70.42, 31.48], -[1.48, 0.827, 32.40, 14.50, 70.97, 31.76], -[1.49, 0.831, 32.22, 14.43, 71.53, 32.04], -[1.50, 0.835, 32.04, 14.37, 72.10, 32.33], -[1.50, 0.835, 32.04, 14.37, 72.10, 32.33], -[1.51, 0.839, 31.87, 14.31, 72.67, 32.62], -[1.52, 0.842, 31.71, 14.25, 73.25, 32.92], -[1.53, 0.846, 31.54, 14.19, 73.84, 33.22], -[1.54, 0.849, 31.39, 14.13, 74.44, 33.52], -[1.55, 0.852, 31.24, 14.08, 75.04, 33.82], -[1.56, 0.855, 31.09, 14.03, 75.65, 34.13], -[1.57, 0.859, 30.94, 13.97, 76.27, 34.45], -[1.58, 0.862, 30.80, 13.92, 76.90, 34.79], -[1.59, 0.865, 30.67, 13.88, 77.52, 35.08], -[1.60, 0.868, 30.54, 13.83, 78.17, 35.41], -[1.61, 0.870, 30.41, 13.79, 78.81, 35.73], -[1.62, 0.873, 30.28, 13.74, 79.47, 36.06], -[1.63, 0.876, 30.16, 13.70, 80.13, 36.40], -[1.64, 0.878, 30.04, 13.66, 80.80, 36.74], -[1.65, 0.881, 29.93, 13.62, 81.48, 37.08], -[1.66, 0.884, 29.82, 13.58, 82.16, 37.42], -[1.67, 0.886, 29.71, 13.54, 82.84, 37.77], -[1.68, 0.888, 29.60, 13.51, 83.54, 38.12], -[1.69, 0.891, 29.50, 13.47, 84.24, 38.47], -[1.70, 0.893, 29.40, 13.44, 84.95, 38.83], -[1.71, 0.895, 29.30, 13.40, 85.67, 39.19], -[1.72, 0.897, 29.20, 13.37, 86.38, 39.55], -[1.73, 0.899, 29.11, 13.34, 87.12, 39.92], -[1.74, 0.902, 29.02, 13.31, 87.85, 40.29], -[1.75, 0.904, 28.93, 13.28, 88.60, 40.67], -[1.76, 0.906, 28.84, 13.25, 89.34, 41.04], -[1.77, 0.907, 28.76, 13.22, 90.09, 41.42], -[1.78, 0.909, 28.68, 13.19, 90.86, 41.81], -[1.79, 0.911, 28.60, 13.17, 91.61, 42.19], -[1.80, 0.913, 28.52, 13.14, 92.39, 42.58], -[1.81, 0.915, 28.44, 13.12, 93.17, 42.97], -[1.82, 0.916, 28.37, 13.09, 93.96, 43.37], -[1.83, 0.918, 28.29, 13.07, 94.75, 43.77], -[1.84, 0.920, 28.22, 13.05, 95.54, 44.17], -[1.85, 0.921, 28.15, 13.02, 96.35, 44.57], -[1.86, 0.923, 28.09, 13.00, 97.16, 44.98], -[1.87, 0.924, 28.02, 12.98, 97.98, 45.09], -[1.88, 0.926, 27.95, 12.96, 98.80, 45.81], -[1.89, 0.927, 27.89, 12.94, 99.62, 46.22], -[1.90, 0.929, 27.83, 12.92, 100.46, 46.64], -[1.91, 0.930, 27.77, 12.90, 101.30, 47.06], -[1.92, 0.931, 27.71, 12.88, 102.14, 47.49], -[1.93, 0.933, 27.65, 12.86, 103.00, 47.92], -[1.94, 0.934, 27.60, 12.85, 103.85, 48.35], -[1.95, 0.935, 27.54, 12.83, 104.72, 48.78], -[1.96, 0.936, 27.49, 12.81, 105.58, 49.21], -[1.97, 0.938, 27.43, 12.80, 106.45, 49.65], -[1.98, 0.939, 27.38, 12.78, 107.35, 50.10], -[1.99, 0.940, 27.33, 12.76, 108.23, 50.55], -[2.00, 0.941, 27.28, 12.75, 109.12, 50.99],]) - - -caso4 = np.array([ -[1.00, 0.833, 37.47, 14.40, 55.74], -[1.02, 0.844, 36.71, 14.22, 57.01], -[1.04, 0.854, 36.00, 14.05, 58.33], -[1.06, 0.863, 35.34, 13.90, 59.70], -[1.08, 0.872, 34.74, 13.76, 61.12], -[1.10, 0.880, 34.18, 13.64, 62.59], -[1.12, 0.887, 33.66, 13.52, 64.10], -[1.14, 0.894, 33.18, 13.42, 65.66], -[1.16, 0.900, 32.74, 13.32, 67.26], -[1.18, 0.906, 32.32, 13.24, 68.91], -[1.20, 0.912, 31.93, 13.16, 70.60], -[1.22, 0.917, 31.57, 13.08, 72.33], -[1.24, 0.922, 31.23, 13.01, 74.11], -[1.26, 0.926, 30.92, 12.95, 75.92], -[1.28, 0.931, 30.62, 12.89, 77.78], -[1.30, 0.934, 30.34, 12.84, 79.66], -[1.32, 0.938, 30.08, 12.79, 81.60], -[1.34, 0.942, 29.83, 12.74, 83.58], -[1.36, 0.945, 29.60, 12.70, 85.58], -[1.38, 0.948, 29.39, 12.66, 87.63], -[1.40, 0.950, 29.18, 12.62, 89.72], -[1.42, 0.953, 28.99, 12.59, 91.84], -[1.44, 0.955, 28.80, 12.56, 94.01], -[1.46, 0.958, 28.63, 12.53, 96.20], -[1.48, 0.960, 28.47, 12.50, 98.45], -[1.50, 0.962, 28.31, 12.47, 100.72], -[1.52, 0.964, 28.16, 12.45, 103.02], -[1.54, 0.966, 28.02, 12.43, 105.38], -[1.56, 0.967, 27.89, 12.40, 107.76], -[1.58, 0.969, 27.76, 12.38, 110.16], -[1.60, 0.970, 27.64, 12.37, 112.61], -[1.62, 0.972, 27.53, 12.35, 115.12], -[1.64, 0.973, 27.42, 12.33, 117.62], -[1.66, 0.974, 27.31, 12.32, 120.17], -[1.68, 0.975, 27.21, 12.30, 122.76], -[1.70, 0.977, 27.12, 12.29, 125.41], -[1.72, 0.978, 27.03, 12.27, 128.04], -[1.74, 0.979, 26.94, 12.26, 130.75], -[1.76, 0.800, 26.86, 12.25, 133.50], -[1.78, 0.980, 26.78, 12.24, 136.24], -[1.80, 0.981, 26.70, 12.23, 139.05], -[1.82, 0.982, 26.63, 12.22, 141.85], -[1.84, 0.983, 26.56, 12.21, 144.78], -[1.86, 0.983, 26.49, 12.20, 147.65], -[1.88, 0.984, 26.43, 12.19, 150.60], -[1.90, 0.985, 26.37, 12.18, 153.54], -[1.92, 0.985, 26.31, 12.18, 156.53], -[1.94, 0.986, 26.25, 12.17, 159.56], -[1.96, 0.987, 26.19, 12.16, 162.60], -[1.98, 0.987, 26.14, 12.16, 165.75], -[2.00, 0.988, 26.09, 12.15, 168.80], - - - -[0.50, 0.238, 37.06, 50.40, 49.92], -[0.51, 0.253, 30.06, 47.48, 49.11], -[0.52, 0.268, 23.66, 44.83, 48.38], -[0.53, 0.283, 17.79, 42.42, 47.72], -[0.54, 0.298, 12.39, 40.23, 47.13], -[0.55, 0.314, 107.42, 38.23, 46.60], -[0.56, 0.330, 102.83, 36.40, 46.13], -[0.57, 0.345, 98.59, 34.74, 45.72], -[0.58, 0.361, 94.67, 33.21, 45.35], -[0.59, 0.377, 91.02, 31.81, 45.04], -[0.60, 3.930, 87.62, 30.52, 44.77], -[0.61, 0.409, 84.46, 29.33, 44.54], -[0.62, 0.425, 81.51, 28.24, 44.35], -[0.63, 0.441, 78.76, 27.24, 44.21], -[0.64, 0.456, 76.18, 26.30, 44.10], -[0.65, 0.472, 73.76, 25.45, 44.02], -[0.66, 0.487, 71.49, 24.65, 43.98], -[0.67, 0.502, 69.36, 23.91, 47.97], -[0.68, 0.517, 67.36, 23.22, 43.98], -[0.69, 0.531, 65.47, 22.59, 44.03], -[0.70, 0.545, 63.69, 22.00, 44.11], -[0.71, 0.559, 62.01, 21.44, 44.21], -[0.72, 0.573, 60.42, 20.93, 44.34], -[0.73, 0.587, 58.92, 20.45, 44.49], -[0.74, 0.600, 57.51, 20.00, 44.66], -[0.75, 0.613, 56.16, 19.38, 44.86], -[0.76, 0.625, 54.89, 19.19, 45.08], -[0.77, 0.637, 53.69, 18.83, 45.33], -[0.78, 0.649, 52.54, 18.48, 45.59], -[0.79, 0.661, 51.46, 18.16, 45.87], -[0.80, 0.672, 50.42, 17.86, 46.17], -[0.81, 0.683, 49.44, 17.57, 46.30], -[0.82, 0.693, 48.51, 17.31, 46.84], -[0.83, 0.703, 47.62, 17.06, 47.20], -[0.84, 0.713, 46.78, 16.82, 47.57], -[0.85, 0.723, 45.97, 16.60, 47.97], -[0.86, 0.732, 45.21, 16.39, 48.38], -[0.87, 0.741, 44.48, 16.19, 48.81], -[0.88, 0.750, 43.78, 16.00, 49.25], -[0.89, 0.758, 43.12, 15.82, 49.71], -[0.90, 0.766, 42.48, 15.66, 50.19], -[0.91, 0.774, 41.87, 15.50, 50.68], -[0.92, 0.782, 41.30, 15.35, 51.18], -[0.93, 0.789, 40.74, 15.21, 51.50], -[0.94, 0.796, 40.21, 15.07, 52.24], -[0.95, 0.803, 39.70, 14.95, 52.78], -[0.96, 0.809, 39.22, 14.82, 53.35], -[0.97, 0.816, 38.75, 14.72, 53.92], -[0.98, 0.822, 38.31, 14.60, 54.52], -[0.99, 0.828, 37.88, 14.50, 55.12], -[1.00, 0.833, 37.47, 14.40, 55.74], - - -]) -''' -lx = 6 -ly = 5 - -lamdia = ly/lx -lamdia = round(lamdia,ndigits=2) - -linhas = len(caso2) -colunas = len(caso2[0]) - -for i in range(linhas): - aux = caso2[i][0] - - if lamdia == aux: - print(caso2[i]) - -print() -''' \ No newline at end of file diff --git a/nassau_logo.png b/nassau_logo.png deleted file mode 100644 index f8523ffe0f558fd2dc90968972c5ebd5ffe8a32e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15062 zcmV;{Iw{48P)WFU8GbZ8()Nlj2>E@cM*03ZNKL_t(|+U=cpcooOF z|39;PihA#;BM_qZW()>{4L0t^PTX5e?AYlxzDaIwk{h=qPVBhihOxl~u)zjQ?}#cu z0)dcFLA}=_9UYx>cIWrU9yO~NC%Mma^Sivyqk3j%XJ)_q&f5nr(`C9$m+3NHrpt7h zE{)FT7s~%DbFHeb`d>9y(esb$+Pa26zxqM&`J!@k1d3D$^z-7UkKfIdv1z^9KKs&g zdHCcxq+$jHRuepQ_hJ^$pVO<|d#k>X8@8k)g^Cm!3L1+S%w*|(cl2tvWmmdf{?Qk> zGzE}=n<-<5^Sh@W7yS*qq@qf0-nySd8Cj&ICgZd_2oCh)Cy(DR2AXVfX_frLU*6{N zNA6_Om{c*?!jzU*$&Fif(cbRBq=5^`UEjZjn8?sx*X0)$%XJ%fl6Ah2>#v@{l!<8^ zI(C{p`;T$U!a3Y>lzwf*uL|?vaP$0GImr7H(fuMVMCJ!9Lv@nd*sSBTNn}( zO>{^gx(@M)(cF2X*g?K_^^JjJACYvT(f=~IwoRc{^62J@ZpR+b{{^^?!#x< zbNCE<4`tF~@91?=tL%N?sJ3ui^YRf-b3d(dAeZ0fyc*0iLql-scC3n))iB^e&JOF z_<9Yx_@}bYa{N>_`_eN8ZC6oKE1!Sqee8B8cP?4XU3cAdqOIM|*>mUnv`tA)5aUOu zQC?a_SV%Cb$wNhQd_3_nF-#mkx=;JCkdS9ajY*@TuAYRX_(6dNFmdvv6PhqFbZ7$i z-+k+gPQ5jYm%?F9Ri`EpdchDsO08X z@&3mfrK&0*B)Wvd8D~&XQ6)%pbVWxOgYN>-VWF6Wg0Izz=5`Vh6*g%5;*xT%Sum3$ z$4*k;)cj~@P~hABwcC5(1Q&|SS@!fJ#70F3fU|kI(%0L!-+mWfJySgP%je{obA`rz zE|xH9>~Ip|WBUbCcvvV_FEf#m;otgzB7y@ZKlro%mO%l&goOn?13dHQ$}i-nYqyYJ zTq;u%;`+VEnX`F}8I!`1V`s?Dy|Ck(yI4;O4D>-YLsV$60LUpQlJ`IMI}RQ>HQ=~{ zLj!1OZNt{#Kw7LM4NLxRU=z~#Ql#;aB@&yXgEv-ujzFLbKx%-%tqY_o5Yml6;C4$s z-MEW28+QS^XJ!g+BvL4-!q^%$RCXQ7V*jx$gw&BjpbG^lb#&<&1fBOEe5cR_RMj@} z@yF|FXli20h^`us&Q&*m=&`UP82NhLuc0VH^U1~6*);M?w1 zv!}9p%|?!&$(4I|?q$KeTLzU~6jT(%CCNI9E)lZ3?a-mI)HkoGtaVo`6>#FDwr|#H{TI#2&51o1;dh} ziH(k+ysVPIuwYJR=3_Q1%$PbJSBI0@hE{U(3JLTNVAhQBv@|tx{B#cX4jnHqD>EmJ zrn0Jz^MxfO#Dp;}Et&A}V9pnma^&P$T$;|bv8m(~l+e`fLZA^6ipA5xUNRK5e87>9_PERn`H8$_C zx3m%+5kANZBbYXM9KZbWgPcB{LsfbCx4$&sL^#seDy4*>$uWe5`lD+Sm!{EfZznDy zgoLP2beD!irMVUQC3vd$WK4{ zilK2~%$`1O&^g#04um2|N{Z*;!4uThHLba1u=U(a^NUKbwc1HZ8A{Ii5~QLSc-ACB z(>z>6K}zuQveMdO$K~wk5)E40?X)@C(Sc^WgOZAB9348v<+W&1GAt#Lrj{1cM#N(h zItUXr)%8?X*N`@H7zj5g?tz8)$|`y6Xa-hQ;n2ZD5Dhm(ypBGO|v~qT)haZU-wr z{*2Y1t;g5bhi9HzN;3oxJVg z{~+^x8A9re9g#?2fDZ?bo<&m?0=%uU5}cJ4h+QE4?($Brg; zNDy_+tsF={$=q4v+5F*O2YhgK4NWgdp(HC(+Zh@X{PsZYYU}FPXow|J>O_Z!iR#+A z23=8ug{~779y+MtR8`+7b*U2*7J6v{)+JDFeZv|Q6#<31(B~rs5y3%|`)gZMSDT@s zPD0nv0jsz5#W4SXX9gd0gOs`?+B3I``g*D8f~fEi(f@cF*XW4(y3~WsCiTUzpulIo zZ4Nb!%^8T!{ap|d960$q+1bi#YUTGH{uNm{rN&26M^Q916m(P+bbPETQi5A^A zDG2iOrn$v|KxfXZv3$AmrG6J^&w+!o=wgK-V+w(wQ?U@xL*SJN6pzB8d1O*mb}J!5 z8lUO{gpeS0k3=Foa-p%HqUTbHo^q5h?joe8F$iQ2g`xLLVcb!Xc*bdnLP9DabfnNgnmpIY&LMTquuERk4RIaC zGheN13c|2XNZIwXbC6PiL_tW&=(J%>oitutl7cWKB3!Iq_qD8Vup!XVQ9ZLVfM7gW z-561)SwgDDmM2Ysjv;1s3Y^08uykV)MDGXGEoy>9Lq|nLqDTdao0#ZOzFhgz0P1=W zu|te2bs_qHgXA|A3W-EPk)2P|5RRp1(FDElilE0d`}A%As{0z*>(d_C^E?oGJY-}2 zj5U(q=v(%H!8iKsRO0A-1U-N(I<-pC1p?z?NRJ|-c>XUC()ig^-|xhrE-*kV1)3sz zX{v(mIT@IfAdD9PspIeOf9aeJpz%VkR9!BR#yi*9!WfL`=PJ(vNyV6y&~PhOYBUpW zp`t4iRq9Ao5W44?D8?Jsx$si&8nnQ$yGbE1n*}4k#prpN{(YzyXX~gclR1C*Ph?IG zs@~0>JMkn2#H#E9ija~bYXEOJd??i{=tAja{$1@fAyB08wuzohu19~06il5oVh~NV zY5wNz2X@%n9bH>~Tx0|{EWGNH!I_<#FAp8h!mWcMHLNC;g$rg89TE9&1@P*cx(17v zb#ickf8oCk*c45omRF*dT||*e4>?8l0GsI77%e>#1yVur4x-!{Oeq3Ik+?M#MXH2^ zSgCDvAW=~fAXN{C6W{2`;H1&j4Fe9m-QnDEp|FHg*?Anz$j0H83`>k5^ZW%le#Ed# z0?Ufk8+mv2CUl_^6YkBmv!^oqifR8=++t69hJ5V*^eC24G|q39VsNb)y}vSE3;C)2o5x1Yjsgv+Kfx{B~5r!Q7tGewxcUPy?PQ| zlCkcQ)AfPvT9Jm)w6d;2{_WL|c;ll@_%C~qB z4F70|_;TApxoZ6`np^E`+jWeK<&`pVNc5m@`ObaExlme-hC+NyI9Jb_`ftV2j-1Gr zzklI1W=@;H&5P$VXX-fdZv{4q;t|v(dYAeykivkTTS`=6DD2|*)WoE>17xS<3!KyVeWuk&MN+IifD;8@QIk_F!9A4d9v+NWOJ9+4(g=0CKPMmHx zD3Fy?#Lj(#M|BjHRmn$x^4|vURy9K_{gy{{v9waY@%|@_P8-U7cihy~`eb&FY_U6N zX>Oyrp^4OC@l2gKw(Ik(Gv{QR!%a)816yk=ZMG)n%$h<{e4N;K=(s#|{4}~yjk!wW z%WN?-BszjIX(@~wkFa0#RsdukViAmBNfHt4_DA7cv}Sz-*XeA zM;QL#^M$4IR8}?@@{4J)*|C^SL`Q{_mO7O2W7A#?3-W*FJA=*ek?APtC`fdnc9|`l z3eqo=j>Rp|3f%}-Fy|ehI2F!a)If2tP?wg=x87OJ*}P&-pD(7(30@{Q@4XrgK*7aw)^FTNZgCARO!)hl7@816X-PS4 z4i`!BQM|e0bNSeVw{-!|YPDiEDHIhIari_wx?&>0*UG#rCStW(0r+suX1Vm|FOZpi zhS(wDBqqjUwpciIE}u6)SV#PjDBfPZK`LG*+S;A$J9L`5W*g{ErjAQv>ckOPy}W2_ zZcSeK=~o5!KmHpUo0>@*o=i}nKlP0*tonRANSHro%CcSQCzf4(#U$|^w^3;r_E0>= zO+yA#HI-JAi7aVmmT=>(ci>ia6pt~bo7+i@@#aKUD{)bNWJo)1R0M7!gPKVlq0(Se$j&x>t8cWEnr$s4#6}Pk70vF$ zSscnZ&HlqDCkFdH?3)RI+wig$_iGj-Gxc9psGfjhwi#rmp ziYmGNhWWhq?9au=Z^H9`dq@82*|+evnt5{RJ>0r@9w`Zi+o`OkUcUR`=e+XfT8^JM z&pUs8MgTnXhd1OaAACV#Tr|)B_DQBs93`Il=|joS|K;6+cR$(4=#j}h_n$xE_Uq>g zfJR$e@}_P33;w?R6F%FtkKCd%w(U72ubn&d(t{_vEolN!QKey(b}3MZm3`96MPWr# zOn^WaE;ONaiT6?mT}TpV>-_TP4w4dVG&Q&=t+Y~JXzw)+pCT9TVv zz|GfPMPyhoiU60(MZ2S8!2WX!O6Bp)bEvAIxz)wqL)~#+5n&;dN2LvWF(Nbwq}C;Q zc2am~&>iv75n}A<5m+oLLIG8DFZ=MMIFXz*1c8n!1d$;DFD|)pzIf!W#rRmv6jwKJ z_~e;BV~UN9UK$kSk5B~hF-9EU2cLW;U;AJK9WFOdE?vUYKe|VB0u3NGB2+wh&y7r) zn2MC$oIEi;5{n9c-rmH=MgXwt^Q{H%efBkefdM@EgC$)+0|@r_Exh;kMdD{aypzzN z08X7P;k}PHQ(0RlzoR4GPzxNYpv7dNLp4!q@nxsmpQ8k_RrjUL;)6r6Viy+NLInwK zA#q2$XiaP*W^o6jCR8&dvV!C|CsG$Uof2=Wj-t2-3Tk7-a2FP{4NY~RsCKTI8%Tb! zgWo?_Kvj7&F)^lYcgeRBss^{>v@<7(X_Rt7c4E z8sz5#Qqtja)7oYqu>XTcPGD=bF?*Wfh~InY6osXg-PS=N3soTvPCo$o`Fb1ju24|b z-inXKqU-Xe9hfsRZND=tSBl9P+UI94P!%d^UGh=8FR!`6c-axk*DgOAtv+madGSg|AaA*YS=Zr1EeZ}F z7d|(86Z4Bu;(r-H(AaiV+L%4Hou&8MNs6u|F-`-e0|hs}78l+o7wvWhtpmaX9r*kD zvVC7GZCWIC4FZdo8T}G=(Z-h6X zoni4cvj`3Le>=e62L!m>8m;z$!FJ&A3C4{{;lb}OCfL_Peo+}mGS2i^E?L;y-PD&< zMMYo$O;t_b0FHtXs>jWz7XqBgE2gEr9X}s4<3EX5#!MSsVz&) z@1V_Yp}H;@MYeMHjV-+L2RpMS*CBKx%D2Vt&BY3T$||ksnqc%WH$rctz115C(6q{lMXH7BscA5*Z!}z%^G*XY9yC5U_LqNlu)}?doOIw*920Br|u`6ac)vEl31T zO~>Bu=(qojGw0>0?0l}6KAA}qMlp8m2wFQ_?A(8>k0+(mDL$ZIP->`(z+^V{v3u>?)%aRiH(UIw68HEhY=kXf>Z=~7fY#cYkkUnu8|73*lxRBX~pWOF;M+gg#sym91vk-4Rvf+)#7PdEwm zujh)10x2{jwA^i_rrw{66;^VKHH2_8XPSxB)H?ivEY#Oa6k(yg)sAWwmmse-(%95Y zSa1*kDG71n#n(TSC$m>kSX#}t-G=};bSz6g_Vn}oc2rBRl(m^c5N++C#t~i z3Z%R;mLsRkl2 zNhO6BE0zz8U+FPV3j6~65JI52HEL=bz7yDlG_po?PsC23zaJ(c(KVg2@`^#P)igJ5 z-N-`;@b$r@DlcBrHtGg0=oa2{SXl4&#%;EemYjg*Z0DN!vtFD!ZnU_1_DmG1F?@JD ztriQL1*{8(l4;<#&`rXF3NwDIGxx?u6w%rhXQm@?laMJCEe^e ze2Ti}mKSuvd;>5lQXgO&^~9DbCQvNj+(sn=jo<(u?pQqc#H07zM0{Krr_bl};o7eU z28rjpswfOkiN~zywAk7?nsMe^*KOUV9kRNvt^tg&B3&3Vr6MKqanX2rTX5@wGuZ`$ z_ES+&O-(~HNS)y+u?!Y?*$Zrn06!CisR~}YKuU?d!-cSzsj8@622fsBg{lY~tsQu& z%{=r2ohRQE%ziOYONiVu~77?MrxLpdLt>1%cHnZ^R8NIgv z{{YM;GrAO1R`<3L^?u2s8w3jvzK}4`THuo$LaP z$X}^o5-uX6g4whk(A`8unmBNx9jW;AGLQ~L`GsX@2z0$SFy~$|Sp`yA<9?8hW>2zZfDrV6eY;N6UxCo7?;begOmMrAj*;8q5 zbF+NaCN}Rn+^bJr*XB#jh&yz;-J~VQi@R>V8b2$XI$OZ&AFQFEtZ$NWqpdA@-R52R z`v;RSB*xeZ-ENQ?Zs|gkIx!KUV#(sU1o^0xRMqj(+AUPoH}%b5IFlncY)eOXYutFv zbgr5{apam|MjPLdGo_BCjksih!sm8 zxPjDRF=SsT=J$Vnmk&SN)HS}`+=68_jW(PpOzHQNhCmy_&Ab)>8Ubl;1 zJ^L0Lcc#ngIwPs4w7O2dz3PjCbsKjwWx@zzB11((vu*x`!U|lPpwZUO*$c%0+<(XQ z;z#%2N}#tltH0R8^MC(@%*hsE=zvh=}Q2@VPxG@h>48|$tp zli5Fd7}J@vlq%jlYY(Et8UR2jNHaz+C^T8=YV|ngZ zKNbM>jZKe!yk^t#(-%rOnVG}+!U}X%!K7)-nmUT4q!?;yS~!|4Bf?)@u?)lMNw2z&8h4n+`5LB zNf7Mk%ZTCeEM7Dlhg0Wwe|j4fGpX@m#19F>>2#s%CJtxj;&5rGx|0zpaf}?Ez>`0? zi%H`~ij`|N%QxOz$N9o?{Jc#}nJ|igKtJ*eipV-&f)o~f&4OtYQ@L*5WR~1^!`f}T z4=>rUc@Kv(&SEtyBqhWW792!1PdxNJMyCxE?|<^8T=Ug_GPAOYiwPq>E*iHcxma3-+wJ7WYiD!+_ZBlECF#5R zMpdM00wD;}-8^J&MmIai!OT{NMwwGGLTTd`?{*TCC3+Ir%bc_Y`(gFfv3NT@98IDC zy4#EGdsSXv>BJ?yK$^P4h=f4UPGWQ`H!SqW<%ADDYr>_6(iu7bO?y-)b#yqem=xyD z8qZZ%PU?ye5x6m%1P-U6Sw@BihaAnwk|Ci%JohWZeBgAtmkTsvBZC>Ta2AU@Gf+H1 z2q+L98p5cwWKW)ejtcmC8+Alfvx(s;vHUbKwmUFNlO)7N@%Y1OoXR>&O>I4XzCNTR z#WP`CDzT9fV(ab$^6`5YGcqlW;VE$p84^W$`f>6LikUWLj3*z$2*p>0#K&{L`|r43 zoIH~wPi9}Bx~2}7%Y_7z<0H9d-psB97^I8f;6TEI0`CB*ZD?APom;RZzp#YrntISB z!GQrJC&e-*Z5XjJ5n|m}Tjhi?!x%qyq-PBctAUqU!OPol>Ob`Tn?!kaoy#zy*>YM)z`g{_2VBd^E!6a*cv?#(QYxb(domN zb|3EcvvV!YAltEw^Cw`2iq9}BT9_Tbgl0^BHc%x3H@a@({KXhv{UDe%Tg*7z{wSWr z7+96jZ5`5E0DHH(w(zgDo+cI+Kc*+l>?wHwp+B7AY92 z8d@aM&^R?=GUC_(r`3t?I4fR5G=xcj2b4yhp@IxHjxw;{l8|R$|@@5Q~&ihw(mQI%dK(m>4lV4Rm<3@fitn3P8a7cVd}MH=>PMM{E%G{T3a5z7lYPDMi`LdYT$ zVb=<*5#Y21P-%;$#->u=sAFrBB*(NdZd4tb+lSm@3uu0rF|w;<&n# z3Hs8o5mRB+B_!QNrUtT_42k4=mlQxE7Uia=L%6zT4ck`N}OCt?>}GAwxradA;= z|2Hkx(D)&uuBGjTgXvkz_8vdWd!KH>YF2~m8X8^*3key}O>@Px@w~b6OGc(9{htL| zzhLuE9wzdB{gmv;Ig5%>7sDtY(7Dwao&lHY!s`kPi9ZaYd}lo^U%GK$6j&S<9F}m3 zU7^%SGoWJaf{5u-RIe zHGMocT+>}AdELgZWlePpw)PHM+dJrRv~ka^ix@k4g!s;21Mr(ZgO<%3@Uz)*t8Nsj zb`@X|(g^()x(WMvC)EcX*z*;%0v&IskCF4KxI6*oDpCks__1<*BUT@O?z=_dw(BfZ z)jC+Sxr(w{A3B^?BtD*)FO~3MZ)VRJxW-vzXmH58AATY8i!0c;Z67XFg8ZyZ9z6_; z)l5U3gZ+oAD6gm?C?trhW=+_!Cq09znp#}Co85;_QB&WFkGGj?XHUXxR&hEVG&I>b zc_tT&$--^7EE+i2LV&-Y7hWb4HH~)O_;4d$US0zx37ZrZlOhNY>tEsdYDYS6tk{51 z299zmE~}I;zwr@2`_)T?hlb*GI>;+5WkgB>M^BuV(9Ycy~eix$VuM&OUw zgf0of?%PK5#x}efO$anknKz}Y5>I_wFn@UuPMk4w(;^4=-C^STtK8(|xAWy*$=AD0 zNNGZo8nb84VBF|ogZkMXx$jnSp}1U@RW@)UyO23ECh+?6PrVoxY?PDAI#(dS*u01L zKH13H4F|ZGU&S-OxR({L{HOTi-&V*!z4jR~5uyCo(+`uHWK@%^Z?Zl5`um?PU-j8m ze7wB}1{;#m!xLFBYa*|{zn=Ow7q7m*fj__gp?vB`_ldq>Q!pul0RO%<*vhNx<=s#G z7TxN_q2oCel~%~4e(IvVzG598tlPpbesVt#+;$ypt#)2~V>O$$rek-wSoQfPx$KXx zG55;p{POX8hztp2<>y;?@s*E_%&DIK(U!L4rN4Lk*sb1}G}TkV z$jG+R6^tS=QlRQ8?vov~9B3xyHeVusV!}OI!>NE&bx>U30iL2OxLuKKKNQZ>&zaeC zu$571rQCL7Dc8++V79n%D=OhZKHPTQRRsI_erw%|VF^P-WMmj90<+0PC(r=KjT|a| z|I{PmsULkGZ!Z(a&R*c1RU0XxLk5J=AD7m*j@wN{PkKw|6jQZo$QZ6Q^@fkW|$)k$x<@*XOB8u_DmV&m&g!zdMc`mV{LS6^U7u z|2WtHBClS6_lzs)P&_Hgo#mdSA-CxY=t9Ay`%t&rPJLcI5sP%9pA5uzl0Q;Pqok5l z&=m!#fDncbYgMg;NBUsv2;xvi0BB)Y6*oeY+`Mo$H(WdWl7(oi$<$SvwLiLN$>OEg z&Ygx-6n3X)vNt^gp$dfXr0(^|y02+y$Y{0MS@w%ZNKHu`xXzfWB7{Ojc*x}c_~}F9 z$p>%7OSoyUx%kUlpRxR-FJy19DaMznZ9s1I9%>tnOj}qL`}^!G&f_j zwQ)S-T-X1{rVZupTdu~}$3#_a4Vn&Tatf$zwygn(kB$(xUw0)VhsO5mZ*O`AzJ5MT zpD+qtm+U-noSKHljPA&g_GE0OosOCgk0xu>#WnycL1=&^GPr~Is8HTm5y%5S z_vNisX4)MplhP8n=k`V4Ny8DIZGND22@UXj`>HD@Vo{)@!%6zFEL=_(if43s4_JJ? zBYo0KudZMKOGY=?OeT~b(Y8NX`u(Ag-ggTop;6snFKv6}X>fjd& z%jChsr@3+AEN)#q8&#+rKAuJ9*$chE8W9mjR7?adP8WY$zJ^!d{Y=(3H9eXTJ4F0; z*^k8ZiDN`^VjSp#)nD%5k1xNoB>O_X1o-LW_lpJdx@!&BHa4$0c<2-}r;O#!o91IS zshl{Q$LVwVlX{2=$pRxxe4soK;YpBDR1=EH^v{6}AY#!CBJj?8Xfs>8xSN!^q4h~Y zhw8>_jurna{V4y!M(J~HxYxNcUF_8CJe82T3hF6HRN@nK@=9EM_=Sl&TO6nJ1R+6T z{NUajnKoh6cQXxmS}TKa@|2+(mx`m=m( z#d^vc+R*jEw*|A=jM^joJ2)Vq@E1S2f9=xyZbZ@Dlvg+K(i^Mzbp1AIY`Y4oqVxgV zvCMNcG&eG7!f(|Bwyp+av}r zs~2Xo87Z8!w>!~wH$rOITH4sM{UExoqUmm$Tib|<3hxt$*_X4aeV##haKIfEwT;ql zck;oSjTDsD^Vc_4^W~PkQV}X9Je3-I(4Irbu{oT4xMmxuf)!oyhfz7VnMR>-Wz!Aq1zYy`lk>6%Yg>aX1CMP z(E(Bt92khnWJU@|jEmqezy2Z75n;4BI@qvf58HPh_|{&f1h>0yxrUhVU~#dcQg%2U zeEh{8&K6ej((+Ha|Bf2~1x@SjH!J6Yyld&N@iwa*J$ecqfkiQPf@7JvWS#GOD9A4# zyI1Vke^jnqw}r2^9O3MRO8)ffr)=1=SKhqnDsjuTbHurVBDreqWNm2l)lR_`rC$UX_xy%%1hsscs*7jZTK z-;|-EH8)q53lpthug6={&>JMq9jyqL#Hv}lG*w;bNW~~yN|(t*dSb3r94>!Wt?!_z zL10xBmfn9Ozxd%jYeNG3cm7XVu5oya;T z&AJn_*-ZY$5}A@1-!G@_aJq20G#XoM$=@{OCdNdI^Z7;6Zg;R@`%#W%U!H}lo@qvT#JlNo2uQ&UmH zvrj+5*b&J{q0nG!;l;nb&!J;^?AmYW2*Lioh1cBqGo*kHSN}Cobk9qtdX%4kT4w8I z=uJ%(aX)?%|2yu)ZuUiJCM*sGlT^?Z4XNm!;5+G&?G%sCLHDHbsc4FhCIlBN6@(JZ zPkwMGPd{m7Xza6)>*=ct;ak;d951AN|k|ch%^m{D4ax6$Uc^50O*`4T`=CO0N zChyvJj42aGa`VF3V#4SVV*Kb4;)ZMHh-s5YA|>oSaEj8ZTG?W63x4ITk66EDuk7Za zVdBY$Z$B|(avHiK*tGKyAAGW**BI`*ZLzrR`l}H_(%95OePc6w(oZsSSOVA2oAKg= zF(bsp(Zj|38I#4#38Oq_m|U{+iliYb2sA0Fs;y(77Y>Xq)U2xiTCf55B&CSNpFF)b z=tob`5*>w(f~tEm=%opyf+|%^n$lG|UGJ<|DRjV%s=G;ziQu^+!?g2L@L&gZ&$R|s8m0y;tm?HkvH1_!;JdFDJBnfX|(eT}fS zO|~`7&26;U+GuRHO&VxiQ^$`Izj*8}rj8lbRs7oJbavX!3bN1TbH%jreXg51Wh`cs z!ubnjoXpH2ASkfWVhv>5jzcus+PY37iwFst?BnH)(9L-J2e5O01}C%6_nJ&#U;sjB z42cZHVQ=T~kxXVypG;V2a4$dZteKMt4ECY0teX9Y4DJ>Y77Rjg+DyrqWulL|^>x4%}^tEq>hv66K zOLMz}ZM%=))?{#eTr^*Ny^q)4UssS@R4U7=YUC$hZkO5T3mBdl&Z2pf$;&U{?{BXm z{lsZmUR^H_XPlAy(obSC3FcinmBSflsj6)vI=b(9R3YIZ1o->Xp-Xn{KTcsum7F*} z4HIti3M=`KXW!(fzkNym@oy{SW50Y}KKIg_6qi<^DrRaMn)&3*?Yy_@3%T#$F?k7w zgMW;g&z_T&>sHgUc?13pji}N%li-3igk{c1ighbOXlPO+Dmak4ZoP&FzJEQ#l4Ad< z`<7JH$XDL{fI}HMoH<{NG?}oNVR+&Yg8Tz$X=|gZwg$VsgRyC;TzBD6ec}{+vmC@XD`;1_uUq$z*?jXSMut z>miPu$_1e?A}NZS7hS;vcilu>^uULlJ@?87@-J_E%=F3Q5yHvAH{<>hPHd*m!A600h?de#(tyv>}?FQc%qjQF@nEM`G%Z4=2!2|RrF z4Wy)Wm^X6*)2EK*LSYG8b{wXo!-Z;=#6(4N<)qQvdcz!w%WGKn z`&aSt_h&?MG^vTvESxus>#iNRTKm5w+@<`BwX$LTIy#OY!Po7k&>F-I$~xqjZilmJ# zJmB1F>gqC9f4+56bxl3GuAwUe-J{j}TNUoT^9E896UENGhvbgEM*$PM(2zo)XfSK~ z7!r~b$T)S5;*v@fMUavh%Z#aG80tCGw4$a?9yxZJynk3Z*}nTA zLN$`HC15oPzIVgbj2k;j9M3!}*KOSH$yxQBHlu5dOB>47b7zrrp$MC;9jjF#Hf{)` zJf4+|tTQtETp?+xDI~_nG)9I6hg_mb^q;4;q5@g9X%j6Q*Hc(o%YU_p;yXNrJ8!(2 zB{wY~E;{0J;>!PV`j-Qs{#d#^yK4_wN)T5rTEO_RssAG&%ezo0n;LA!!ML887*WNV z=g6bZqQsuVLp*2U7$H&`2+>_ewaf3@SqZ)K8pAbbcqdfja9=c!LD!RgCe^Nj)1sHp zOmy>0>8TIgb;gk5ISk|ns{QrbnqM( zWcZ+sbE;GXnrA#pSM-kNk+nOG?|2R_79JO)j^1NUyJHPIk1Ud&qoSl|ehL~1@k5A; z3cs|otNs-fI)|k^saNOdV>Rc z97opG6H@6u+p3S&s~|nfk?3_GiS#@&(If0s_5xw&C_D3Hdp=O3jI8bfvD($TCzlYN zRo$h6>WQB2KEkB4SI_#Oc>bpwSBdVR3c3V|o~K-Ra(iXxHFTYOrFiBbd-%UqMdIUU sz0AHZ(`C9$m+3NHrpt7h{>|zC0nhu3g$07)EC2ui07*qoM6N<$f=&uwT>t<8 diff --git a/navier_logo.png b/navier_logo.png deleted file mode 100644 index 0f2a8f6d63c653c96d8178565745918788694ca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3531 zcmV;+4K(tJP)WFU8GbZ8()Nlj2>E@cM*01YomL_t(|+U=cda8=iJ z$N&F*&b@kHAuz�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 w2B3CfbLvkPju60W&pw>{! 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 diff --git a/navier_pilar_esquema.png b/navier_pilar_esquema.png deleted file mode 100644 index 0b10b3d5ebad70190891719ce97d994697c3b6db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6227 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%0Akp{O85 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 diff --git a/pilar_area_aco.py b/pilar_area_aco.py deleted file mode 100644 index 5db82c4..0000000 --- a/pilar_area_aco.py +++ /dev/null @@ -1,115 +0,0 @@ - -import sys, os - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -from PyQt5.QtWidgets import QTableWidget,QTableWidgetItem -import pyqtgraph as pg - -file = 'file:///C:/Users/Acer/Desktop/tessssst/sample.pdf' - - -global pilares_info_aco -pilares_info_aco = [1.4,0.5,1.0,0.1,20,0.4,1000] - -class Pilar_area_aco(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('pilares_areas_aco.ui',self) - self.setWindowTitle('Navier - Pilares - Áreas de Aço') - - self.pushButton_4.setIcon(QtGui.QIcon('btn_flexaosimples.png')) - self.pushButton_4.setIconSize(QtCore.QSize(50,60)) - self.pushButton_5.setIcon(QtGui.QIcon('btn_flexaocomposta.png')) - self.pushButton_5.setIconSize(QtCore.QSize(50,60)) - - self.show() - - def load_signals(self): - print('inicializado') - self.pushButton_2.clicked.connect(self.calcular_area_aco) - self.pushButton.clicked.connect(self.recuperar_dados) - self.pushButton_3.clicked.connect(self.limpar) - self.pushButton_4.clicked.connect(lambda: self.abrirTabelaAuxiliar(file)) - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(file)) - - def recuperar_dados(self): - self.lineEdit_2.setText(str(pilares_info_aco[0])) - self.lineEdit_3.setText(str(pilares_info_aco[1])) - self.lineEdit_5.setText(str(pilares_info_aco[2])) - self.lineEdit_6.setText(str(pilares_info_aco[3])) - self.lineEdit_12.setText(str(pilares_info_aco[4])) - self.lineEdit_13.setText(str(pilares_info_aco[5])) - self.lineEdit_14.setText(str(pilares_info_aco[6])) - - def calcular_area_aco(self): - fck = float(self.lineEdit_12.text()) - fcd = fck/1.4 - fyd = 500/1.15 - area_concreto = float(self.lineEdit_13.text()) - nk = float(self.lineEdit_14.text()) - nd = 1.4 * nk - - mi_x = float(self.lineEdit_2.text()) - delta_x = float(self.lineEdit_3.text()) - - mi_y = float(self.lineEdit_5.text()) - delta_y = float(self.lineEdit_6.text()) - - omega_x = float(self.lineEdit_4.text()) - omega_y = float(self.lineEdit_7.text()) - - as_x = (omega_x * (area_concreto*1000000) * fcd)/fyd - as_y = (omega_y * (area_concreto*1000000) * fcd)/fyd - - as_x = round(as_x, ndigits=3) - as_y = round(as_y, ndigits=3) - - as_pilar_min = 0.15 * (nd/fyd) - if as_pilar_min < (0.004*area_concreto*100000): - as_pilar_min = round((0.004*area_concreto*100000), ndigits=3) - - as_pilar_max = round((0.08*area_concreto*1000000), ndigits=3) - - #-------------------------------------- saída de dados ---------------------------------------------------- - self.lineEdit_8.setText(str(as_x)) - self.lineEdit_9.setText(str(as_y)) - self.lineEdit_10.setText(str(as_pilar_max)) - self.lineEdit_11.setText(str(as_pilar_min)) - - def teste(self): - print('teste') - - def limpar(self): - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('1') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('1') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - inicio = Pilar_area_aco() - app.exec_() diff --git a/pilar_engaste_a.png b/pilar_engaste_a.png deleted file mode 100644 index 98ae26874fad3c31f745386abf1f4f519c3d81e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1756 zcmeAS@N?(olHy`uVBq!ia0vp^D;XFVTRGT(thO_kuYow3&dvdz&dv%2Mfqu&IjIZ` z8WU?L+Ik#zkU1J3yj4q7(7MASWrd%Zi|Y~3RS_)QOV?gl)qHZPywl`1m7_-k3v?}h zY>X%^D7<#{V5k6#y+cgQT#?u%NB*m}iW$nue1Cj*@A13V4lAb4$lBJ+xGGKZWJJiB zl<*@5w0B)-v|}(9GX7eTrO12!V=2FU{Cg#v)4%V`U+jKzCeMe?Bb$B9bsm*ITIuWk ze2>3OlB=hpow}Uqi>4#}G1Ft~9>)|!JeaAdJa>*VpI~>Z*tF;wqP$ZpCRwamA@!77 za=Pfb=s8z|T20@bjF&i*d0KPbWf>=)?ha)}K_jgj4xD02Te6nS@VHcW<*@yWAHq*2 zo!rXk)>k=Yp;OVH2lXFzM;qH4zEfje?C`rgx1NW&F?K=R*0=AIZ?Bur@Gt#=SN5;d zrU}0$f5{5wmS^01`@qrC;K|<`PRk}d@SM(ba^fG8)*87A`^EXEnEq~e_`d3Pbh7+% zeur7RqINOz@ik6lN?l*MXZPl<+w0Gp{QAw9;a#*i=I1M6V7#y;dAqwX{0G4WdzViJ zif|TqL>4nJ=qZCRW5rVYGN2%PiKnkC`(sWvAvuMXPt!DjLXst}5hc#~xw)x%B@E6* zsfi`2DGKG8B^e6tp1uL$jeOz^3@n>HT^vIyZoR!_n5C2`bL`>G)Z05-TG=;zVhgTl zXz0D0lq|nyPebq0-cqJ2M*anVeKgCG6z?e*+&-c@VaAyk=8r|rGym69sQGDlRoWG3 zDG)d)eEwC zJeyc=z5dGLRS`LjwcErucw$hmfU?MAL9O!h97ii!qV8BZ8OkjT+ujq<9zQA;^VG$rVTmXaeOS5_>PQfc*#$1Bf4oghtmT^B9ohklOxhJhe1)R(j;L>du0H z6-^uF&7Z$``*w4FN8__;n{B!l0a1C8U+tbW1t+j-lamP(#`{`r31_TQS9 z{FYCi@3%Z$|HxrqwaNaCad|d!zh`}lc>VQP)`IEP|D{*l|5$P6_S|*ML^Quf=}m71va_}dX??x%{(Gg&@ukYWk1g)MEpu90)qHS4$%5&x zzyDTR8r6OD(K82q^ZDmny-Y8e?6tmdT5@4PXWV*mol7d7E?yDx$CVeJ<7iFTC)M9# zr7ZHUEZ0WpRZqZ<+vSfZ2BfzfI@{Ib?lf1BYpJL#Sb>+eu^eZqn}$f)=?axAk_$g9 sj)s^Ze-|PVBbo#@0aCI6$%a{fn7^M{UeKeNybdJj>FVdQ&MBb@06o#PQ2+n{ diff --git a/pilar_engaste_b.png b/pilar_engaste_b.png deleted file mode 100644 index 75699effd246bed3db6c20503f1431525b946f53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1514 zcmeAS@N?(olHy`uVBq!ia0vp^D;XFVTRGT(thO_kuYow3&dvdz&dv%2Mfqu&IjIZ` z8WU?L+Ik#zkU1J3yj4q7(7MASWrd%Zi|Y~3RS_)QOV?gl)qHZPywl`1m7_-k3v?}h zY>X%^D7<#{V5k6#y+cgQT#?u%NB*m}iW$nue1Cj*@A13V4lAb4$lBJ+xGGKZWJJiB zl<*@5w0B)-v|}(9GX7eTrO12!V=2FU{Cg#v)4%V`U+jKzCeMe?Bb$B9bsm*ITIuWk ze2>3OlB=hpow}Uqi>4#}G1Ft~9>)|!JeaAdJa>*VpI~>Z*tF;wqP$ZpCRwamA@!77 za=Pfb=s8z|T20@bjF&i*d0KPbWf>=)?ha)}K_jgj4xD02Te6nS@VHcW<*@yWAHq*2 zo!rXk)>k=Yp;OVH2lXFzM;qH4zEfje?C`rgx1NW&F?K=R*0=AIZ?Bur@Gt#=SN5;d zrU}0$f5{5wmS^01`@qrC;K|<`PRk}d@SM(ba^fG8)*87A`^EXEnEq~e_`d3Pbh7+% zeur7RqINOz@ik6lN?l*MXZPl<+w0Gp{QAw9;a#*i=I1M6V7#y;dAqwX{0G4WdzViJ zif|TqL>4nJ=qZCRW5rVYGN2%PiKnkC`(sWvAq6RB>yYO_A;}Wgh!W@g+}zZ>5(ej@ z)Wnk16ovB4k_-iRPv3y>Mm}){2IhmFE{-7;x8B}b-+QP)=GeoceclQZ3`f~Sc^sM! z#v14}Br);`H9r%IXka`L>{-C#IAdYD-gIGysCU=xA5~6zrFOqA=&PF`&^jOxI8n6o z%p#4fBb%ev8pXG?w;fJ=+t}x(-1zCv%aT)%EY|5>u;|R$ zQr%C_X@%2*f?XdurdFl5B-uDU?E*=yaJ>f-+j`2_ z$xv=#*?N#VlS7+9V!fX-KN->Duek4GiqfjlZ9N zc*xQr;?m{exI`hyg-gj5NC{{vu}*CA5Y+4t0aA`jfbtLtAjLXS2`CSi0Lc$Ejc~7k z{RsC8*pKiqfcOy}24Fu94UH467-<(ntx{X&JP3a#{c|!TZ4ezUkn9E|MLzKQ?F&C2 SdQ0O!NX*mK&t;ucLK6Vz>NrmT diff --git a/pilar_engaste_c.png b/pilar_engaste_c.png deleted file mode 100644 index 67b1be5e41e26952c02afd7c066f68f8ebd4b992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^D;XFVTRGT(thO_kuYow3&dvdz&dv%2Mfqu&IjIZ` z8WU?L+Ik#zkU1J3yj4q7(7MASWrd%Zi|Y~3RS_)QOV?gl)qHZPywl`1m7_-k3v?}h zY>X%^D7<#{V5k6#y+cgQT#?u%NB*m}iW$nue1Cj*@A13V4lAb4$lBJ+xGGKZWJJiB zl<*@5w0B)-v|}(9GX7eTrO12!V=2FU{Cg#v)4%V`U+jKzCeMe?Bb$B9bsm*ITIuWk ze2>3OlB=hpow}Uqi>4#}G1Ft~9>)|!JeaAdJa>*VpI~>Z*tF;wqP$ZpCRwamA@!77 za=Pfb=s8z|T20@bjF&i*d0KPbWf>=)?ha)}K_jgj4xD02Te6nS@VHcW<*@yWAHq*2 zo!rXk)>k=Yp;OVH2lXFzM;qH4zEfje?C`rgx1NW&F?K=R*0=AIZ?Bur@Gt#=SN5;d zrU}0$f5{5wmS^01`@qrC;K|<`PRk}d@SM(ba^fG8)*87A`^EXEnEq~e_`d3Pbh7+% zeur7RqINOz@ik6lN?l*MXZPl<+w0Gp{QAw9;a#*i=I1M6V7#y;dAqwX{0G4WdzViJ zif|TqL>4nJ=qZCRW5rVYGN2%PiKnkC`(sWvAw?x4rMnhDA;}Wgh!W@g+}zZ>5(ej@ z)Wnk16ovB4k_-iRPv3y>Mm}){2BvGCE{-7;x8B~_$jhL>!QfcxnU>=9)HO__Q8pQ~%j&)s;Hb|D)DwgYYy*bb09k{xh2xC|YQ6Qvk2LJ00HPzaI| vw1ZwF`7zY$9jZKIm+VdwX%^D7<#{V5k6#y+cgQT#?u%NB*m}iW$nue1Cj*@A13V4lAb4$lBJ+xGGKZWJJiB zl<*@5w0B)-v|}(9GX7eTrO12!V=2FU{Cg#v)4%V`U+jKzCeMe?Bb$B9bsm*ITIuWk ze2>3OlB=hpow}Uqi>4#}G1Ft~9>)|!JeaAdJa>*VpI~>Z*tF;wqP$ZpCRwamA@!77 za=Pfb=s8z|T20@bjF&i*d0KPbWf>=)?ha)}K_jgj4xD02Te6nS@VHcW<*@yWAHq*2 zo!rXk)>k=Yp;OVH2lXFzM;qH4zEfje?C`rgx1NW&F?K=R*0=AIZ?Bur@Gt#=SN5;d zrU}0$f5{5wmS^01`@qrC;K|<`PRk}d@SM(ba^fG8)*87A`^EXEnEq~e_`d3Pbh7+% zeur7RqINOz@ik6lN?l*MXZPl<+w0Gp{QAw9;a#*i=I1M6V7#y;dAqwX{0G4WdzViJ zif|TqL>4nJ=qZCRW5rVYGN2%PiKnkC`(sWvAw}beNq(p$ul!Fw{A95Sh7?4 zz@z66C4dHD0~eBKEl@N5zJ9yXp@00-I0ZC2L?$+QI4 lambda_pilar_x_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_x**2)/10 *(0.005/((v_0+0.5)*h)) - md2_x_relativo = nd_pilar * (excen_2/100) - else: - md2_x_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_x_intermediario = alfa_b_x * max(abs(md_x_topo), abs(md_x_base), abs(momento_min_x)) + md2_x_relativo - #msd_x_intermediario = alfa_b_x * abs(momento_min_x) + md2_x_relativo - - mi_x = msd_x_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_x = cobrimento_pilar/h - - - #-Eixo-Y---------------------------------------------------------------------- - h = y_pilar - b = x_pilar - - m_a = max(md_y_topo, md_y_base) - m_b = min(md_y_topo, md_y_base) - - if self.tipo_pilar == 'intermediario' or self.tipo_pilar == 'extremidade-y': - alfa_b_y = 1.0 - else: - alfa_b_y = (0.6 + 0.4*(m_b/m_a)) - - if alfa_b_y < 0.4: - alfa_b_y = 0.4 - - momento_min_y = (nd_pilar *(1.5+0.03*h))/100 - excen_min_y = momento_min_y/nd_pilar - - if md_y_topo < momento_min_y: - md_y_topo = momento_min_y - print('momento topo - mínimo') - alfa_b_y = 1.0 - if md_y_base < momento_min_y: - md_y_base = momento_min_y - print('momento base - mínimo') - alfa_b_y = 1.0 - - compr_efetivo_y = (altura_pilar*100) + h - if (altura_lance*100 < compr_efetivo_y): - compr_efetivo_y = altura_lance*100 - - excen_y_acidental = compr_efetivo_y/400 - v_0 = (nd_pilar*1000)/(area_secao_pilar * fcd_pilar*1000000) - - excentricidade_relativa = (max(md_y_topo,md_y_base,momento_min_y)/nd_pilar)/h - - lambda_pilar_y = 3.46 * (compr_efetivo_y/h) - lambda_pilar_y_limite = (25 + 12.5*(excentricidade_relativa))/alfa_b_y - if lambda_pilar_y_limite < 35: - lambda_pilar_y_limite = 35 - - excen_2_y = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - - md2_y = nd_pilar * (excen_2_y/100) - - if lambda_pilar_y > lambda_pilar_y_limite: - print('efeitos de 2 ordem considerados') - excen_2 = (compr_efetivo_y**2)/10 *(0.005/((v_0+0.5)*h)) - md2_y_relativo = nd_pilar * (excen_2/100) - else: - md2_y_relativo = 0 - print('efeitos de 2 ordem desconsiderados') - - msd_y_intermediario = alfa_b_y * max(abs(md_y_topo), abs(md_y_base), abs(momento_min_y)) + md2_y_relativo - #msd_y_intermediario = alfa_b_y * abs(momento_min_y) + md2_y_relativo - - mi_y = msd_y_intermediario/(h * area_secao_pilar * fcd_pilar)/10 - delta_y = cobrimento_pilar/h - - #print('v_0: ',v_0) - #print('excen_2_x: ',excen_2_x) - #print('compr_efetivo_x: ',compr_efetivo_x) - #print('alfa_b_x: ',alfa_b_x) - #print('lambda_pilar_x: ',lambda_pilar_x) - #print('lambda_pilar_x_limite: ',lambda_pilar_x_limite) - #print('momento_min_x: ',momento_min_x) - #print('md_x_topo: ',md_x_topo) - #print('md_x_base: ',md_x_base) - #print('msd_x_intermediario: ',msd_x_intermediario) - #print('md2_x: ',md2_x) - #print('--------------------------------------------------') - #print('lambda_pilar_y: ',lambda_pilar_y) - #print('lambda_pilar_y_limite: ',lambda_pilar_y_limite) - #print('momento_min_y: ',momento_min_y) - #print('md_y_topo: ',md_y_topo) - #print('md_y_base: ',md_y_base) - #print('msd_y_intermediario: ',msd_y_intermediario) - - #--------------------------------------------- saida de dados --------------------------------------------- - self.lineEdit_10.setText(str(round(nd_pilar, ndigits=4))) - self.lineEdit_11.setText(str(round(area_secao_pilar, ndigits=4))) - self.lineEdit_12.setText(str(round(v_0, ndigits=4))) - - self.lineEdit_15.setText(str(round(momento_min_x, ndigits=5))) - self.lineEdit_16.setText(str(round(excen_min_x*100, ndigits=5))) - self.lineEdit_17.setText(str(round(lambda_pilar_x, ndigits=5))) - self.lineEdit_18.setText(str(round(lambda_pilar_x_limite, ndigits=5))) - self.lineEdit_19.setText(str(round(excen_2_x, ndigits=5))) - self.lineEdit_20.setText(str(round(md2_x, ndigits=5))) - self.lineEdit_21.setText(str(round(msd_x_intermediario, ndigits=5))) - - self.lineEdit_24.setText(str(round(momento_min_y, ndigits=5))) - self.lineEdit_25.setText(str(round(excen_min_y*100, ndigits=5))) - self.lineEdit_26.setText(str(round(lambda_pilar_y, ndigits=5))) - self.lineEdit_23.setText(str(round(lambda_pilar_y_limite, ndigits=5))) - self.lineEdit_30.setText(str(round(excen_2_y, ndigits=5))) - self.lineEdit_29.setText(str(round(md2_y, ndigits=5))) - self.lineEdit_27.setText(str(round(msd_y_intermediario, ndigits=5))) - - self.lineEdit_31.setText(str(round(mi_x, ndigits=2))) - self.lineEdit_32.setText(str(round(mi_y, ndigits=2))) - self.lineEdit_33.setText(str(round(delta_x, ndigits=2))) - self.lineEdit_34.setText(str(round(delta_y, ndigits=2))) - - global pilares_info - pilares_info = [msd_x_intermediario, msd_y_intermediario, momento_min_x, momento_min_y] - - if md2_x_relativo == 0: - self.label_39.setText('não considera 2º ordem') - else: - self.label_39.setText('considera 2º ordem') - - if md2_y_relativo == 0: - self.label_44.setText('não considera 2º ordem') - else: - self.label_44.setText('considera 2º ordem') - - - if self.tipo_pilar == 'intermediario': - self.label.setText('PILAR INTERMEDIÁRIO') - elif (self.tipo_pilar == 'extremidade-x') or (self.tipo_pilar == 'extremidade-y'): - self.label.setText('PILAR DE EXTREMIDADE') - else: - self.label.setText('PILAR DE CANTO') - - global pilares_info_aco - pilares_info_aco = [mi_x, delta_x, mi_y, delta_y, fck_pilar, area_secao_pilar, nk_pilar] - - else: - QMessageBox.about(self, "Falta de Dados", "Por favor insira dados consistentes!") - - - - def gerar_envoltoria(self): - msd_x_intermediario = pilares_info[0] - msd_y_intermediario = pilares_info[1] - momento_min_x = pilares_info[2] - momento_min_y = pilares_info[3] - - x = [] - y = [] - for i in range(360): - theta = i - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = momento_min_y * seno - - cosseno = math.cos(theta_conv) - cosseno = momento_min_x * cosseno - - x.append(seno) - y.append(cosseno) - - z = [] - w = [] - for j in range(360): - theta = j - theta_conv = (theta*math.pi)/180 - - seno = math.sin(theta_conv) - seno = msd_y_intermediario * seno - - cosseno = math.cos(theta_conv) - cosseno = msd_x_intermediario * cosseno - - z.append(seno) - w.append(cosseno) - - # create plot - '''plt = pg.plot(x, y, title='theTitle', pen='r') - plt.showGrid(x=True,y=True) - ''' - # create plot - plt = pg.plot() - plt.clear() - plt.showGrid(x=True,y=True) - plt.addLegend() - plt.setTitle('Envoltória de Momentos') - - - # set properties - plt.setLabel('left', 'Momentos Y', units='KN.m') - plt.setLabel('bottom', 'Momentos X', units='KN.m') - plt.setXRange(0,10) - plt.setYRange(0,20) - - - plt.enableAutoRange() - plt.setWindowTitle('pyqtgraph plot') - # plot - c1 = plt.plot(x, y, pen='r', name='Envoltória Momentos min') - c2 = plt.plot(z, w, pen='b', name='Envoltória Momentos máx') - - - - - -file = 'file:///C:/Users/Acer/Desktop/tessssst/sample.pdf' - -#global pilares_info_aco -#pilares_info_aco = [1.4,0.5,1.0,0.1,20,0.4,1000] - -class Pilar_area_aco(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('pilares_areas_aco.ui',self) - self.setWindowTitle('Navier - Pilares - Áreas de Aço') - - self.pushButton_4.setIcon(QtGui.QIcon('btn_flexaosimples.png')) - self.pushButton_4.setIconSize(QtCore.QSize(50,60)) - self.pushButton_5.setIcon(QtGui.QIcon('btn_flexaocomposta.png')) - self.pushButton_5.setIconSize(QtCore.QSize(50,60)) - - def load_signals(self): - print('inicializado') - self.pushButton_2.clicked.connect(self.calcular_area_aco) - self.pushButton.clicked.connect(self.recuperar_dados) - self.pushButton_3.clicked.connect(self.limpar) - self.pushButton_4.clicked.connect(lambda: self.abrirTabelaAuxiliar(file)) - self.pushButton_5.clicked.connect(lambda: self.abrirTabelaAuxiliar(file)) - - def recuperar_dados(self): - self.lineEdit_2.setText(str(round(pilares_info_aco[0], ndigits=2))) - self.lineEdit_3.setText(str(round(pilares_info_aco[1], ndigits=2))) - self.lineEdit_5.setText(str(round(pilares_info_aco[2], ndigits=2))) - self.lineEdit_6.setText(str(round(pilares_info_aco[3], ndigits=2))) - self.lineEdit_12.setText(str(round(pilares_info_aco[4], ndigits=2))) - self.lineEdit_13.setText(str(round(pilares_info_aco[5], ndigits=2))) - self.lineEdit_14.setText(str(round(pilares_info_aco[6], ndigits=2))) - - def calcular_area_aco(self): - fck = float(self.lineEdit_12.text()) - fcd = fck/1.4 - fyd = 500/1.15 - area_concreto = float(self.lineEdit_13.text()) - nk = float(self.lineEdit_14.text()) - nd = 1.4 * nk - - mi_x = float(self.lineEdit_2.text()) - delta_x = float(self.lineEdit_3.text()) - - mi_y = float(self.lineEdit_5.text()) - delta_y = float(self.lineEdit_6.text()) - - omega_x = float(self.lineEdit_4.text()) - omega_y = float(self.lineEdit_7.text()) - - as_x = (omega_x * (area_concreto*1000000) * fcd)/fyd - as_y = (omega_y * (area_concreto*1000000) * fcd)/fyd - - as_x = round(as_x, ndigits=3) - as_y = round(as_y, ndigits=3) - - as_pilar_min = 0.15 * (nd/fyd) - if as_pilar_min < (0.004*area_concreto*100000): - as_pilar_min = round((0.004*area_concreto*100000), ndigits=3) - - as_pilar_max = round((0.08*area_concreto*1000000), ndigits=3) - - #-------------------------------------- saída de dados ---------------------------------------------------- - self.lineEdit_8.setText(str(as_x)) - self.lineEdit_9.setText(str(as_y)) - self.lineEdit_10.setText(str(as_pilar_max)) - self.lineEdit_11.setText(str(as_pilar_min)) - - def teste(self): - print('teste') - - def limpar(self): - self.lineEdit_2.setText('0') - self.lineEdit_3.setText('0') - self.lineEdit_4.setText('1') - self.lineEdit_5.setText('0') - self.lineEdit_6.setText('0') - self.lineEdit_7.setText('1') - self.lineEdit_8.setText('0') - self.lineEdit_9.setText('0') - self.lineEdit_10.setText('0') - self.lineEdit_11.setText('0') - self.lineEdit_12.setText('0') - self.lineEdit_13.setText('0') - self.lineEdit_14.setText('0') - - def abrirTabelaAuxiliar(self,file): - if sys.platform == 'linux2': - subprocess.call(["xdg-open", file]) - else: - os.startfile(file) - - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - pilares = Pilares() - pilares_areas_aco = Pilar_area_aco() - - app.exec_() diff --git a/pilares.ui b/pilares.ui deleted file mode 100644 index 8a36646..0000000 --- a/pilares.ui +++ /dev/null @@ -1,1633 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 1004 - 714 - - - - MainWindow - - - - - - 6 - 50 - 991 - 641 - - - - 0 - - - - Seção Retangular - - - - - 10 - 30 - 231 - 81 - - - - Concreto - - - - - 10 - 20 - 111 - 21 - - - - Resistência - fck [MPa] - - - - - - 140 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 140 - 50 - 81 - 22 - - - - - 500 - - - - - - - 10 - 50 - 111 - 21 - - - - Tipo de Aço - CA - - - - - - - 10 - 120 - 231 - 441 - - - - Esquema Pilar - - - - - 40 - 10 - 141 - 171 - - - - - - - esquema_pilar.png - - - true - - - - - - 16 - 190 - 191 - 161 - - - - - - - - - - - 260 - 330 - 251 - 231 - - - - Solicitações - - - - - 30 - 20 - 71 - 21 - - - - Nk [KN] - - - - - - 130 - 20 - 91 - 20 - - - - 0 - - - - - - 10 - 50 - 241 - 81 - - - - Momentos X - - - - - 18 - 20 - 91 - 21 - - - - Mx Topo [KN.m] - - - - - - 120 - 20 - 91 - 20 - - - - 0 - - - - - - 18 - 50 - 81 - 21 - - - - Mx Base [KN.m] - - - - - - 120 - 50 - 91 - 20 - - - - 0 - - - - - - - 10 - 140 - 241 - 80 - - - - Momentos Y - - - - - 18 - 20 - 91 - 21 - - - - My Topo [KN.m] - - - - - - 120 - 20 - 91 - 20 - - - - 0 - - - - - - 18 - 50 - 81 - 21 - - - - My Base [KN.m] - - - - - - 120 - 50 - 91 - 20 - - - - 0 - - - - - - - - 260 - 30 - 251 - 291 - - - - Dimensões - - - - - 20 - 20 - 121 - 21 - - - - Largura - Xpilar [cm] - - - - - - 150 - 20 - 71 - 20 - - - - 0 - - - - - - 150 - 50 - 71 - 20 - - - - 0 - - - - - - 20 - 50 - 121 - 21 - - - - Comprimento - Ypilar [cm] - - - - - - 20 - 80 - 121 - 21 - - - - Altura do Pilar [m] - - - - - - 150 - 80 - 71 - 20 - - - - 0 - - - - - - 20 - 110 - 121 - 21 - - - - Altura do Lance [m] - - - - - - 150 - 110 - 71 - 20 - - - - 0 - - - - - - 20 - 140 - 121 - 21 - - - - Cobrimento [cm] - - - - - - 150 - 140 - 69 - 22 - - - - - 2.0 - - - - - 3.0 - - - - - 4.0 - - - - - 5.0 - - - - - - - 20 - 170 - 47 - 13 - - - - Eixo X - - - - - - 130 - 170 - 47 - 13 - - - - Eixo Y - - - - - - 30 - 260 - 75 - 20 - - - - Alterar - - - - - - 140 - 260 - 75 - 20 - - - - Alterar - - - - - - 40 - 180 - 41 - 71 - - - - 0 - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_a.png - - - true - - - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_b.png - - - true - - - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_c.png - - - true - - - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_d.png - - - true - - - - - - - - 160 - 180 - 41 - 71 - - - - 0 - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_a.png - - - true - - - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_b.png - - - true - - - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_c.png - - - true - - - - - - - - -10 - 10 - 51 - 61 - - - - - - - pilar_engaste_d.png - - - true - - - - - - - - - 800 - 580 - 75 - 23 - - - - Limpar - - - - - - 890 - 580 - 75 - 23 - - - - Salvar - - - - - - 710 - 580 - 75 - 23 - - - - Calcular - - - - - - 530 - 30 - 441 - 531 - - - - Resultados - - - - - 18 - 20 - 47 - 21 - - - - Nd [KN] - - - - - - 100 - 20 - 91 - 20 - - - - - - - 18 - 50 - 61 - 21 - - - - Área [cm²] - - - - - - 100 - 50 - 91 - 20 - - - - - - - 9 - 80 - 211 - 321 - - - - Eixo X - - - - - 20 - 20 - 81 - 21 - - - - Md Topo [KN.m] - - - - - - 110 - 20 - 81 - 20 - - - - - - - 20 - 50 - 81 - 21 - - - - Md Base [KN.m] - - - - - - 110 - 50 - 81 - 20 - - - - - - - 30 - 80 - 81 - 21 - - - - Mx mim [KN.m] - - - - - - 110 - 80 - 81 - 20 - - - - - - - - - - 30 - 110 - 81 - 21 - - - - e1 min [cm] - - - - - - 110 - 110 - 81 - 20 - - - - - - - - - - 50 - 140 - 31 - 21 - - - - λx - - - - - - 100 - 140 - 81 - 20 - - - - - - - - - - 100 - 170 - 81 - 20 - - - - - - - - - - 50 - 170 - 41 - 21 - - - - λ1x - - - - - - 110 - 230 - 81 - 20 - - - - - - - - - - 20 - 230 - 41 - 21 - - - - e2 [cm] - - - - - - 20 - 260 - 81 - 21 - - - - Mx2 [KN.m] - - - - - - 110 - 260 - 81 - 20 - - - - - - - - - - 110 - 290 - 81 - 20 - - - - - - - - - - 20 - 290 - 81 - 21 - - - - Md totx [KN.m] - - - - - - 36 - 200 - 141 - 20 - - - - - - - - - - - 220 - 80 - 211 - 321 - - - - Eixo Y - - - - - 110 - 20 - 81 - 20 - - - - - - - 20 - 290 - 81 - 21 - - - - Md toty [KN.m] - - - - - - 100 - 170 - 81 - 20 - - - - - - - - - - 20 - 260 - 81 - 21 - - - - My2 [KN.m] - - - - - - 20 - 230 - 41 - 21 - - - - e2 [cm] - - - - - - 110 - 80 - 81 - 20 - - - - - - - - - - 50 - 170 - 41 - 21 - - - - λ1y - - - - - - 110 - 110 - 81 - 20 - - - - - - - - - - 100 - 140 - 81 - 20 - - - - - - - - - - 110 - 290 - 81 - 20 - - - - - - - - - - 36 - 200 - 141 - 20 - - - - - - - - - - 30 - 80 - 81 - 21 - - - - My mim [KN.m] - - - - - - 50 - 140 - 31 - 21 - - - - λy - - - - - - 110 - 50 - 81 - 20 - - - - - - - 110 - 260 - 81 - 20 - - - - - - - - - - 110 - 230 - 81 - 20 - - - - - - - - - - 20 - 20 - 81 - 21 - - - - Md Topo [KN.m] - - - - - - 20 - 50 - 81 - 21 - - - - Md Base [KN.m] - - - - - - 30 - 110 - 81 - 21 - - - - e1 min [cm] - - - - - - - 260 - 50 - 91 - 20 - - - - - - - 230 - 50 - 41 - 21 - - - - ν0 - - - - - - 274 - 503 - 121 - 20 - - - - Gerar Detalhamento - - - - - - 10 - 410 - 211 - 81 - - - - Adimensionais X - - - - - 50 - 20 - 41 - 21 - - - - μx - - - - - - 70 - 18 - 81 - 20 - - - - - - - 70 - 46 - 81 - 20 - - - - - - - 50 - 48 - 41 - 21 - - - - δx - - - - - - - 220 - 410 - 211 - 81 - - - - Adimensionais Y - - - - - 70 - 20 - 81 - 20 - - - - - - - 50 - 22 - 41 - 21 - - - - μy - - - - - - 70 - 48 - 81 - 20 - - - - - - - 50 - 50 - 41 - 21 - - - - δx - - - - - - - - Seção Circular - - - - - 10 - 30 - 231 - 81 - - - - Concreto - - - - - 10 - 20 - 121 - 21 - - - - Resistência - fck [MPa] - - - - - - 140 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 10 - 50 - 121 - 21 - - - - Tipo de Aço - CA - - - - - - 140 - 50 - 81 - 22 - - - - - 500 - - - - - - - - - - - 0 - 0 - 1004 - 21 - - - - - - - - diff --git a/pilares_alt.ui b/pilares_alt.ui deleted file mode 100644 index e2cc167..0000000 --- a/pilares_alt.ui +++ /dev/null @@ -1,1382 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 1004 - 676 - - - - MainWindow - - - - - - 6 - 30 - 991 - 621 - - - - 0 - - - - Seção Retangular - - - - - 10 - 30 - 231 - 81 - - - - Concreto - - - - - 10 - 20 - 111 - 21 - - - - Resistência - fck [MPa] - - - - - - 140 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 140 - 50 - 81 - 22 - - - - - 500 - - - - - - - 10 - 50 - 111 - 21 - - - - Tipo de Aço - CA - - - - - - - 10 - 120 - 231 - 441 - - - - Esquema Pilar - - - - - 40 - 10 - 151 - 201 - - - - - - - esquema_pilar.png - - - true - - - - - - 16 - 220 - 191 - 211 - - - - - - - navier_pilar_esquema.png - - - true - - - - - - - 260 - 330 - 241 - 231 - - - - Solicitações - - - - - 30 - 20 - 71 - 21 - - - - Nk [KN] - - - - - - 130 - 20 - 91 - 20 - - - - 0 - - - - - - 10 - 50 - 241 - 81 - - - - Momentos X - - - - - 18 - 20 - 91 - 21 - - - - Mx Topo [KN.m] - - - - - - 120 - 20 - 91 - 20 - - - - 0 - - - - - - 18 - 50 - 81 - 21 - - - - Mx Base [KN.m] - - - - - - 120 - 50 - 91 - 20 - - - - 0 - - - - - - - 10 - 140 - 241 - 80 - - - - Momentos Y - - - - - 18 - 20 - 91 - 21 - - - - My Topo [KN.m] - - - - - - 120 - 20 - 91 - 20 - - - - 0 - - - - - - 18 - 50 - 81 - 21 - - - - My Base [KN.m] - - - - - - 120 - 50 - 91 - 20 - - - - 0 - - - - - - - - 260 - 30 - 241 - 291 - - - - Dimensões - - - - - 20 - 20 - 121 - 21 - - - - Base - Xpilar [cm] - - - - - - 150 - 20 - 71 - 20 - - - - 0 - - - - - - 150 - 50 - 71 - 20 - - - - 0 - - - - - - 20 - 50 - 121 - 21 - - - - Altura - Ypilar [cm] - - - - - - 20 - 80 - 121 - 21 - - - - Altura do Pilar [m] - - - - - - 150 - 80 - 71 - 20 - - - - 0 - - - - - - 20 - 110 - 121 - 21 - - - - Altura do Lance [m] - - - - - - 150 - 110 - 71 - 20 - - - - 0 - - - - - - 20 - 140 - 121 - 21 - - - - Cobrimento [cm] - - - - - - 150 - 140 - 69 - 22 - - - - - 2.0 - - - - - 3.0 - - - - - 4.0 - - - - - 5.0 - - - - - - - 20 - 180 - 47 - 13 - - - - Eixo X - - - - - - 130 - 180 - 47 - 13 - - - - Eixo Y - - - - - - 20 - 200 - 71 - 81 - - - - - - - pilar_engaste_a.png - - - true - - - - - - 140 - 200 - 71 - 81 - - - - - - - pilar_engaste_a.png - - - true - - - - - - - 890 - 570 - 75 - 23 - - - - Limpar - - - - - - 800 - 570 - 75 - 23 - - - - Calcular - - - - - - 530 - 30 - 441 - 531 - - - - Resultados - - - - - 18 - 20 - 47 - 21 - - - - Nd [KN] - - - - - - 100 - 20 - 91 - 20 - - - - - - - 18 - 50 - 61 - 21 - - - - Área [cm²] - - - - - - 100 - 50 - 91 - 20 - - - - - - - 9 - 80 - 211 - 321 - - - - Eixo X - - - - - 20 - 20 - 81 - 21 - - - - Md Topo [KN.m] - - - - - - 110 - 20 - 81 - 20 - - - - - - - 20 - 50 - 81 - 21 - - - - Md Base [KN.m] - - - - - - 110 - 50 - 81 - 20 - - - - - - - 30 - 80 - 81 - 21 - - - - Mx mim [KN.m] - - - - - - 110 - 80 - 81 - 20 - - - - - - - - - - 30 - 110 - 81 - 21 - - - - e1 min [cm] - - - - - - 110 - 110 - 81 - 20 - - - - - - - - - - 50 - 140 - 31 - 21 - - - - λx - - - - - - 100 - 140 - 81 - 20 - - - - - - - - - - 100 - 170 - 81 - 20 - - - - - - - - - - 50 - 170 - 41 - 21 - - - - λ1x - - - - - - 110 - 230 - 81 - 20 - - - - - - - - - - 20 - 230 - 41 - 21 - - - - e2 [cm] - - - - - - 20 - 260 - 81 - 21 - - - - Mx2 [KN.m] - - - - - - 110 - 260 - 81 - 20 - - - - - - - - - - 110 - 290 - 81 - 20 - - - - - - - - - - 20 - 290 - 81 - 21 - - - - Md totx [KN.m] - - - - - - 36 - 200 - 141 - 20 - - - - - - - - - - - 220 - 80 - 211 - 321 - - - - Eixo Y - - - - - 110 - 20 - 81 - 20 - - - - - - - 20 - 290 - 81 - 21 - - - - Md toty [KN.m] - - - - - - 100 - 170 - 81 - 20 - - - - - - - - - - 20 - 260 - 81 - 21 - - - - My2 [KN.m] - - - - - - 20 - 230 - 41 - 21 - - - - e2 [cm] - - - - - - 110 - 80 - 81 - 20 - - - - - - - - - - 50 - 170 - 41 - 21 - - - - λ1y - - - - - - 110 - 110 - 81 - 20 - - - - - - - - - - 100 - 140 - 81 - 20 - - - - - - - - - - 110 - 290 - 81 - 20 - - - - - - - - - - 36 - 200 - 141 - 20 - - - - - - - - - - 30 - 80 - 81 - 21 - - - - My mim [KN.m] - - - - - - 50 - 140 - 31 - 21 - - - - λy - - - - - - 110 - 50 - 81 - 20 - - - - - - - 110 - 260 - 81 - 20 - - - - - - - - - - 110 - 230 - 81 - 20 - - - - - - - - - - 20 - 20 - 81 - 21 - - - - Md Topo [KN.m] - - - - - - 20 - 50 - 81 - 21 - - - - Md Base [KN.m] - - - - - - 30 - 110 - 81 - 21 - - - - e1 min [cm] - - - - - - - 260 - 50 - 91 - 20 - - - - - - - 230 - 50 - 41 - 21 - - - - ν0 - - - - - - 270 - 500 - 161 - 21 - - - - Dimensionamento Longitudinal - - - - - - 10 - 410 - 211 - 81 - - - - Adimensionais X - - - - - 50 - 20 - 41 - 21 - - - - μx - - - - - - 70 - 18 - 81 - 20 - - - - - - - 70 - 46 - 81 - 20 - - - - - - - 50 - 48 - 41 - 21 - - - - δx - - - - - - - 220 - 410 - 211 - 81 - - - - Adimensionais Y - - - - - 70 - 20 - 81 - 20 - - - - - - - 50 - 22 - 41 - 21 - - - - μy - - - - - - 70 - 48 - 81 - 20 - - - - - - - 50 - 50 - 41 - 21 - - - - δx - - - - - - - 30 - 500 - 191 - 16 - - - - TIPO DE PILAR - - - - - - 190 - 500 - 75 - 21 - - - - Envoltórias - - - - - - - - - 860 - 0 - 131 - 51 - - - - - - - navier_logo_mini_alt.png - - - - - - - 0 - 0 - 1004 - 21 - - - - - - - - diff --git a/pilares_areas_aco.ui b/pilares_areas_aco.ui deleted file mode 100644 index 7a1267f..0000000 --- a/pilares_areas_aco.ui +++ /dev/null @@ -1,513 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 484 - 300 - - - - MainWindow - - - - - - 10 - 50 - 161 - 91 - - - - Coeficientes - X - - - - - 30 - 30 - 21 - 21 - - - - μx - - - - - - 80 - 30 - 61 - 20 - - - - 0 - - - - - - 30 - 60 - 31 - 21 - - - - δx - - - - - - 80 - 60 - 61 - 20 - - - - 0 - - - - - - - 20 - 140 - 141 - 40 - - - - - - - - - 70 - 10 - 61 - 20 - - - - 1 - - - - - - 30 - 10 - 31 - 21 - - - - ωx - - - - - - - 210 - 50 - 161 - 91 - - - - Coeficientes -Y - - - - - 30 - 30 - 21 - 21 - - - - μy - - - - - - 80 - 30 - 61 - 20 - - - - 0 - - - - - - 30 - 60 - 21 - 21 - - - - δy - - - - - - 80 - 60 - 61 - 20 - - - - 0 - - - - - - - 220 - 140 - 141 - 40 - - - - - - - - - 70 - 10 - 61 - 20 - - - - 1 - - - - - - 30 - 10 - 31 - 21 - - - - ωy - - - - - - - 380 - 60 - 101 - 21 - - - - Recuperar Dados - - - - - - 380 - 90 - 101 - 23 - - - - Calcular - - - - - - 10 - 190 - 361 - 51 - - - - Áreas de Aço - - - - - 20 - 20 - 61 - 21 - - - - As x [mm²] - - - - - - 80 - 20 - 81 - 20 - - - - 0 - - - - - - 210 - 20 - 61 - 21 - - - - As y [mm²] - - - - - - 270 - 20 - 81 - 20 - - - - 0 - - - - - - - 380 - 120 - 101 - 23 - - - - Limpar - - - - - - 400 - 160 - 61 - 51 - - - - - - - - - - 400 - 220 - 61 - 51 - - - - - - - - - - 10 - 240 - 361 - 41 - - - - - - - - - 20 - 10 - 71 - 21 - - - - As máx [mm²] - - - - - - 90 - 10 - 81 - 20 - - - - 0 - - - - - - 270 - 10 - 81 - 20 - - - - 0 - - - - - - 200 - 10 - 71 - 21 - - - - As mín [mm²] - - - - - - - 240 - 20 - 61 - 20 - - - - 20 - - - - - - 190 - 20 - 51 - 21 - - - - fck [MPa] - - - - - - 370 - 20 - 61 - 20 - - - - 0 - - - - - - 320 - 20 - 51 - 21 - - - - Ac [m²] - - - - - - 110 - 20 - 61 - 20 - - - - 0 - - - - - - 60 - 20 - 51 - 21 - - - - Nk [KN] - - - - - - - 0 - 0 - 484 - 21 - - - - - - - - diff --git a/sapata_perfil.png b/sapata_perfil.png deleted file mode 100644 index 2e168feaa03061f04cc2c7a0c5cf2f9b559e1386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3351 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 diff --git a/sapata_sup.png b/sapata_sup.png deleted file mode 100644 index 1f1c514909acb74cecdb97500d81e9d1f875fe17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9269 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 diff --git a/sapatas.ui b/sapatas.ui deleted file mode 100644 index 6870d56..0000000 --- a/sapatas.ui +++ /dev/null @@ -1,1185 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 946 - 619 - - - - MainWindow - - - - - - 20 - 80 - 251 - 81 - - - - Concreto - - - - - 20 - 20 - 121 - 20 - - - - Resistência - fck [MPa] - - - - - - 150 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 150 - 50 - 81 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - 20 - 50 - 121 - 20 - - - - Resistência do Aço [MPa] - - - - - - - 20 - 171 - 251 - 121 - - - - Solicitações - - - - - 20 - 30 - 101 - 16 - - - - Nk [KN] - - - - - - 132 - 30 - 91 - 20 - - - - 0 - - - - - - 20 - 60 - 101 - 16 - - - - Momento Y [KN.m] - - - - - - 132 - 60 - 91 - 20 - - - - 0 - - - - - - 20 - 90 - 91 - 16 - - - - Momento X [KN.m] - - - - - - 132 - 90 - 91 - 20 - - - - 0 - - - - - - - 20 - 300 - 251 - 81 - - - - Pilar - - - - - 30 - 20 - 71 - 16 - - - - Base - Yp [cm] - - - - - - 122 - 20 - 91 - 20 - - - - 0 - - - - - - 30 - 50 - 81 - 16 - - - - Base - Xp [cm] - - - - - - 120 - 50 - 91 - 20 - - - - 0 - - - - - - - 290 - 80 - 251 - 171 - - - - Sapata - - - - - 30 - 50 - 101 - 21 - - - - Base X - Xsap [m] - - - - - - 132 - 50 - 91 - 20 - - - - 0 - - - - - - 132 - 20 - 91 - 20 - - - - 0 - - - - - - 30 - 20 - 101 - 21 - - - - Base Y - Ysap[m] - - - - - - 30 - 80 - 91 - 21 - - - - Alt. Total - Ht [m] - - - - - - 132 - 80 - 91 - 20 - - - - 0 - - - - - - 132 - 110 - 91 - 20 - - - - 0 - - - - - - 30 - 110 - 101 - 21 - - - - Alt. Prisma - Ho [m] - - - - - - 134 - 140 - 91 - 23 - - - - Gerar Dimensões - - - - - - - 290 - 260 - 251 - 331 - - - - Esquema da Sapata - - - - - 0 - 30 - 251 - 181 - - - - - - - sapata_sup.png - - - true - - - - - - 10 - 230 - 231 - 81 - - - - - - - sapata_perfil.png - - - true - - - - - - - 20 - 390 - 251 - 201 - - - - Solo - - - - - 20 - 60 - 121 - 16 - - - - Coef. Influência do Solo - - - - - - 150 - 60 - 71 - 20 - - - - 1.1 - - - - - - 20 - 90 - 111 - 21 - - - - Ângulo Dissipação - - - - - - 150 - 90 - 71 - 22 - - - - 30 - - - 50 - - - - - - 150 - 30 - 71 - 20 - - - - 0 - - - - - - 20 - 30 - 131 - 16 - - - - Tensão Adm. Solo [MPa] - - - - - - - 560 - 80 - 381 - 511 - - - - Dimensionamento - - - - - 30 - 20 - 121 - 21 - - - - Área da Sapata [cm²] - - - - - - 150 - 20 - 91 - 20 - - - - - - - 20 - 50 - 51 - 21 - - - - Wx [cm³] - - - - - - 120 - 50 - 61 - 20 - - - - - - - - - - 290 - 50 - 61 - 20 - - - - - - - - - - 200 - 50 - 51 - 21 - - - - Wy [cm³] - - - - - - 140 - 80 - 101 - 20 - - - - - - - - - - 30 - 80 - 81 - 21 - - - - N equiv. [N] - - - - - - 20 - 110 - 121 - 21 - - - - Tensão Máx [MPa] - - - - - - 119 - 110 - 70 - 20 - - - - - - - - - - 290 - 110 - 71 - 20 - - - - - - - - - - 200 - 110 - 91 - 21 - - - - Tensão Mín [MPa] - - - - - - 20 - 150 - 91 - 21 - - - - Balanço X [cm] - - - - - - 119 - 150 - 71 - 20 - - - - - - - - - - 290 - 150 - 71 - 20 - - - - - - - - - - 200 - 150 - 81 - 21 - - - - Balanço Y [cm] - - - - - - 120 - 180 - 71 - 20 - - - - - - - - - - 20 - 180 - 91 - 21 - - - - H rigidez X [cm] - - - - - - 290 - 180 - 71 - 20 - - - - - - - - - - 200 - 180 - 91 - 21 - - - - H rigidez Y [cm] - - - - - - 30 - 210 - 121 - 21 - - - - H min,cis [cm] - - - - - - 140 - 210 - 101 - 20 - - - - - - - - - - 120 - 240 - 71 - 20 - - - - - - - - - - 20 - 240 - 91 - 21 - - - - H prisma X [cm] - - - - - - 30 - 270 - 121 - 21 - - - - Volume de Concreto [m³] - - - - - - 160 - 270 - 81 - 20 - - - - - - - - - - 200 - 240 - 91 - 21 - - - - H prisma Y [cm] - - - - - - 290 - 240 - 71 - 20 - - - - - - - - - - 0 - 300 - 381 - 81 - - - - Áreas de Aço - - - - - 18 - 20 - 71 - 16 - - - - Tração X [KN] - - - - - - 100 - 20 - 81 - 20 - - - - - - - 280 - 20 - 81 - 20 - - - - - - - 200 - 20 - 71 - 16 - - - - Tração Y [KN] - - - - - - 100 - 50 - 81 - 20 - - - - - - - 20 - 50 - 71 - 16 - - - - Asx [mm²] - - - - - - 282 - 50 - 81 - 20 - - - - - - - 200 - 50 - 71 - 16 - - - - Asy [mm²] - - - - - - - 0 - 389 - 381 - 81 - - - - Áreas de Aço Mínimas - - - - - 40 - 20 - 121 - 16 - - - - Taxa Armd. Mínima [%] - - - - - - 172 - 20 - 101 - 20 - - - - - - - 98 - 50 - 81 - 20 - - - - - - - 198 - 50 - 71 - 16 - - - - Asy [mm²] - - - - - - 18 - 50 - 71 - 16 - - - - Asx [mm²] - - - - - - 280 - 50 - 81 - 20 - - - - - - - - 230 - 480 - 111 - 23 - - - - Gerar Detalhamento - - - - - - - 770 - 610 - 75 - 23 - - - - Limpar - - - - - - 860 - 610 - 75 - 23 - - - - Salvar - - - - - - 680 - 610 - 75 - 23 - - - - Calcular - - - - - - - 0 - 0 - 946 - 21 - - - - - - - - diff --git a/sapatas_alt.ui b/sapatas_alt.ui deleted file mode 100644 index 6a0ea27..0000000 --- a/sapatas_alt.ui +++ /dev/null @@ -1,1175 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 946 - 579 - - - - MainWindow - - - - - - 20 - 40 - 251 - 81 - - - - Concreto - - - - - 20 - 20 - 121 - 20 - - - - Resistência - fck [MPa] - - - - - - 150 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 150 - 50 - 81 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - 20 - 50 - 121 - 20 - - - - Resistência do Aço [MPa] - - - - - - - 20 - 131 - 251 - 121 - - - - Solicitações - - - - - 20 - 30 - 101 - 16 - - - - Nk [KN] - - - - - - 132 - 30 - 91 - 20 - - - - 0 - - - - - - 20 - 60 - 101 - 16 - - - - Momento Y [KN.m] - - - - - - 132 - 60 - 91 - 20 - - - - 0 - - - - - - 20 - 90 - 91 - 16 - - - - Momento X [KN.m] - - - - - - 132 - 90 - 91 - 20 - - - - 0 - - - - - - - 20 - 260 - 251 - 81 - - - - Pilar - - - - - 30 - 20 - 71 - 16 - - - - Base - Yp [cm] - - - - - - 122 - 20 - 91 - 20 - - - - 0 - - - - - - 30 - 50 - 81 - 16 - - - - Base - Xp [cm] - - - - - - 120 - 50 - 91 - 20 - - - - 0 - - - - - - - 290 - 40 - 251 - 171 - - - - Sapata - - - - - 30 - 50 - 101 - 21 - - - - Base X - Xsap [m] - - - - - - 132 - 50 - 91 - 20 - - - - 0 - - - - - - 132 - 20 - 91 - 20 - - - - 0 - - - - - - 30 - 20 - 101 - 21 - - - - Base Y - Ysap[m] - - - - - - 30 - 80 - 91 - 21 - - - - Alt. Total - Ht [m] - - - - - - 132 - 80 - 91 - 20 - - - - 0 - - - - - - 132 - 110 - 91 - 20 - - - - 0 - - - - - - 30 - 110 - 101 - 21 - - - - Alt. Prisma - Ho [m] - - - - - - 134 - 140 - 91 - 23 - - - - Gerar Dimensões - - - - - - - 290 - 220 - 251 - 291 - - - - Esquema da Sapata - - - - - 0 - 20 - 251 - 181 - - - - - - - sapata_sup.png - - - true - - - - - - 10 - 200 - 231 - 81 - - - - - - - sapata_perfil.png - - - true - - - - - - - 20 - 350 - 251 - 131 - - - - Solo - - - - - 20 - 60 - 121 - 16 - - - - Coef. Influência do Solo - - - - - - 150 - 60 - 71 - 20 - - - - 1.1 - - - - - - 20 - 90 - 111 - 21 - - - - Ângulo Dissipação - - - - - - 150 - 90 - 71 - 22 - - - - 30 - - - 50 - - - - - - 150 - 30 - 71 - 20 - - - - 0 - - - - - - 20 - 30 - 131 - 16 - - - - Tensão Adm. Solo [MPa] - - - - - - - 560 - 40 - 371 - 471 - - - - Dimensionamento - - - - - 30 - 20 - 121 - 21 - - - - Área da Sapata [m²] - - - - - - 150 - 20 - 91 - 20 - - - - - - - 20 - 50 - 51 - 21 - - - - Wx [cm³] - - - - - - 120 - 50 - 61 - 20 - - - - - - - - - - 290 - 50 - 61 - 20 - - - - - - - - - - 200 - 50 - 51 - 21 - - - - Wy [cm³] - - - - - - 140 - 80 - 101 - 20 - - - - - - - - - - 30 - 80 - 81 - 21 - - - - N equiv. [N] - - - - - - 20 - 110 - 121 - 21 - - - - Tensão Máx [MPa] - - - - - - 119 - 110 - 70 - 20 - - - - - - - - - - 290 - 110 - 71 - 20 - - - - - - - - - - 200 - 110 - 91 - 21 - - - - Tensão Mín [MPa] - - - - - - 20 - 150 - 91 - 21 - - - - Balanço X [cm] - - - - - - 119 - 150 - 71 - 20 - - - - - - - - - - 290 - 150 - 71 - 20 - - - - - - - - - - 200 - 150 - 81 - 21 - - - - Balanço Y [cm] - - - - - - 120 - 180 - 71 - 20 - - - - - - - - - - 20 - 180 - 91 - 21 - - - - H rigidez X [cm] - - - - - - 290 - 180 - 71 - 20 - - - - - - - - - - 200 - 180 - 91 - 21 - - - - H rigidez Y [cm] - - - - - - 30 - 210 - 121 - 21 - - - - H min,cis [cm] - - - - - - 140 - 210 - 101 - 20 - - - - - - - - - - 120 - 240 - 71 - 20 - - - - - - - - - - 20 - 240 - 91 - 21 - - - - H prisma X [cm] - - - - - - 30 - 270 - 121 - 21 - - - - Volume de Concreto [m³] - - - - - - 160 - 270 - 81 - 20 - - - - - - - - - - 200 - 240 - 91 - 21 - - - - H prisma Y [cm] - - - - - - 290 - 240 - 71 - 20 - - - - - - - - - - 0 - 300 - 381 - 81 - - - - Áreas de Aço - - - - - 18 - 20 - 71 - 16 - - - - Tração X [KN] - - - - - - 100 - 20 - 81 - 20 - - - - - - - 280 - 20 - 81 - 20 - - - - - - - 200 - 20 - 71 - 16 - - - - Tração Y [KN] - - - - - - 100 - 50 - 81 - 20 - - - - - - - 20 - 50 - 71 - 16 - - - - Asx [mm²] - - - - - - 282 - 50 - 81 - 20 - - - - - - - 200 - 50 - 71 - 16 - - - - Asy [mm²] - - - - - - - 0 - 389 - 381 - 81 - - - - Áreas de Aço Mínimas - - - - - 40 - 20 - 121 - 16 - - - - Taxa Armd. Mínima [%] - - - - - - 172 - 20 - 101 - 20 - - - - - - - 98 - 50 - 81 - 20 - - - - - - - 198 - 50 - 71 - 16 - - - - Asy [mm²] - - - - - - 18 - 50 - 71 - 16 - - - - Asx [mm²] - - - - - - 280 - 50 - 81 - 20 - - - - - - - - - 850 - 530 - 75 - 23 - - - - Limpar - - - - - - 760 - 530 - 75 - 23 - - - - Calcular - - - - - - 800 - 0 - 131 - 51 - - - - - - - navier_logo_mini_alt.png - - - - - - - 0 - 0 - 946 - 21 - - - - - - - - diff --git a/secao_viga.png b/secao_viga.png deleted file mode 100644 index b60fb2c3bea53ec468e2c6d893bae4397da427ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4548 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 diff --git a/secao_viga_detalhamento.png b/secao_viga_detalhamento.png deleted file mode 100644 index 53b6c1bd5bf5247e5de89965ef61291d5d422fae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6942 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 ateusy`%Cb)Ech=8fy^_-r-e^m`TQ3;>B{c_ diff --git a/secao_viga_detalhamento_infos.png.png b/secao_viga_detalhamento_infos.png.png deleted file mode 100644 index d0d9b90328b59412403bf2dc76b15c5cfb749f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48132 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

^(N&cB%+G)v;#*fl|Qh7HG44 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 diff --git a/teste_classe_agressividade.py b/teste_classe_agressividade.py deleted file mode 100644 index fdc09f1..0000000 --- a/teste_classe_agressividade.py +++ /dev/null @@ -1,58 +0,0 @@ - - - -import sys - -from PyQt5.uic import loadUi -from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QMessageBox, QVBoxLayout, QHBoxLayout, QDialog, QMessageBox -from PyQt5.QtGui import QPixmap, QIcon, QImage -from PyQt5 import QtWidgets, QtGui, QtCore -from PyQt5.QtWidgets import QTableWidget,QTableWidgetItem - - -class Tabela_Classe_Agressividade(QtWidgets.QMainWindow): - def __init__(self): - super().__init__() - self.load_ui() - self.load_signals() - - def load_ui(self): - self.ui = loadUi('class_agres.ui',self) - self.setWindowTitle('Navier - Classes de Agressividade e Cobrimentos Mínimos') - self.show() - def load_signals(self): - print('inicializado') - header = self.tableWidget.horizontalHeader() - header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) - - - self.tableWidget.setSpan(0, 0, 1, 4) - #self.tableWidget.horizontalHeader().setVisible(False) //QtWidgets.QHeaderView.ResizeToContents - - header_2 = self.tableWidget_2.horizontalHeader() - header_2.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) - header_2.setSectionResizeMode(3, QtWidgets.QHeaderView.ResizeToContents) - - self.tableWidget_2.setSpan(0, 0, 2, 1) - self.tableWidget_2.setSpan(0, 1, 2, 1) - self.tableWidget_2.setSpan(0, 3, 2, 1) - - self.tableWidget_2.setSpan(3, 0, 2, 1) - self.tableWidget_2.setSpan(3, 1, 2, 1) - self.tableWidget_2.setSpan(3, 3, 2, 1) - - self.tableWidget_2.setSpan(5, 0, 2, 1) - self.tableWidget_2.setSpan(5, 1, 2, 1) - self.tableWidget_2.setSpan(5, 3, 2, 1) - - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - aplicacao = Tabela_Classe_Agressividade() - app.exec_() diff --git a/vigas.ui b/vigas.ui deleted file mode 100644 index 8e13aa2..0000000 --- a/vigas.ui +++ /dev/null @@ -1,1495 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 868 - 666 - - - - MainWindow - - - - - - 0 - 60 - 861 - 571 - - - - 0 - - - - Seção Retangular - - - - - -1 - 39 - 551 - 511 - - - - 1 - - - - - - 20 - 180 - 251 - 291 - - - - Dimensões - - - - - 130 - 30 - 101 - 20 - - - - 0 - - - - - - 130 - 60 - 101 - 20 - - - - 0 - - - - - - 131 - 90 - 100 - 20 - - - - 0 - - - - - - 20 - 30 - 81 - 16 - - - - Base - bw [cm] - - - - - - 20 - 60 - 81 - 16 - - - - Altura - h [cm] - - - - - - 20 - 90 - 91 - 16 - - - - Altura Útil - d [cm] - - - - - - 0 - 150 - 260 - 141 - - - - Projeção de Domínio - - - - - 140 - 20 - 82 - 21 - - - - Domínio 3 - - - - - - 30 - 20 - 82 - 21 - - - - Domínio 2 - - - true - - - - - - 100 - 50 - 47 - 21 - - - - ξ - - - - - - 130 - 50 - 81 - 20 - - - - 0.450 - - - - - - 60 - 80 - 71 - 21 - - - - d limite [m] - - - - - - 130 - 80 - 81 - 20 - - - - - - - 131 - 110 - 81 - 20 - - - - - - - 60 - 110 - 91 - 21 - - - - X-limite [m] - - - - - - - 19 - 120 - 91 - 16 - - - - d' [cm] - - - - - - 130 - 120 - 100 - 20 - - - - 0 - - - true - - - - - - - 290 - 0 - 251 - 141 - - - - Seção - - - - - 71 - 6 - 110 - 131 - - - - - - - navier_viga_dupla.png - - - true - - - - - - - 290 - 150 - 251 - 321 - - - - Armadura Longitudinal - - - - - 20 - 50 - 91 - 21 - - - - Momento2 [KN.m] - - - - - - 130 - 50 - 100 - 20 - - - - - - - 0 - 90 - 260 - 231 - - - - Áreas de Aço - - - - - 129 - 18 - 91 - 20 - - - - - - - 20 - 18 - 111 - 21 - - - - As Compressão [mm²] - - - - - - 20 - 78 - 101 - 21 - - - - Asobre-apoio [mm²] - - - - - - 129 - 78 - 91 - 20 - - - - - - - 129 - 108 - 91 - 20 - - - - - - - 20 - 108 - 91 - 21 - - - - As.pele [mm²] - - - - - - 21 - 170 - 91 - 21 - - - - As.máx [mm²] - - - - - - 130 - 170 - 91 - 20 - - - - - - - 129 - 48 - 91 - 20 - - - - - - - 20 - 48 - 111 - 21 - - - - As Tração [mm²] - - - - - - 21 - 200 - 91 - 21 - - - - As.mín [mm²] - - - - - - 130 - 200 - 91 - 20 - - - - - - - 21 - 140 - 91 - 21 - - - - As.total [mm²] - - - - - - 130 - 140 - 91 - 20 - - - - - - - - 130 - 20 - 100 - 20 - - - - - - - 20 - 20 - 111 - 21 - - - - Momento-limite [KN.m] - - - - - - - - - 20 - 180 - 251 - 151 - - - - Dimensões - - - - - 130 - 30 - 101 - 20 - - - - 0 - - - - - - 130 - 60 - 101 - 20 - - - - 0 - - - - - - 131 - 90 - 100 - 20 - - - - 0 - - - - - - 20 - 30 - 81 - 16 - - - - Base - bw [cm] - - - - - - 20 - 60 - 81 - 16 - - - - Altura - h [cm] - - - - - - 20 - 90 - 91 - 16 - - - - Altura Útil - d [cm] - - - - - - 19 - 120 - 91 - 16 - - - - d' [cm] - - - - - - 130 - 120 - 100 - 20 - - - - 0 - - - true - - - - - - - 20 - 340 - 251 - 141 - - - - Seção - - - - - 70 - 6 - 111 - 131 - - - - - - - secao_viga.png - - - true - - - - - - - 290 - 2 - 251 - 351 - - - - Armadura Longitudinal - - - - - 19 - 20 - 91 - 21 - - - - Md [KN] - - - - - - 130 - 20 - 100 - 20 - - - - - - - 60 - 80 - 91 - 21 - - - - Kmd - - - - - - 110 - 80 - 100 - 20 - - - - - - - 60 - 110 - 91 - 21 - - - - Kx - - - - - - 110 - 110 - 100 - 20 - - - - - - - 60 - 140 - 91 - 21 - - - - Kz - - - - - - 110 - 140 - 100 - 20 - - - - - - - 0 - 170 - 260 - 181 - - - - Áreas de Aço - - - - - 129 - 30 - 91 - 20 - - - - - - - 20 - 30 - 91 - 21 - - - - As [mm²] - - - - - - 20 - 60 - 101 - 21 - - - - Asobre-apoio [mm²] - - - - - - 129 - 60 - 91 - 20 - - - - - - - 129 - 90 - 91 - 20 - - - - - - - 20 - 90 - 91 - 21 - - - - As.pele [mm²] - - - - - - 21 - 120 - 91 - 21 - - - - As.máx [mm²] - - - - - - 130 - 120 - 91 - 20 - - - - - - - 129 - 150 - 91 - 20 - - - - - - - 20 - 150 - 91 - 21 - - - - As.mín [mm²] - - - - - - - 130 - 50 - 111 - 20 - - - - - - - 20 - 50 - 111 - 21 - - - - Domínio de Ruptura: - - - - - - - - - 540 - 10 - 131 - 23 - - - - Simplesmente Armada - - - - - - 690 - 10 - 141 - 23 - - - - Duplamente Armada - - - - - - 20 - 130 - 251 - 81 - - - - Solicitações - - - - - 150 - 20 - 81 - 20 - - - - 0 - - - - - - 150 - 50 - 81 - 20 - - - - 0 - - - - - - 20 - 20 - 141 - 20 - - - - Momento Fletor [KN.m] - - - - - - 20 - 49 - 111 - 21 - - - - Cortante [KN] - - - - - - - 20 - 40 - 251 - 81 - - - - Concreto - - - - - 20 - 20 - 121 - 20 - - - - Resistência - fck [MPa] - - - - - - 150 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 150 - 50 - 81 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - 20 - 50 - 121 - 20 - - - - Tipo de Aço - CA - - - - - - - 570 - 40 - 261 - 471 - - - - Armadura Transversal - - - - - 0 - 140 - 271 - 91 - - - - Modelo de Cálculo - - - - - 20 - 20 - 211 - 21 - - - - Modelo I - α = 90º e θ = 45º - - - true - - - - - - 20 - 40 - 211 - 21 - - - - Modelo II - α = 90º e 30º < θ < 45º - - - - - - 170 - 60 - 42 - 22 - - - - 30 - - - 45 - - - - - - 140 - 60 - 47 - 21 - - - - θ : - - - - - - - 30 - 20 - 221 - 131 - - - - - - - esquema_bielas.png - - - true - - - - - - 30 - 240 - 47 - 16 - - - - Vsd [KN] - - - - - - 110 - 240 - 113 - 20 - - - - - - - 30 - 270 - 47 - 16 - - - - Vrd2 [KN] - - - - - - 110 - 270 - 113 - 20 - - - - - - - - - - 110 - 300 - 113 - 20 - - - - - - - - - - 30 - 300 - 47 - 16 - - - - Vc [KN] - - - - - - 30 - 330 - 47 - 16 - - - - Vsw[KN] - - - - - - 110 - 330 - 113 - 20 - - - - - - - - - - 0 - 360 - 270 - 81 - - - - Área de Aço - - - - - 122 - 20 - 101 - 20 - - - - - - - - - - 30 - 20 - 71 - 16 - - - - As/s [mm²/m] - - - - - - 122 - 50 - 101 - 20 - - - - - - - - - - 30 - 50 - 91 - 16 - - - - As.min/s [mm²/m] - - - - - - - 127 - 447 - 121 - 20 - - - - Gerar Detalhamento - - - - - - - 580 - 520 - 75 - 23 - - - - Calcular - - - - - - 760 - 520 - 75 - 23 - - - - Salvar - - - - - - 670 - 520 - 75 - 23 - - - - Limpar - - - - - - - - - 0 - 0 - 868 - 21 - - - - - - - - diff --git a/vigas_alt.ui b/vigas_alt.ui deleted file mode 100644 index 3704cfe..0000000 --- a/vigas_alt.ui +++ /dev/null @@ -1,1498 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 868 - 627 - - - - MainWindow - - - - - - 0 - 30 - 861 - 571 - - - - 0 - - - - Seção Retangular - - - - - -1 - 39 - 551 - 511 - - - - 1 - - - - - - 20 - 180 - 251 - 291 - - - - Dimensões - - - - - 130 - 30 - 101 - 20 - - - - 0 - - - - - - 130 - 60 - 101 - 20 - - - - 0 - - - - - - 131 - 90 - 100 - 20 - - - - 0 - - - - - - 20 - 30 - 81 - 16 - - - - Base - bw [cm] - - - - - - 20 - 60 - 81 - 16 - - - - Altura - h [cm] - - - - - - 20 - 90 - 91 - 16 - - - - Altura Útil - d [cm] - - - - - - 0 - 150 - 260 - 141 - - - - Projeção de Domínio - - - - - 140 - 20 - 82 - 21 - - - - Domínio 3 - - - - - - 30 - 20 - 82 - 21 - - - - Domínio 2 - - - true - - - - - - 100 - 50 - 47 - 21 - - - - ξ - - - - - - 130 - 50 - 81 - 20 - - - - 0.450 - - - - - - 60 - 80 - 71 - 21 - - - - d limite [m] - - - - - - 130 - 80 - 81 - 20 - - - - - - - 131 - 110 - 81 - 20 - - - - - - - 60 - 110 - 91 - 21 - - - - X-limite [m] - - - - - - - 19 - 120 - 91 - 16 - - - - d' [cm] - - - - - - 130 - 120 - 100 - 20 - - - - 0 - - - true - - - - - - - 290 - 0 - 251 - 141 - - - - Seção - - - - - 71 - 6 - 110 - 131 - - - - - - - navier_viga_dupla.png - - - true - - - - - - - 290 - 150 - 251 - 321 - - - - Armadura Longitudinal - - - - - 20 - 50 - 91 - 21 - - - - Momento2 [KN.m] - - - - - - 130 - 50 - 100 - 20 - - - - - - - 0 - 90 - 260 - 231 - - - - Áreas de Aço - - - - - 129 - 18 - 91 - 20 - - - - - - - 20 - 18 - 111 - 21 - - - - As Compressão [mm²] - - - - - - 20 - 78 - 101 - 21 - - - - Asobre-apoio [mm²] - - - - - - 129 - 78 - 91 - 20 - - - - - - - 129 - 108 - 91 - 20 - - - - - - - 20 - 108 - 91 - 21 - - - - As.pele [mm²] - - - - - - 21 - 170 - 91 - 21 - - - - As.máx [mm²] - - - - - - 130 - 170 - 91 - 20 - - - - - - - 129 - 48 - 91 - 20 - - - - - - - 20 - 48 - 111 - 21 - - - - As Tração [mm²] - - - - - - 21 - 200 - 91 - 21 - - - - As.mín [mm²] - - - - - - 130 - 200 - 91 - 20 - - - - - - - 21 - 140 - 91 - 21 - - - - As.total [mm²] - - - - - - 130 - 140 - 91 - 20 - - - - - - - - 130 - 20 - 100 - 20 - - - - - - - 20 - 20 - 111 - 21 - - - - Momento-limite [KN.m] - - - - - - - - - 20 - 180 - 251 - 151 - - - - Dimensões - - - - - 130 - 30 - 101 - 20 - - - - 0 - - - - - - 130 - 60 - 101 - 20 - - - - 0 - - - - - - 131 - 90 - 100 - 20 - - - - 0 - - - - - - 20 - 30 - 81 - 16 - - - - Base - bw [cm] - - - - - - 20 - 60 - 81 - 16 - - - - Altura - h [cm] - - - - - - 20 - 90 - 91 - 16 - - - - Altura Útil - d [cm] - - - - - - 19 - 120 - 91 - 16 - - - - d' [cm] - - - - - - 130 - 120 - 100 - 20 - - - - 0 - - - true - - - - - - - 20 - 340 - 251 - 141 - - - - Seção - - - - - 70 - 6 - 111 - 131 - - - - - - - secao_viga.png - - - true - - - - - - - 290 - 2 - 251 - 351 - - - - Armadura Longitudinal - - - - - 19 - 20 - 91 - 21 - - - - Md [KN.m] - - - - - - 130 - 20 - 100 - 20 - - - - - - - 60 - 80 - 91 - 21 - - - - Kmd - - - - - - 110 - 80 - 100 - 20 - - - - - - - 60 - 110 - 91 - 21 - - - - Kx - - - - - - 110 - 110 - 100 - 20 - - - - - - - 60 - 140 - 91 - 21 - - - - Kz - - - - - - 110 - 140 - 100 - 20 - - - - - - - 0 - 170 - 260 - 181 - - - - Áreas de Aço - - - - - 129 - 30 - 91 - 20 - - - - - - - 20 - 30 - 91 - 21 - - - - As [mm²] - - - - - - 20 - 60 - 101 - 21 - - - - Asobre-apoio [mm²] - - - - - - 129 - 60 - 91 - 20 - - - - - - - 129 - 90 - 91 - 20 - - - - - - - 20 - 90 - 91 - 21 - - - - As.pele [mm²] - - - - - - 21 - 120 - 91 - 21 - - - - As.máx [mm²] - - - - - - 130 - 120 - 91 - 20 - - - - - - - 129 - 150 - 91 - 20 - - - - - - - 20 - 150 - 91 - 21 - - - - As.mín [mm²] - - - - - - - 130 - 50 - 111 - 20 - - - - - - - 20 - 50 - 111 - 21 - - - - Domínio de Ruptura: - - - - - - - - - 540 - 10 - 131 - 23 - - - - Simplesmente Armada - - - - - - 690 - 10 - 141 - 23 - - - - Duplamente Armada - - - - - - 20 - 130 - 251 - 81 - - - - Solicitações - - - - - 150 - 20 - 81 - 20 - - - - 0 - - - - - - 150 - 50 - 81 - 20 - - - - 0 - - - - - - 20 - 20 - 141 - 20 - - - - Momento Fletor [KN.m] - - - - - - 20 - 49 - 111 - 21 - - - - Cortante [KN] - - - - - - - 20 - 40 - 251 - 81 - - - - Concreto - - - - - 20 - 20 - 121 - 20 - - - - Resistência - fck [MPa] - - - - - - 150 - 20 - 81 - 22 - - - - - 20 - - - - - 25 - - - - - 30 - - - - - 35 - - - - - 40 - - - - - 45 - - - - - 50 - - - - - - - 150 - 50 - 81 - 22 - - - - - 250 - - - - - 500 - - - - - 600 - - - - - - - 20 - 50 - 121 - 20 - - - - Tipo de Aço - CA - - - - - - - 570 - 40 - 261 - 471 - - - - Armadura Transversal - - - - - 0 - 140 - 271 - 91 - - - - Modelo de Cálculo - - - - - 20 - 20 - 211 - 21 - - - - Modelo I - α = 90º e θ = 45º - - - true - - - - - - 20 - 40 - 211 - 21 - - - - Modelo II - α = 90º e 30º < θ < 45º - - - - - - 170 - 60 - 42 - 22 - - - - 30 - - - 45 - - - - - - 140 - 60 - 47 - 21 - - - - θ : - - - - - - - 30 - 20 - 221 - 131 - - - - - - - esquema_bielas.png - - - true - - - - - - 30 - 240 - 47 - 16 - - - - Vsd [KN] - - - - - - 110 - 240 - 113 - 20 - - - - - - - 30 - 270 - 47 - 16 - - - - Vrd2 [KN] - - - - - - 110 - 270 - 113 - 20 - - - - - - - - - - 110 - 300 - 113 - 20 - - - - - - - - - - 30 - 300 - 47 - 16 - - - - Vc [KN] - - - - - - 30 - 330 - 47 - 16 - - - - Vsw[KN] - - - - - - 110 - 330 - 113 - 20 - - - - - - - - - - 0 - 360 - 270 - 81 - - - - Área de Aço - - - - - 122 - 20 - 101 - 20 - - - - - - - - - - 30 - 20 - 71 - 16 - - - - As/s [mm²/m] - - - - - - 122 - 50 - 101 - 20 - - - - - - - - - - 30 - 50 - 91 - 16 - - - - As.min/s [mm²/m] - - - - - - - 127 - 447 - 121 - 20 - - - - Gerar Detalhamento - - - - - - - 660 - 520 - 75 - 23 - - - - Calcular - - - - - - 750 - 520 - 75 - 23 - - - - Limpar - - - - - - - - 720 - 0 - 131 - 51 - - - - - - - navier_logo_mini_alt.png - - - - - - - 0 - 0 - 868 - 21 - - - - - - - - From 0edadb601f0f86658f36d1a0ed4f8c4b733842d3 Mon Sep 17 00:00:00 2001 From: Vivian Giulia Fernandes Date: Fri, 10 Oct 2025 12:23:15 -0300 Subject: [PATCH 3/4] =?UTF-8?q?refactor:l=C3=B3gica=20de=20c=C3=A1lculo=20?= =?UTF-8?q?separada=20da=20interface=20na=20janela=20de=20vigas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 +- app/bitolas_ferros.ui | 355 +++ app/calculos/vigas.py | 356 +++ app/class_agres.ui | 456 +++ app/detalhamento_vigas_alt.ui | 820 +++++ app/inicio_alt.ui | 1266 ++++++++ app/lajes_alt.ui | 1571 ++++++++++ app/lajes_carg_adicional_atualizada.ui | 3939 ++++++++++++++++++++++++ app/main.py | 2460 +++++++++++++++ app/marcus.py | 707 +++++ app/pilares_alt.ui | 1382 +++++++++ app/pilares_areas_aco.ui | 513 +++ app/sapatas_alt.ui | 1175 +++++++ app/tabela_marcus.pdf | Bin 0 -> 130014 bytes app/vigas_alt.ui | 1498 +++++++++ app/vigas_alt_ui.py | 494 +++ 16 files changed, 16997 insertions(+), 1 deletion(-) create mode 100644 app/bitolas_ferros.ui create mode 100644 app/calculos/vigas.py create mode 100644 app/class_agres.ui create mode 100644 app/detalhamento_vigas_alt.ui create mode 100644 app/inicio_alt.ui create mode 100644 app/lajes_alt.ui create mode 100644 app/lajes_carg_adicional_atualizada.ui create mode 100644 app/main.py create mode 100644 app/marcus.py create mode 100644 app/pilares_alt.ui create mode 100644 app/pilares_areas_aco.ui create mode 100644 app/sapatas_alt.ui create mode 100644 app/tabela_marcus.pdf create mode 100644 app/vigas_alt.ui create mode 100644 app/vigas_alt_ui.py diff --git a/.gitignore b/.gitignore index 245fbde..148e96c 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,8 @@ $RECYCLE.BIN/ # Operating System Files # ========================= tests.ipynb -test.py \ No newline at end of file +test.py + +__pycache__/ +app/__pycache__/ +.vscode/ \ No newline at end of file diff --git a/app/bitolas_ferros.ui b/app/bitolas_ferros.ui new file mode 100644 index 0000000..c9261ae --- /dev/null +++ b/app/bitolas_ferros.ui @@ -0,0 +1,355 @@ + + + MainWindow + + + + 0 + 0 + 456 + 371 + + + + MainWindow + + + + + + 10 + 60 + 441 + 291 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bitola + + + + + Área da Seção + + + + + Tipo de Aço + + + + + 5 mm + + + AlignCenter + + + + + 19.63 mm² + + + AlignCenter + + + + + CA-60 + + + AlignCenter + + + + + 6.3 mm + + + AlignCenter + + + + + 31.17 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 8 mm + + + AlignCenter + + + + + 50.26 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 10 mm + + + AlignCenter + + + + + 78.53 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 12.5 mm + + + AlignCenter + + + + + 122.71 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 16 mm + + + AlignCenter + + + + + 201.06 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 25 mm + + + AlignCenter + + + + + 490.87 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 32 mm + + + AlignCenter + + + + + 804.24 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + 40 mm + + + AlignCenter + + + + + 1256.63 mm² + + + AlignCenter + + + + + CA-50 + + + AlignCenter + + + + + + + 10 + 20 + 241 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Tabela de Bitolas de Aço</span></p></body></html> + + + Qt::AutoText + + + + + + 260 + 20 + 161 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações de ferros comerciais.</p></body></html> + + + + + + + 0 + 0 + 456 + 21 + + + + + + + + diff --git a/app/calculos/vigas.py b/app/calculos/vigas.py new file mode 100644 index 0000000..c1111ef --- /dev/null +++ b/app/calculos/vigas.py @@ -0,0 +1,356 @@ +import sys +import os +import math + +from dataclasses import dataclass + + +@dataclass +class DadosViga: + mk: float + vk: float + bw: float + h: float + d: float + fck: float + fyk: float + fcd: float + fyd: float + vsd: float + theta_transversal: int = 45 + modelo_calculo: str = "Modelo I" + xis_dominio: float = 0.450 + + def validar_dados(self) -> tuple[bool, str]: + """Valida se todos os dados necessários para cálculo foram preenchidos.""" + campos = { + "Momento Fletor (Mk)": self.mk, + "Largura da Viga (bw)": self.bw, + "Altura Total (h)": self.h, + "Altura Útil (d)": self.d, + "Concreto (fck)": self.fck, + "Aço (fyk)": self.fyk, + "Concreto (fcd)": self.fcd, + "Aço (fyd)": self.fyd, + } + + for nome, valor in campos.items(): + if valor is None or valor <= 0: + return False, f"O valor de '{nome}' está ausente ou inválido." + + return True, "Todos os dados válidos." + + +class CalculadoraViga: + + @staticmethod + def calcular_viga_cortante(dados_viga: DadosViga) -> dict: + + alfa_transversal = ( + 90 # Estribos verticais (ãngulo de 90° com relação ao eixo da barra) + ) + + alfa_transversal = (alfa_transversal / 180) * math.pi + fator_cotangentes_transversal = ( + (math.cos(alfa_transversal) / math.sin(alfa_transversal)) + ) + ( + math.cos(dados_viga.theta_transversal) + / math.sin(dados_viga.theta_transversal) + ) + fator_cotangentes_transversal = 1 + + vrd2 = ( + # -------------- TENSÃO MÁXIMA CONVENCIONAL DE CISALHAMENTO + 0.27 + * (1 - (dados_viga.fck / 250)) # alfav2 + * dados_viga.fcd + # -------------- TENSÃO MÁXIMA CONVENCIONAL DE CISALHAMENTO + * (dados_viga.bw / 100) # bw em metros + * (dados_viga.d / 100) # d em metros + * (math.sin(2 * dados_viga.theta_transversal)) + * fator_cotangentes_transversal + * 1000 + ) # Força cortante resistente de cálculo + vrd2 = round(vrd2, 2) + + print( + f"[NOTICE] Força Cortante Solicitante de Cálculo Vsd: {dados_viga.vsd:.2f} kN" + ) + print( + f"[NOTICE] Força Cortante Resistente de Cálculo (ruína das diagonais comprimidas) VRd2: {vrd2:.2f} kN" + ) + + if vrd2 < dados_viga.vsd: + print( + "[ERROR] A seção de concreto não permite gerar bielas resistentes à compressão. " + "Reveja as dimensões da viga ou esforços de cálculo para a estrutura." + ) + raise ValueError( + "A seção de concreto não permite gerar bielas resistentes à compressão. " + "Reveja as dimensões da viga ou esforços de cálculo para a estrutura." + ) + else: + vc_0 = ( + 0.09 + * (dados_viga.fck ** (2 / 3)) + * (dados_viga.bw / 100) + * (dados_viga.d / 100) + * 1000 + ) + if dados_viga.modelo_calculo == "Modelo II": + vc_0 = vc_0 * ((vrd2 - dados_viga.vsd) / (vrd2 - vc_0)) + + vsw = dados_viga.vsd - vc_0 + + as_transversal = ( + vsw + / (0.9 * (dados_viga.d / 100) * dados_viga.fyd) + * math.tan(dados_viga.theta_transversal) + ) * 1000 + + taxa_aco_cortante_retangular = ( + 0.2 * (0.3 * dados_viga.fck ** (2 / 3)) / dados_viga.fyk + ) + + as_min_transversal = ( + (dados_viga.bw * 10) * taxa_aco_cortante_retangular + ) * 1000 # para deixar em mm² + + print(f"[NOTICE] Força Cortante Vk: {dados_viga.vk:.2f} kN") + print( + f"[NOTICE] Força Cortante Mecanismos Complementares (ângulo = 45)° Vc0: {vc_0:.2f} kN" + ) + print( + f"[NOTICE] Força Cortante parcela resistida pela armadura transversal Vsw: {vsw:.2f} kN" + ) + print( + f"[NOTICE] Área da Seção Transversão dos Estribos Asw: {as_transversal:.2f} mm²" + ) + print( + f"[NOTICE] Área de aço transversal mínima por metro linear Aswmin/s: {as_min_transversal:.2f} mm²/m" + ) + + # TODO verificar se vou usar essa informação + if dados_viga.vsd <= 0.67 * vrd2: + espass_maximo = 30 + else: + espass_maximo = 20 + + return { + "vk_viga": dados_viga.vk, + "vsd": dados_viga.vsd, + "vrd2": vrd2, + "vc_0": vc_0, + "as_transversal": as_transversal, + "taxa_aco_cortante_retangular": taxa_aco_cortante_retangular, + "as_min_transversal": as_min_transversal, + "vsw": vsw, + } + + @staticmethod + def calcular_viga_simples(dados_viga: DadosViga) -> dict: + """Retonar um dicionário com os resultados obtidos após terminar o dimensionamento da viga simplesmente armada.""" + d_linha = dados_viga.h - dados_viga.d + area_secao_viga = dados_viga.bw * dados_viga.h + + kmd_viga = (dados_viga.mk * 1.4 * 1000) / ( + (dados_viga.bw / 100) + * ((dados_viga.d / 100) ** 2) + * (0.85 * dados_viga.fcd * 1000000) + ) + + if kmd_viga > 0.5: + print( + "[ERROR] Os esforços especificados não são suportados pela seção de concreto analisada. " + "Por favor altere as dimensões da seção da viga ou reveja os esforços de cálculo para a estrutura." + ) + raise ValueError( + "Os esforços especificados não são suportados pela seção de concreto analisada. " + "Por favor altere as dimensões da seção da viga ou reveja os esforços de cálculo para a estrutura." + ) + else: + kx_viga = (1 - math.sqrt(1 - 2 * kmd_viga)) / 0.8 + kz_viga = 1 - 0.4 * kx_viga + as_viga = (dados_viga.mk * 1.4 * 1000) / ( + kz_viga * (dados_viga.d / 100) * dados_viga.fyd + ) + + as_sobre_apoio_viga = as_viga / 3 + if dados_viga.h >= 60: + as_pele = (0.1 / 100) * area_secao_viga * 100 + else: + as_pele = 0 + + as_max_viga = (4 / 100) * area_secao_viga * 100 + + # TODO código repetido refatorar + taxa_aco_por_fck = { + 20: 0.0015, + 25: 0.0015, + 30: 0.00173, + 35: 0.00201, + 40: 0.00203, + 45: 0.00259, + 50: 0.00288, + } + taxa_aco_viga_retangular = taxa_aco_por_fck.get(dados_viga.fck) + + if taxa_aco_viga_retangular is None: + raise ValueError(f"fck inválido: {dados_viga.fck}") + + as_min_viga = taxa_aco_viga_retangular * area_secao_viga * 100 + + # TODO melhorar esta estrutura + if kx_viga < 0: + dominio_viga = "Domínio 1" + elif kx_viga > 0 and kx_viga < 0.259: + dominio_viga = "Domínio 2" + elif kx_viga > 0.259 and kx_viga < 0.45: + dominio_viga = "Domínio 3 - Dúctil" + elif kx_viga > 0.45 and kx_viga < 0.63: + dominio_viga = "Domínio 3 - Não Dúctil" + elif kx_viga > 0.628 and kx_viga < 1: + dominio_viga = "Domínio 4a" + elif (kx_viga > 0.438 and kx_viga < 1) and (dados_viga.fyk == 600): + dominio_viga = "Domínio 4a" + else: + dominio_viga = "Domínio 4b" + + print( + f"[NOTICE] Intensidade do momento fletor solicitante Kmd: {kmd_viga:.2f}" + ) + print(f"[NOTICE] Profundidade da linha neutra Kx: {kx_viga:.2f}") + print(f"[NOTICE] Altura do braço de alavanca interno Kz: {kz_viga:.2f}") + print( + f"[NOTICE] Área da seção transversal da armadura longitudinal de tração As: {as_viga:.2f} mm²" + ) + + resultados_viga = CalculadoraViga.calcular_viga_cortante(dados_viga) + + resultados_viga.update( + { + "kmd_viga": kmd_viga, + "kx_viga": kx_viga, + "kz_viga": kz_viga, + "as_viga": as_viga, + "as_sobre_apoio_viga": as_sobre_apoio_viga, + "as_max_viga": as_max_viga, + "as_min_viga": as_min_viga, + "as_pele": as_pele, + "d_linha": d_linha, + "dominio_viga": dominio_viga, + } + ) + + return resultados_viga + + @staticmethod + def calcular_viga_dupla(dados_viga: DadosViga) -> dict: + + d_linha = dados_viga.h - dados_viga.d + + xis_dominio = dados_viga.xis_dominio + + d_min_viga = math.sqrt( + (dados_viga.mk * 1.4 * 1000) + / ( + (dados_viga.bw / 100) + * (dados_viga.fcd * 1000000) + * (0.68 * xis_dominio - 0.272 * (xis_dominio**2)) + ) + ) + + x_lim_viga = xis_dominio * (dados_viga.d / 100) + + momento_lim_viga = ( + 0.68 + * (dados_viga.bw / 100) + * (dados_viga.fcd * 1000) + * x_lim_viga + * ((dados_viga.d / 100) - 0.4 * x_lim_viga) + ) + + if d_min_viga < (dados_viga.h / 100): + print( + "[NOTICE] A altura atual da viga é maior que a altura útil mínima, calcule como simplesmente armada." + ) + raise ValueError( + "A altura atual da viga é maior que a altura útil mínima, calcule como simplesmente armada." + ) + + else: + momento_lim_viga = ( + 0.68 + * (dados_viga.bw / 100) + * (dados_viga.fcd * 1000) + * x_lim_viga + * ((dados_viga.d / 100) - 0.4 * x_lim_viga) + ) + momento_2_viga = (dados_viga.mk * 1.4) - momento_lim_viga + + as_compressao_viga = (momento_2_viga * 1000) / ( + ((dados_viga.d / 100) - (d_linha / 100)) * (dados_viga.fyd) + ) + + as_tracao_viga = (momento_lim_viga * 1000) / ( + (1 - 0.4 * xis_dominio) * (dados_viga.d / 100) * dados_viga.fyd + ) + + as_tracao_viga = as_tracao_viga + as_compressao_viga + + as_total_viga = as_tracao_viga + as_compressao_viga + + as_sobre_apoio_viga = as_tracao_viga / 3 + + area_secao_viga = dados_viga.bw * dados_viga.h + if dados_viga.h >= 60: + as_pele = (0.1 / 100) * area_secao_viga * 100 + else: + as_pele = 0 + + # TODO Código repetido refatorar + taxa_aco_por_fck = { + 20: 0.0015, + 25: 0.0015, + 30: 0.00173, + 35: 0.00201, + 40: 0.00203, + 45: 0.00259, + 50: 0.00288, + } + taxa_aco_viga_retangular = taxa_aco_por_fck.get(dados_viga.fck) + + if taxa_aco_viga_retangular is None: + raise ValueError(f"fck inválido: {dados_viga.fck}") + + as_max_viga = (4 / 100) * area_secao_viga * 100 + as_min_viga = taxa_aco_viga_retangular * area_secao_viga * 100 + + + print(f"[NOTICE] Altura útil mínima para evitar armadura dupla d_min: {d_min_viga:.2f} m") + print(f"[NOTICE] Posição limite da linha neutra para domínio 3 x_lim: {x_lim_viga:.2f} m") + print(f"[NOTICE] Momento resistente último para armadura simples Mlim: {momento_lim_viga:.2f} kN.m") + print(f"[NOTICE] Momento excedente para armadura dupla Momento2: {momento_2_viga:.2f} kN.m") + print(f"[NOTICE] Área de aço de compressão As Compressão: {as_compressao_viga:.2f} mm²") + print(f"[NOTICE] Área de aço de tração As Tração: {as_tracao_viga:.2f} mm²") + + resultados_viga = CalculadoraViga.calcular_viga_cortante(dados_viga) + + resultados_viga.update( + { + "d_min_viga": d_min_viga, + "x_lim_viga": x_lim_viga, + "momento_lim_viga": momento_lim_viga, + "momento_2_viga": momento_2_viga, + "as_compressao_viga": as_compressao_viga, + "as_tracao_viga": as_tracao_viga, + "as_sobre_apoio_viga": as_sobre_apoio_viga, + "as_max_viga": as_max_viga, + "as_min_viga": as_min_viga, + "as_pele": as_pele, + "as_total_viga":as_total_viga, + "d_linha": d_linha, + } + ) + + return resultados_viga diff --git a/app/class_agres.ui b/app/class_agres.ui new file mode 100644 index 0000000..d396e2e --- /dev/null +++ b/app/class_agres.ui @@ -0,0 +1,456 @@ + + + MainWindow + + + + 0 + 0 + 575 + 511 + + + + MainWindow + + + + + + 10 + 350 + 561 + 141 + + + + + 631 + 421 + + + + + Elemento + + + + + Laje + + + + + Viga + + + + + Pilar + + + + + I + + + + + II + + + + + III + + + + + IV + + + + + Classe de Agressividade Ambiental + + + AlignCenter + + + + + + + + + + + + + + + + + + + + 2 cm + + + + + 2.5 cm + + + + + 3.5 cm + + + + + 4.5 cm + + + + + 2.5 cm + + + + + 3 cm + + + + + 4 cm + + + + + 5 cm + + + + + 2.5 cm + + + + + 3 cm + + + + + 4 cm + + + + + 5 cm + + + + + + + 10 + 60 + 561 + 231 + + + + + 631 + 421 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Classe + + + + + Agressividade + + + + + Tipo de Ambiente + + + + + Risco de Deterioração + + + + + I + + + + + Fraca + + + AlignCenter + + + + + Rural + + + AlignCenter + + + + + Insulficiente + + + AlignCenter + + + + + Submersa + + + AlignCenter + + + + + II + + + + + Moderada + + + AlignCenter + + + + + Urbana + + + AlignCenter + + + + + Pequeno + + + AlignCenter + + + + + III + + + + + Forte + + + AlignCenter + + + + + Marinha + + + AlignCenter + + + + + Grande + + + AlignCenter + + + + + Industrial + + + AlignCenter + + + + + V + + + + + Muito Forte + + + AlignCenter + + + + + Industrial + + + AlignCenter + + + + + Elevado + + + AlignCenter + + + + + Respingos de Maré + + + AlignCenter + + + + + + + 40 + 20 + 241 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Classes de Agressividade Ambiental</span></p></body></html> + + + Qt::AutoText + + + + + + 290 + 20 + 271 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6118/14 - Tabela 6.1.</p></body></html> + + + + + + 290 + 310 + 271 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6118/14 - Tabela 7.2.</p></body></html> + + + + + + 40 + 310 + 241 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Cobrimentos Mínimos/Agressividade</span></p></body></html> + + + Qt::AutoText + + + + + + + 0 + 0 + 575 + 21 + + + + + + + + diff --git a/app/detalhamento_vigas_alt.ui b/app/detalhamento_vigas_alt.ui new file mode 100644 index 0000000..29cf48a --- /dev/null +++ b/app/detalhamento_vigas_alt.ui @@ -0,0 +1,820 @@ + + + MainWindow + + + + 0 + 0 + 840 + 615 + + + + MainWindow + + + + + + 10 + 10 + 831 + 571 + + + + 0 + + + + Dimesionamento + + + + + 400 + 220 + 401 + 131 + + + + + + + 400 + 20 + 401 + 181 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bitola + + + + + As unit [mm²] + + + + + nº aprox. + + + + + nº Barras + + + + + s [cm] + + + + + 6.3 + + + + + 31.17 + + + + + 8 + + + + + 50.26 + + + + + + + + + + 10 + + + + + 78.53 + + + + + 12.5 + + + + + 122.71 + + + + + 16 + + + + + 201.06 + + + + + 25 + + + + + 490.87 + + + + + 32 + + + + + 804.24 + + + + + 40 + + + + + 1256.63 + + + + + + + 290 + 320 + 75 + 23 + + + + Limpar + + + + + + 200 + 320 + 75 + 23 + + + + Calcular + + + + + + 10 + 370 + 361 + 161 + + + + Espaçamentos + + + + + 10 + 17 + 341 + 81 + + + + Espaçamentos entre Barras + + + + + 20 + 20 + 71 + 21 + + + + Horizontal [cm] + + + + + + 100 + 20 + 91 + 20 + + + + 0 + + + + + + 100 + 50 + 91 + 20 + + + + 0 + + + + + + 20 + 50 + 71 + 21 + + + + Vertical [cm] + + + + + + + 10 + 100 + 341 + 51 + + + + Espaçamento entre Estribos + + + + + 40 + 20 + 71 + 21 + + + + s [cm] + + + + + + 100 + 20 + 91 + 20 + + + + 0 + + + + + + + + 10 + 10 + 361 + 211 + + + + Entrada de Informações + + + + + 7 + 50 + 191 + 151 + + + + Seção + + + + + 20 + 20 + 91 + 16 + + + + Base - bw [cm] + + + + + + 110 + 50 + 71 + 20 + + + + 0 + + + + + + 20 + 110 + 91 + 16 + + + + Cobrimento [cm] + + + + + + 110 + 110 + 71 + 22 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + + + 20 + 50 + 91 + 16 + + + + Altura - h [cm] + + + + + + 110 + 20 + 71 + 20 + + + + 0 + + + + + + 17 + 80 + 90 + 21 + + + + Alt. Útil - d [cm] + + + + + + 110 + 80 + 71 + 20 + + + + + + + + + + + 210 + 20 + 81 + 20 + + + + 0 + + + + + + 40 + 20 + 161 + 16 + + + + Área de Aço Longitudinal [mm²] + + + + + + 203 + 50 + 151 + 81 + + + + Material + + + + + 20 + 20 + 47 + 21 + + + + Bitola + + + + + + 70 + 20 + 71 + 22 + + + + + 6.3 + + + + + 8 + + + + + 10 + + + + + 12.5 + + + + + 16 + + + + + 25 + + + + + 32 + + + + + 40 + + + + + + + 20 + 50 + 47 + 21 + + + + φ agrg. + + + + + + 70 + 50 + 71 + 20 + + + + 1.9 + + + + + + + + 10 + 320 + 101 + 23 + + + + Resgatar Valores + + + + + + 10 + 230 + 361 + 81 + + + + Estribos + + + + + 70 + 20 + 61 + 20 + + + + 0 + + + + + + 20 + 50 + 61 + 21 + + + + Bitola + + + + + + 70 + 50 + 61 + 22 + + + + + 5.0 + + + + + 6.3 + + + + + 8.0 + + + + + 10.0 + + + + + 12.5 + + + + + 16 + + + + + 20 + + + + + + + 20 + 20 + 51 + 21 + + + + Vsw [N] + + + + + + 280 + 50 + 61 + 20 + + + + 2 + + + + + + 230 + 50 + 51 + 21 + + + + Tramos + + + + + + 230 + 20 + 61 + 21 + + + + fyk + + + + + + 280 + 20 + 61 + 22 + + + + + 250 + + + + + 500 + + + + + 600 + + + + + + + + + + + 0 + 0 + 840 + 21 + + + + + + + + PlotWidget + QWidget +

pyqtgraph
+ 1 + + + + + diff --git a/app/inicio_alt.ui b/app/inicio_alt.ui new file mode 100644 index 0000000..1a054fa --- /dev/null +++ b/app/inicio_alt.ui @@ -0,0 +1,1266 @@ + + + MainWindow + + + + 0 + 0 + 582 + 514 + + + + MainWindow + + + + + + + 0 + + + + Navier - Início + + + + + 215 + 60 + 261 + 41 + + + + QFrame::NoFrame + + + QFrame::Sunken + + + QAbstractScrollArea::AdjustToContents + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de peças em Concreto Armado (Vigas, Lajes, Fundações) segundo a NBR 6118/14.</p></body></html> + + + + + + 260 + 20 + 141 + 51 + + + + + + + images/navier_logo_mini.png + + + + + + -10 + -8 + 171 + 431 + + + + + + + + + + 410 + 40 + 71 + 31 + + + + <html><head/><body><p><span style=" font-style:italic;">- v. 0.3</span></p></body></html> + + + Qt::RichText + + + + + + 180 + 130 + 361 + 271 + + + + Elementos Estruturais + + + + + 10 + 20 + 341 + 60 + + + + Vigas + + + + + 270 + 10 + 61 + 50 + + + + + + + + + + 20 + 20 + 241 + 21 + + + + Vigas Simples e Duplamente Armada + + + + + + + 10 + 140 + 341 + 61 + + + + Lajes + + + + + 270 + 10 + 61 + 50 + + + + + + + + + + 20 + 20 + 241 + 21 + + + + Lajes Maciças Unidirecionais e Bidirecionais + + + + + + 200 + 60 + 351 + 61 + + + + Vigas + + + + + 280 + 10 + 61 + 41 + + + + VIGAS + + + + + + 20 + 20 + 241 + 21 + + + + Simples e Dupla Armação, Tê + + + + + + + + 10 + 200 + 341 + 61 + + + + Fundação + + + + + 270 + 10 + 61 + 50 + + + + + + + + + + 20 + 20 + 241 + 21 + + + + Sapatas Isoladas Excêntricas + + + + + + 200 + 60 + 351 + 61 + + + + Vigas + + + + + 280 + 10 + 61 + 41 + + + + VIGAS + + + + + + 20 + 20 + 241 + 21 + + + + Simples e Dupla Armação, Tê + + + + + + + + 10 + 80 + 341 + 61 + + + + Pilares + + + + + 270 + 10 + 61 + 50 + + + + + + + + + + 20 + 16 + 251 + 31 + + + + <html><head/><body><p>Pilares Intermediários, de Extremidade e Canto</p></body></html> + + + Qt::RichText + + + + + + 200 + 60 + 351 + 61 + + + + Vigas + + + + + 280 + 10 + 61 + 41 + + + + VIGAS + + + + + + 20 + 20 + 241 + 21 + + + + Simples e Dupla Armação, Tê + + + + + + + + + 10 + 80 + 141 + 141 + + + + + + + images/navier_logo.png + + + false + + + + + + 20 + 330 + 131 + 51 + + + + + + + images/nassau_logo.png + + + true + + + + + + Descrição + + + + + -10 + -1 + 91 + 421 + + + + + + + + + + 100 + 80 + 451 + 291 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">O Software</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Este programa permite realizar cálculos de Vigas, Pilares, Lajes e Sapatas de concreto armado em alguns casos espefícicos. Os cálculos envolvidos são estabelecidos para as situações críticas das peças no ELU (estado limite último), obedecendo os critérios indicados na ABNT NBR 6118/2014 (Projetos de estruturas de concreto - Procedimento). Este software foi desenvolvido em ambiente acadêmico. </p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Responsabilidade</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">O Navier realiza cálculos baseado em roteiros de cálculo de elementos estruturais isolados, explicitas em literaturas da área. Os resultados obtidos na utilização do programa deve ser analisados com cautela e estudados antes de qualquer aplicação, sendo voltado principalmente para profissionais envolvidos na área da construção civil com conhecimento técnico sobre análise de estruturas e concreto armado, a saber principalmente engenheiros e estudantes. O desenvolvedor não tem nenhuma responsabilidade sobre a aplicação dos resultados, cabendo a uma pessoa legalmente habilitada [engenheiro] a palavra final sobre um projeto<span style=" font-size:8pt;"> (cf. Resolução 1010, 22 de agosto de 2005, Art. 5º)</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Cálculos Realizados</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">____________________________________________________________</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Vigas:</span> </p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de vigas de concreto armado com seções retangular, permite calcular armaduras de aço longitudinal e transversal. Para o armadura longitudinal existe as opções de calcular armadura simples ou armadura dupla, verificando requisitos como seção da viga, esforços e material para geração das áreas de aço (englobando armadura principal, sobre-apoio, pele e limitantes máxima e mínima), coeficientes (kmd, kx, kz) e dados sobre o domínio de ruptura. No cálculo das armaduras transversais o Navier permite o cálculo dos estribos baseados nos dois modelos de cálculo expressos na norma, sendo o modelo I o mais aplicado em projetos, já o modelo II possibilita a inserção de angulação para as bielas comprimidas diminuindo a taxa de área de aço.</p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Pilares:</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculos de pilares de concreto armado com seção retangular, permite calcular situações de pilares centrais e de extremidade, resolucionando situações de compressão centrada e flexo-compressão normal.</p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Lajes:</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de lajes de concreto armado do tipo maciça, permite calcular lajes unidirecionais e bidirecionais, utiliza-se dos coeficientes de Marcus para obtenção de esforços em elementos bidirecionais (tipo cruz) e utiliza as formulações dos momentos típicos em vigas biapoiadas para casos unidirecionais. Também são gerados coeficientes e informações relativas a laje com armaduras em ambas as direções. O Navier permite a entrada dos tipos de fixação laterais em engastadas ou livres.</p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">- Fundações:</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cálculo de fundações de concreto armado do tipo isolada simples, permite calcular sapatas do tipo excêntricas e isoladas, através de informações dos materiais, esforços e dados do solo encontra as área de aço finais de tração em cada um dos sentidos assim como também diversas informações como alturas exigidas, balanços, normal equivalente e também tensões máximas e mínimas atuantes na base da sapata. Para obter resultados podem ser inseridos dimensões esperadas ou também solicitar dimensionamento automático da fundação.</p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">_______________________________________________________________________</p></body></html> + + + + + + 120 + 30 + 371 + 31 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">Navier - software de cálculo de peças de concreto armado</span></p></body></html> + + + + + + Tabelas e Infos + + + + + -10 + 0 + 91 + 421 + + + + + + + + + + 110 + 20 + 321 + 30 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Tabelas importantes de normas brasileiras e cálculo</span></p></body></html> + + + + + + 129 + 255 + 391 + 150 + + + + Tabelas de auxílio de cálculo + + + + + 30 + 89 + 221 + 51 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Ábacos de Flexotração</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:7pt;"> </span><span style=" font-size:8pt;">Normal (Venturini &amp; Rodrigues)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> Oblíqua (Libânio M. Pinheiro)</span></p></body></html> + + + + + + 30 + 27 + 221 + 41 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Tabela de Marcus </span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:8pt;">(Lajes Bidirecionais)</span></p></body></html> + + + + + + 330 + 88 + 51 + 50 + + + + + + + + + + 330 + 26 + 51 + 51 + + + + + + + + + + 10 + 20 + 381 + 60 + + + + + + + + + + 10 + 83 + 381 + 60 + + + + + + + + + + 270 + 88 + 51 + 50 + + + + + + + groupBox_26 + groupBox_17 + textBrowser_13 + textBrowser_12 + pushButton_8 + pushButton_7 + pushButton_23 + + + + + 130 + 43 + 391 + 211 + + + + Tabelas de Normas + + + + + 30 + 159 + 281 + 30 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Relação de bitolas de aços comerciais</span></p></body></html> + + + + + + 30 + 36 + 281 + 30 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Agressividade Ambiental (NBR 6118/2014)</span></p></body></html> + + + + + + 330 + 26 + 51 + 51 + + + + + + + + + + 330 + 87 + 51 + 51 + + + + + + + + + + 30 + 97 + 281 + 30 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">- Carregamento Adicional (NBR 6120/2019)</span></p></body></html> + + + + + + 330 + 149 + 51 + 51 + + + + + + + + + + 10 + 20 + 381 + 61 + + + + + + + + + + 10 + 82 + 381 + 61 + + + + + + + + + + 10 + 144 + 381 + 60 + + + + + + + groupBox_16 + groupBox_15 + groupBox_14 + textBrowser_11 + textBrowser_9 + pushButton_2 + pushButton_5 + textBrowser_10 + pushButton_6 + + + + + Normas e Referências + + + + + -10 + 0 + 91 + 421 + + + + + + + + + + 110 + 20 + 91 + 30 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Referências </span></p></body></html> + + + + + + 140 + 90 + 411 + 291 + + + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + QFrame::HLine + + + true + + + + + 0 + 0 + 390 + 537 + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. </span><span style=" font-size:8pt; font-weight:600;">NBR 6118</span><span style=" font-size:8pt;">: projeto de estruturas de concreto – procedimentos. Rio de Janeiro, 2014. </span></p></body></html> + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. </span><span style=" font-size:8pt; font-weight:600;">NBR 6120</span><span style=" font-size:8pt;">: cargas para cálculo de estruturas de edificações. Rio de Janeiro, 2019. </span></p></body></html> + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">ARAÚJO, José Milton de. </span><span style=" font-size:8pt; font-weight:600;">Curso de concreto armado</span><span style=" font-size:8pt;"> - Vol. 1. 4ª Ed. Rio Grande: Ed. Dunas, 2014. </span></p></body></html> + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#222222; background-color:#ffffff;">CARVALHO, Roberto Chust; FIGUEIREDO FILHO, Jasson Rodrigues de. </span><span style=" font-size:8pt; font-weight:600; color:#222222; background-color:#ffffff;">Cálculo e detalhamento de estruturas usuais de concreto armado: </span><span style=" font-size:8pt; color:#222222; background-color:#ffffff;">Segundo a NBR 6118:2014. 4. ed. São Carlos: Edufscar, 2014.</span><span style=" font-size:8pt;"> </span></p></body></html> + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#000000;">CLÍMACO, João Carlos Teatini de Souza. </span><span style=" font-size:8pt; font-weight:600; color:#000000;">Estruturas de Concreto Armado</span><span style=" font-size:8pt; color:#000000;">. 2. ed. Brasília: Editora UNB, 2008.</span><span style=" font-size:8pt;"> </span></p></body></html> + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">BASTOS, P.S.S. Fundamentos do concreto armado. Notas de aula, Disciplina 1288 – Estruturas de Concreto I. Bauru/SP, Departamento Engenharia Civil, Faculdade de Engenharia - Universidade Estadual Paulista - UNESP, agosto/2004, 60p. </p></body></html> + + + + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6118: Projeto de estruturas de concreto - Procedimento. Rio de Janeiro, 2014. </p></body></html> + + + + + + + + + + Sobre + + + + + -10 + 0 + 91 + 421 + + + + + + + + + + 420 + 250 + 141 + 151 + + + + + + + images/navier_logo.png + + + + + + 160 + 351 + 256 + 51 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">&quot;Convém que Ele cresça e eu diminua&quot; </span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;"> João 3:30.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + + + + 110 + 60 + 401 + 71 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Navier </span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> </span><span style=" font-size:8pt;"> Software para cálculo de peças de Concreto Armado</span> </p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Programado em Python 3.7 </p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Interface gráfica com PyQt5</p></body></html> + + + + + + 180 + 160 + 331 + 41 + + + + QFrame::NoFrame + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Anderson Alves de Aguiar (andersonalvesmath@hotmail.com)</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + + + + 120 + 150 + 71 + 41 + + + + + + + images/logo_a3_mini.png + + + true + + + + + + 190 + 190 + 31 + 30 + + + + + + + images/git_logo.png + + + true + + + + + + 240 + 198 + 151 + 16 + + + + https://github.com/Anderson3 + + + + + + 460 + 190 + 31 + 31 + + + + + + + images/logo_brunel.png + + + true + + + + + + 410 + 190 + 31 + 31 + + + + + + + images/logo_engtool.png + + + true + + + + + + + + + + + + 0 + 0 + 582 + 21 + + + + + + + diff --git a/app/lajes_alt.ui b/app/lajes_alt.ui new file mode 100644 index 0000000..05a74c5 --- /dev/null +++ b/app/lajes_alt.ui @@ -0,0 +1,1571 @@ + + + MainWindow + + + + 0 + 0 + 1245 + 587 + + + + MainWindow + + + + + + 20 + 300 + 251 + 81 + + + + Carregamento + + + + + 20 + 20 + 121 + 20 + + + + Peso Próprio [KN/m²] + + + + + + 140 + 20 + 81 + 20 + + + + 0 + + + + + + 20 + 50 + 121 + 20 + + + + Carg. Adicional [KN/m²] + + + + + + 140 + 50 + 81 + 20 + + + + 0 + + + + + + 221 + 50 + 25 + 19 + + + + ... + + + + + + + 20 + 137 + 251 + 151 + + + + Dimensões + + + + + 20 + 30 + 101 + 16 + + + + L1 - lado maior [m] + + + + + + 132 + 30 + 101 + 20 + + + + 0 + + + + + + 20 + 60 + 101 + 16 + + + + L2 - lado menor [m] + + + + + + 132 + 60 + 101 + 20 + + + + 0 + + + + + + 18 + 90 + 91 + 16 + + + + Espessura [cm] + + + + + + 130 + 90 + 101 + 20 + + + + 0 + + + + + + 132 + 120 + 101 + 20 + + + + 0 + + + + + + 20 + 120 + 91 + 16 + + + + Altura Útil [cm] + + + + + + + 20 + 46 + 251 + 81 + + + + Concreto + + + + + 20 + 20 + 121 + 20 + + + + Resistência - fck [MPa] + + + + + + 150 + 20 + 81 + 22 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + 35 + + + + + 40 + + + + + + + 150 + 50 + 81 + 22 + + + + + 250 + + + + + 500 + + + + + 600 + + + + + + + 20 + 50 + 121 + 20 + + + + Resistência do Aço [MPa] + + + + + + + 20 + 390 + 251 + 141 + + + + Representação + + + + + 20 + 17 + 221 + 120 + + + + + + + laje-esqm.png + + + true + + + + + + + 280 + 47 + 281 + 481 + + + + Caso de Cálculo Laje + + + + + 40 + 50 + 191 + 121 + + + + + + + laje.png + + + true + + + + + + 20 + 50 + 21 + 121 + + + + false + + + + + + + livv.pnglivv.png + + + + 50 + 210 + + + + false + + + + + + 40 + 30 + 190 + 21 + + + + + + + + livh.pnglivh.png + + + + 300 + 50 + + + + + + + 40 + 170 + 190 + 21 + + + + + + + + livh.pnglivh.png + + + + 300 + 50 + + + + + + + 230 + 50 + 21 + 120 + + + + + + + + livv.pnglivv.png + + + + 50 + 210 + + + + + + + 60 + 200 + 111 + 16 + + + + CASO (para cálculo): + + + + + + 170 + 200 + 31 + 20 + + + + false + + + 1 + + + Qt::AlignCenter + + + + + + 0 + 360 + 281 + 121 + + + + Laje Bidirecional - Coeficientes de Marcus + + + + + 160 + 90 + 101 + 23 + + + + Tabela de Marcus + + + + + + 20 + 30 + 47 + 16 + + + + mx + + + + + + 50 + 30 + 81 + 20 + + + + + + + 50 + 60 + 81 + 20 + + + + + + + 20 + 60 + 47 + 16 + + + + my + + + + + + 140 + 30 + 47 + 16 + + + + nx + + + + + + 170 + 30 + 81 + 20 + + + + + + + 140 + 60 + 47 + 16 + + + + ny + + + + + + 170 + 60 + 81 + 20 + + + + + + + + 190 + 100 + 21 + 16 + + + + lx + + + + + + 130 + 130 + 21 + 16 + + + + lx + + + + + + 110 + 150 + 91 + 16 + + + + + + + + + + 200 + 50 + 21 + 121 + + + + + + + cota_v_laje.png + + + + + + 50 + 140 + 171 + 20 + + + + + + + cota_h_laje.png + + + true + + + + + + 120 + 100 + 31 + 16 + + + + + + + + + + 0 + 250 + 281 + 231 + + + + Laje Unidirecional - Casos + + + + + 20 + 10 + 241 + 101 + + + + + + + laje_unidirecional_modelo.png.png + + + false + + + + groupBox_11 + label_4 + pushButton + pushButton_2 + pushButton_3 + pushButton_4 + label_10 + lineEdit_6 + groupBox_6 + label_37 + label_38 + label_39 + label_40 + label_41 + label_42 + + + + + 570 + 48 + 671 + 481 + + + + Dimensionamento + + + + + 134 + 40 + 71 + 21 + + + + Tipo de Laje: + + + + + + 50 + 40 + 61 + 20 + + + + + + + 220 + 40 + 91 + 21 + + + + ______________ + + + + + + 20 + 40 + 31 + 21 + + + + λ : + + + + + + 20 + 80 + 111 + 21 + + + + Carreg. Total [KN/m²] + + + + + + 150 + 80 + 101 + 20 + + + + + + + 10 + 390 + 321 + 90 + + + + Momentos Atuantes [KN.m/m] + + + + + 90 + 30 + 31 + 21 + + + + Mx + + + + + + 110 + 30 + 81 + 20 + + + + + + + + + + 210 + 30 + 31 + 21 + + + + Nex + + + + + + 230 + 30 + 81 + 20 + + + + + + + + + + 90 + 60 + 31 + 21 + + + + My + + + + + + 110 + 60 + 81 + 20 + + + + + + + + + + 230 + 60 + 81 + 20 + + + + + + + + + + 210 + 60 + 31 + 21 + + + + Ney + + + + + + 20 + 30 + 51 + 16 + + + + Sentido X: + + + + + + 20 + 60 + 51 + 16 + + + + Sentido Y: + + + + + + + 340 + 90 + 161 + 171 + + + + Sentido X + + + + + 20 + 20 + 47 + 16 + + + + Md + + + + + + 60 + 20 + 91 + 20 + + + + + + + 20 + 50 + 47 + 16 + + + + Kmd + + + + + + 60 + 50 + 91 + 20 + + + + + + + 60 + 80 + 91 + 20 + + + + + + + 20 + 80 + 47 + 16 + + + + Kx + + + + + + 60 + 110 + 91 + 20 + + + + + + + 20 + 110 + 47 + 16 + + + + Kz + + + + + + 20 + 140 + 47 + 16 + + + + As + + + + + + 60 + 140 + 91 + 20 + + + + + + + + 499 + 90 + 161 + 171 + + + + Sentido Y + + + + + 50 + 140 + 91 + 20 + + + + + + + 50 + 50 + 91 + 20 + + + + + + + 10 + 50 + 47 + 16 + + + + Kmd + + + + + + 10 + 20 + 47 + 16 + + + + Md + + + + + + 10 + 110 + 47 + 16 + + + + Kz + + + + + + 10 + 80 + 47 + 16 + + + + Kx + + + + + + 50 + 110 + 91 + 20 + + + + + + + 50 + 80 + 91 + 20 + + + + + + + 10 + 140 + 47 + 16 + + + + As + + + + + + 50 + 20 + 91 + 20 + + + + + + + + 470 + 40 + 101 + 21 + + + + Áreas de Aço [mm²] + + + + + + 10 + 150 + 321 + 231 + + + + Armaduras Limites + + + + + 210 + 50 + 81 + 20 + + + + + + + + + + 20 + 50 + 171 + 21 + + + + Armadura Negativa Mínima [mm²] + + + + + + 20 + 80 + 301 + 151 + + + + Armadura Positiva Mínima + + + + + 50 + 40 + 121 + 21 + + + + Armadura Mínima [mm²] + + + + + + 190 + 40 + 81 + 20 + + + + + + + + + + 20 + 20 + 81 + 16 + + + + BIDIRECIONAL + + + + + + 20 + 70 + 121 + 16 + + + + UNIDIRECIONAL + + + + + + 50 + 90 + 121 + 21 + + + + Armadura Principal [mm²] + + + + + + 190 + 90 + 81 + 20 + + + + + + + + + + 50 + 120 + 141 + 21 + + + + Armadura Secundária [mm²] + + + + + + 190 + 120 + 81 + 20 + + + + + + + + + + + 20 + 20 + 171 + 21 + + + + Armadura Máxima [mm²] + + + + + + 210 + 20 + 81 + 20 + + + + + + + + + + + 20 + 110 + 121 + 21 + + + + Área S. Concreto [mm²] + + + + + + 140 + 110 + 81 + 20 + + + + + + + + + + 240 + 110 + 31 + 21 + + + + ρ [%] + + + + + + 270 + 110 + 51 + 20 + + + + + + + + + + 360 + 270 + 131 + 16 + + + + + + + + + + 510 + 270 + 141 + 16 + + + + + + + + + + + 1060 + 540 + 75 + 23 + + + + Calcular + + + + + + 1150 + 540 + 75 + 23 + + + + Limpar + + + + + + 1100 + 0 + 131 + 51 + + + + + + + navier_logo_mini_alt.png + + + + + + + 0 + 0 + 1245 + 21 + + + + + + + + diff --git a/app/lajes_carg_adicional_atualizada.ui b/app/lajes_carg_adicional_atualizada.ui new file mode 100644 index 0000000..cedb43c --- /dev/null +++ b/app/lajes_carg_adicional_atualizada.ui @@ -0,0 +1,3939 @@ + + + MainWindow + + + + 0 + 0 + 655 + 527 + + + + MainWindow + + + + + + 10 + 60 + 631 + 421 + + + + + 631 + 421 + + + + + Aeroportos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Arquibancadas e Tribunas + + + + + + + + + + Áreas Técnicas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Balcões + + + + + + + + + + + + + + + Bancos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bibliotecas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Centros de convenções e locais de reunião de pessoas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Centros de exposição + + + + + + + + + + + + + + + Cinemas (não inclui cinemas de shopping centers) + + + + + + + + + + + + + + + Clubes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Coberturas (estrut. concreto armado, mistas e alv. estrt.) + + + + + + + + + + + + + + + Cozinhas não residenciais + + + + + + + + + + Depósitos de uso geral + + + + + + + + + + + + + + + Edifícios Residenciais + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Edifícios comerciais + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Edificações industriais + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Escadas e passarelas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Escolas, instituições de ensino + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Estações de passageiros + + + + + + + + + + + + + + + Forros + + + + + Garagens, estacionamentos + + + + + Ginásios de esportes + + + + + Helipontos + + + + + Hospitais + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hotéis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Instituições penais + + + + + + + + + + + + + + + + + + + + Jardins + + + + + + + + + + Laboratórios + + + + + Lavanderias não residenciais + + + + + Lojas a , centros comerciais a , shopping centers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Museus, galerias de arte + + + + + + + + + + + + + + + + + + + + + + + + + Restaurantes + + + + + + + + + + + + + + + + + + + + + + + + + Supermercados + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vestíbulos (acessos) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Descrição + + + + + Cargas + + + AlignCenter + + + + + Áreas de acesso público, circulações, sanitários + + + + + 5 + + + AlignCenter + + + + + Lojas, duty free + + + + + 5 + + + AlignCenter + + + + + Controle de passaportes, segurança, raios X + + + + + 5 + + + AlignCenter + + + + + +Restituição de bagagens (não inclui o peso próprio dos equipamentos) + + + + + 5 + + + AlignCenter + + + + + Áreas administrativas + + + + + 5 + + + AlignCenter + + + + + Manipulação de bagagens (não inclui o peso próprio dos equipamentos) + + + + + 10 + + + AlignCenter + + + + + Áreas sujeitas ao tráfego de veículos + + + + + 10 + + + AlignCenter + + + + + Com assentos fixos + + + + + 5 + + + AlignCenter + + + + + Sem assentos fixos + + + + + 4 + + + AlignCenter + + + + + Barrilete + + + + + 1,5 + + + AlignCenter + + + + + Áreas técnicas em geral (fora da projeção dos equipamentos), exceto barrilete + + + + + 3 + + + AlignCenter + + + + + Sala de ventiladores, pressurização, exaustores + + + + + 3 + + + AlignCenter + + + + + Sala de ar-condicionado (fan coil) + + + + + 4 + + + AlignCenter + + + + + Sala de painéis elétricos de baixa tensão + + + + + 4 + + + AlignCenter + + + + + Sala de gerador e transformador (com leiaute) + + + + + 3 + + + AlignCenter + + + + + Sala de gerador e transformador (sem leiaute) + + + + + 10 + + + AlignCenter + + + + + Sala de no-breaks + + + + + 7,5 + + + AlignCenter + + + + + Sala de baterias + + + + + 10 + + + AlignCenter + + + + + CPD (centro de processamento de dados) + + + + + 5 + + + AlignCenter + + + + + Casa de máquinas de elevador de passageiros (v ≤ 1,0 m/s) + + + + + 30 + + + AlignCenter + + + + + Casa de máquinas de elevador de passageiros (v > 1,0 m/s) + + + + + 50 + + + AlignCenter + + + + + Poço de elevador de passageiros + + + + + 50 + + + AlignCenter + + + + + Poço de plataforma de elevação motorizada para pessoas com mobilidade reduzida + + + + + 2,5 + + + AlignCenter + + + + + Residencial + + + + + 2,5 + + + AlignCenter + + + + + Comercial, corporativos e escritórios + + + + + 3 + + + AlignCenter + + + + + Com acesso público (hotéis, hospitais, escolas, teatros etc.) + + + + + 4 + + + AlignCenter + + + + + Escritórios + + + + + 2,5 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Salas de diretoria e de gerência + + + + + 2,5 + + + AlignCenter + + + + + Cofre (validar caso a caso, respeitando o valor mínimo indicado nesta Tabela) + + + + + 30 + + + AlignCenter + + + + + Agência (área de atendimento ao público) + + + + + 3 + + + AlignCenter + + + + + Regiões de arquivos deslizantes + + + + + 5 + + + AlignCenter + + + + + Região de terminais de autoatendimento, caixas eletrônicos + + + + + 12 + + + AlignCenter + + + + + Áreas técnicas (ver item Áreas Técnicas nesta Tabela) + + + + + 12 + + + AlignCenter + + + + + Centro de processamento de dados (ver Áreas técnicas) + + + + + 12 + + + AlignCenter + + + + + Sala de leitura (sem estantes) + + + + + 3 + + + AlignCenter + + + + + Sala de leitura (com estantes) + + + + + 3 + + + AlignCenter + + + + + Sala com estantes de livros i + + + + + 6 kN/m 2 para estantes até 2,2 m de altura + 2 kN/m 2 por metro de altura de estante que ultrapassar 2,2 m + + + + + Regiões de arquivos deslizantes + + + + + 5 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Corredores + + + + + 3 + + + AlignCenter + + + + + Plateia com assentos fixos + + + + + 4 + + + AlignCenter + + + + + Plateia com assentos móveis + + + + + 5 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Acessos, corredores + + + + + 5 + + + AlignCenter + + + + + Plataformas (assembleia) + + + + + 5 + + + AlignCenter + + + + + Palco (área de apresentação) + + + + + 5 + + + AlignCenter + + + + + Acesso exclusivo de pessoas + + + + + 5 + + + AlignCenter + + + + + Área de estandes de exposição + + + + + 10 + + + AlignCenter + + + + + Área de exposição de veículos e equipamentos + + + + + 30 + + + AlignCenter + + + + + Plateia com assentos fixos + + + + + 4 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Acessos, corredores + + + + + 4 + + + AlignCenter + + + + + Refeitórios + + + + + 3 + + + AlignCenter + + + + + Sala de assembleia com assentos fixos + + + + + 4 + + + AlignCenter + + + + + Sala de assembleia com assentos móveis + + + + + 5 + + + AlignCenter + + + + + Academia + + + + + 5 + + + AlignCenter + + + + + Salão de esportes + + + + + 5 + + + AlignCenter + + + + + Salão de danças + + + + + 5 + + + AlignCenter + + + + + Salão de bilhar, sala de jogos + + + + + 3 + + + AlignCenter + + + + + Pista de boliche + + + + + 4 + + + AlignCenter + + + + + Sanitários, vestiários + + + + + 2 + + + AlignCenter + + + + + Cozinhas + + + + + 3 + + + AlignCenter + + + + + Depósitos + + + + + 5 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Corredores + + + + + 3 + + + AlignCenter + + + + + Quadras esportivas + + + + + 5 + + + AlignCenter + + + + + Lavanderias (ver item nesta Tabela) + + + + + - + + + AlignCenter + + + + + Com acesso apenas para manutenção ou inspeção + + + + + 1 + + + AlignCenter + + + + + Com placas de aquecimento solar ou fotovoltaicas + + + + + 1,5 + + + AlignCenter + + + + + Outros usos + + + + + conforme o item pertinente desta Tabela + + + + + Validar caso a caso, respeitando o valor mínimo indicado nesta Tabela + + + + + 3 + + + AlignCenter + + + + + Câmara fria + + + + + 5 + + + AlignCenter + + + + + Validar caso a caso, respeitando o valor mínimo indicado nesta Tabela + + + + + 7,5 kN/m 2 até 2,5 m de altura de estoque + 3 kN/m 2 por metro de altura de estoque excedente + + + AlignCenter + + + + + Locais sujeitos ao acúmulo de mercadorias, incluindo zonas de acesso Materiais de armazenagem + + + + + 7,5 + + + AlignCenter + + + + + Supermercados + + + + + tabela + + + AlignCenter + + + + + Dormitórios + + + + + 1.5 + + + AlignCenter + + + + + Sala, copa, cozinha + + + + + 1,5 + + + AlignCenter + + + + + Sanitários + + + + + 1,5 + + + AlignCenter + + + + + Despensa, área de serviço e lavanderia + + + + + 2 + + + AlignCenter + + + + + Quadras esportivas + + + + + 5 + + + AlignCenter + + + + + Salão de festas, salão de jogos + + + + + 3 + + + AlignCenter + + + + + Áreas de uso comum + + + + + 3 + + + AlignCenter + + + + + Academia + + + + + 3 + + + AlignCenter + + + + + Forro acessíveis apenas para manutenção e sem estoque de materiais + + + + + 0,1 + + + AlignCenter + + + + + Sótão + + + + + 2 + + + AlignCenter + + + + + Corredores dentro de unidades autônomas + + + + + 1,5 + + + AlignCenter + + + + + Corredores de uso comum + + + + + 3 + + + AlignCenter + + + + + Depósitos + + + + + 3 + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Jardins (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Salas de uso geral e sanitários + + + + + 2,5 + + + AlignCenter + + + + + Regiões de arquivos deslizantes + + + + + 5 + + + AlignCenter + + + + + Call center + + + + + 3 + + + AlignCenter + + + + + Corredores dentro de unidades autônomas + + + + + 2,5 + + + AlignCenter + + + + + Corredores de uso comum + + + + + 3 + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Jardins (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Áreas de produção, processos, manufatura etc. + + + + + - + + + AlignCenter + + + + + Refeitórios + + + + + 3 + + + AlignCenter + + + + + Sanitários, vestiários + + + + + 2 + + + AlignCenter + + + + + Cozinhas + + + + + 3 + + + AlignCenter + + + + + Salas administrativas + + + + + 2.5 + + + AlignCenter + + + + + Corredores + + + + + 3 + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Hospitais + + + + + 3 + + + AlignCenter + + + + + Residenciais, hotéis (dentro de unidades autônomas) + + + + + 2,5 + + + AlignCenter + + + + + Residenciais, hotéis (uso comum) + + + + + 3 + + + AlignCenter + + + + + Edifícios comerciais, clubes, escritórios, bibliotecas + + + + + 3 + + + AlignCenter + + + + + Centros de exposição + + + + + 5 + + + AlignCenter + + + + + Centros de convenções e locais de reunião de pessoas, teatros, igrejas + + + + + 5 + + + AlignCenter + + + + + Escolas + + + + + 3 + + + AlignCenter + + + + + Cinemas, centros comerciais, shopping centers + + + + + 4 + + + AlignCenter + + + + + Servindo arquibancadas + + + + + 5 + + + AlignCenter + + + + + Com acesso público + + + + + 3 + + + AlignCenter + + + + + Sem acesso público + + + + + 2,5 + + + AlignCenter + + + + + Auditório com assentos fixos + + + + + 4 + + + AlignCenter + + + + + Auditório com assentos móveis + + + + + 5 + + + AlignCenter + + + + + Corredor + + + + + 3 + + + AlignCenter + + + + + Sala de aula + + + + + 3 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Dormitórios + + + + + 2,5 + + + AlignCenter + + + + + Cafés, restaurantes + + + + + 3 + + + AlignCenter + + + + + Salão de esportes, academia + + + + + 5 + + + AlignCenter + + + + + Salão de danças + + + + + 5 + + + AlignCenter + + + + + Sanitários, vestiários + + + + + 2 + + + AlignCenter + + + + + Cozinhas + + + + + 3 + + + AlignCenter + + + + + Depósitos + + + + + 5 + + + AlignCenter + + + + + Laboratórios + + + + + 3 + + + AlignCenter + + + + + Regiões de arquivos deslizantes + + + + + 5 + + + AlignCenter + + + + + Quadras esportivas + + + + + 5 + + + AlignCenter + + + + + Biblioteca (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Acessos, escadas, corredores e plataformas (estações de trens, metrôs, ônibus, portos) + + + + + 5 + + + AlignCenter + + + + + Aeroportos (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Áreas sujeitas ao tráfego de veículos (ver 6.6) + + + + + - + + + AlignCenter + + + + + Acessíveis apenas para manutenção e sem estoque de materiais + + + + + 0,1 + + + AlignCenter + + + + + - + + + AlignCenter + + + + + 5 + + + AlignCenter + + + + + - + + + AlignCenter + + + + + Dormitórios, enfermaria, sala de recuperação, sanitários + + + + + 2 + + + AlignCenter + + + + + Sala de raios X, sala de cirurgia + + + + + 3 + + + AlignCenter + + + + + Laboratório + + + + + 3 + + + AlignCenter + + + + + Corredores + + + + + 3 + + + AlignCenter + + + + + Sala de refeições, café, restaurante + + + + + 3 + + + AlignCenter + + + + + Depósitos + + + + + 20 kN/m2 até 3 m de altura de estoque + 5 kN/m 2 por metro de altura de estoque excedente + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Dormitórios + + + + + 1,5 + + + AlignCenter + + + + + Sanitários dentro de unidades autônomas + + + + + 1,5 + + + AlignCenter + + + + + Demais sanitários, vestiários + + + + + 2 + + + AlignCenter + + + + + Salão de esportes, academia + + + + + 5 + + + AlignCenter + + + + + Salão de festas, salão de jogos + + + + + 3 + + + AlignCenter + + + + + Áreas de uso comum + + + + + 3 + + + AlignCenter + + + + + Corredores de unidades autônomas + + + + + 1,5 + + + AlignCenter + + + + + Corredores de uso comum + + + + + 3 + + + AlignCenter + + + + + Restaurante + + + + + 3 + + + AlignCenter + + + + + Sala de assembleia com assentos fixos + + + + + 4 + + + AlignCenter + + + + + Sala de assembleia com assentos móveis + + + + + 5 + + + AlignCenter + + + + + Cozinhas + + + + + 3 + + + AlignCenter + + + + + Depósitos + + + + + 5 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Lavanderias (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Celas + + + + + 3 + + + AlignCenter + + + + + Corredores + + + + + 3 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Com possibilidade de acesso de pessoas + + + + + 3 + + + AlignCenter + + + + + Sem possibilidade de acesso de pessoas (somente acesso de manutenção) + + + + + 1 + + + AlignCenter + + + + + Incluindo equipamentos + + + + + 3 + + + AlignCenter + + + + + Incluindo equipamentos + + + + + 3 + + + AlignCenter + + + + + Circulações e lojas em geral + + + + + 4 + + + AlignCenter + + + + + Lojas com mezanino metálico (inclui o peso próprio do mezanino e sua carga de uso) + + + + + 7,5 + + + AlignCenter + + + + + Mezanino metálico (apenas carga de uso) + + + + + 2 + + + AlignCenter + + + + + Praça de alimentação - área de público + + + + + 5 + + + AlignCenter + + + + + Praça de alimentação - área de cozinhas e serviços + + + + + 7,5 + + + AlignCenter + + + + + Cinema e teatro (apenas carga de uso, plateia com assentos fixos) + + + + + 4 + + + AlignCenter + + + + + Cinema e teatro (acessos e corredores) + + + + + 4 + + + AlignCenter + + + + + Cinema e teatro (piso que o suporta) + + + + + 12,5 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Depósitos + + + + + 5 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Região de terminais de autoatendimento, caixas eletrônicos + + + + + 12 + + + AlignCenter + + + + + Supermercados (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Áreas de exposição + + + + + 3 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Depósitos + + + + + 5 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Acessos, corredores + + + + + 5 + + + AlignCenter + + + + + Salão + + + + + 3 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Depósitos + + + + + 5 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Cozinha (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Salão de vendas com gôndolas, balcões com ou sem refrigeração + + + + + 8 + + + AlignCenter + + + + + Salão de vendas com porta-paletes + + + + + 20 kN/m 2 até 3 m de altura de estoque + 3 kN/m 2 por metro de altura de estoque excedente + + + + + Depósitos (com ou sem porta-paletes) + + + + + 20 kN/m 2 até 3 m de altura de estoque + 5 kN/m 2 por metro de altura de estoque excedente + + + + + Padaria, açougue, peixaria, frios e demais áreas de manipulação de alimentos + + + + + 8 + + + AlignCenter + + + + + Área de caixas (check outs) + + + + + 4 + + + AlignCenter + + + + + Sanitários + + + + + 2 + + + AlignCenter + + + + + Salas administrativas + + + + + 2,5 + + + AlignCenter + + + + + Região de terminais de autoatendimento, caixas eletrônicos + + + + + 12 + + + AlignCenter + + + + + Salas-cofre, salas-forte + + + + + 10 + + + AlignCenter + + + + + Áreas técnicas (ver item nesta Tabela) + + + + + tabela + + + AlignCenter + + + + + Sem acesso público + + + + + 11,5 + + + AlignCenter + + + + + Com acesso público + + + + + 3 + + + AlignCenter + + + + + Residenciais, hotéis, hospitais (uso comum) + + + + + 3 + + + AlignCenter + + + + + Edifícios comerciais, corporativos e de escritórios + + + + + 3 + + + AlignCenter + + + + + Clubes, escolas, bibliotecas + + + + + 3 + + + AlignCenter + + + + + Centros de convenções e locais de reunião de pessoas, teatros, igrejas + + + + + 5 + + + AlignCenter + + + + + Cinemas, centros comerciais, shopping centers + + + + + 4 + + + AlignCenter + + + + + Servindo arquibancadas + + + + + 5 + + + AlignCenter + + + + + + + 40 + 20 + 241 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Carrregamentos Adicionais</span></p></body></html> + + + Qt::AutoText + + + + + + 360 + 20 + 251 + 31 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informações extraídas da NBR 6120/19 - Tabela 10.</p></body></html> + + + + + + + 0 + 0 + 655 + 21 + + + + + + + + diff --git a/app/main.py b/app/main.py new file mode 100644 index 0000000..2ba826e --- /dev/null +++ b/app/main.py @@ -0,0 +1,2460 @@ +import sys +import os +import math + +from PyQt6.uic import loadUi +from PyQt6.QtWidgets import ( + QApplication, + QMainWindow, + QLabel, + QMessageBox, + QVBoxLayout, + QHBoxLayout, + QDialog, + QMessageBox, + QTableWidget, + QTableWidgetItem, + QStatusBar, + QToolBar, + QLineEdit, + QComboBox, + QSpinBox, +) +from PyQt6.QtGui import QPixmap, QIcon, QImage +from PyQt6 import QtWidgets, QtGui, QtCore +import pyqtgraph as pg +from calculos.vigas import DadosViga, CalculadoraViga + +# import marcus + +tabela_marcus = "tabela_marcus.pdf" +abaco_normal = "abaco_normal.pdf" +abaco_obliqua = "abaco_obliqua.pdf" + + +class Inicio(QMainWindow): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle("Navier - Início") + self.ui = None + self.load_ui() + self.load_signals() + + def load_ui(self): + self.ui = loadUi("inicio_alt.ui", self) + self.label.setStyleSheet("Background-Color: #ddebff;") + + self.pushButton.setIcon(QtGui.QIcon("images/btn_inicio_vigas.png")) + self.pushButton.setIconSize(QtCore.QSize(52, 52)) + self.pushButton_3.setIcon(QtGui.QIcon("images/btn_inicio_pilares.png")) + self.pushButton_3.setIconSize(QtCore.QSize(42, 42)) + self.pushButton_9.setIcon(QtGui.QIcon("images/btn_inicio_lajes.png")) + self.pushButton_9.setIconSize(QtCore.QSize(42, 42)) + self.pushButton_11.setIcon(QtGui.QIcon("images/btn_inicio_fundacoes.png")) + self.pushButton_11.setIconSize(QtCore.QSize(45, 45)) + + self.label_5.setStyleSheet("Background-Color: #ddebff;") + self.label_10.setStyleSheet("Background-Color: #ddebff;") + self.label_9.setStyleSheet("Background-Color: #ddebff;") + self.label_11.setStyleSheet("Background-Color: #ddebff;") + + self.pushButton_2.setIcon(QtGui.QIcon("images/btn_caa.png")) + self.pushButton_2.setIconSize(QtCore.QSize(45, 45)) + self.pushButton_5.setIcon(QtGui.QIcon("images/btn_cadicional.png")) + self.pushButton_5.setIconSize(QtCore.QSize(45, 45)) + self.pushButton_6.setIcon(QtGui.QIcon("images/btn_tabbitolas.png")) + self.pushButton_6.setIconSize(QtCore.QSize(45, 45)) + self.pushButton_7.setIcon(QtGui.QIcon("images/btn_tabmarcus.png")) + self.pushButton_7.setIconSize(QtCore.QSize(45, 45)) + self.pushButton_8.setIcon(QtGui.QIcon("images/btn_flexaosimples.png")) + self.pushButton_8.setIconSize(QtCore.QSize(45, 45)) + self.pushButton_23.setIcon(QtGui.QIcon("images/btn_flexaocomposta.png")) + self.pushButton_23.setIconSize(QtCore.QSize(45, 45)) + + self.label_21.setToolTip( + "Brunel - programa de cálculo e verificação de perfis metálicos para perfis brasileiros" + ) + self.label_22.setToolTip( + "EngTool - aplicação mobile para cálculo de vigas de concreto armado" + ) + + self.setFixedSize(570, 450) + + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.show() + + def load_signals(self): + self.pushButton.clicked.connect(self.iniciar_vigas) + self.pushButton_3.clicked.connect(self.iniciar_pilares) + self.pushButton_9.clicked.connect(self.iniciar_lajes) + self.pushButton_11.clicked.connect(self.iniciar_fundacoes) + + self.pushButton_2.clicked.connect(self.iniciar_classe_agressividade) + self.pushButton_5.clicked.connect(self.iniciar_carga_adicional) + self.pushButton_6.clicked.connect(self.iniciar_tabela_bitolas) + + self.pushButton_7.clicked.connect( + lambda: self.abrirTabelaAuxiliar(tabela_marcus) + ) + self.pushButton_23.clicked.connect( + lambda: self.abrirTabelaAuxiliar(abaco_normal) + ) + self.pushButton_8.clicked.connect( + lambda: self.abrirTabelaAuxiliar(abaco_obliqua) + ) + + def abrirTabelaAuxiliar(self, file): + os.startfile(file) + + def iniciar_vigas(self) -> None: + """Exibe a janela de dimensiomaneto de vigas.""" + print("[INFO] Janela de Dimensionamento de Vigas carregada corretamente!") + vigas.show() + + def iniciar_pilares(self): + print("pilares") + pilares.show() + + def iniciar_lajes(self): + print("lajes") + lajes.show() + + def iniciar_fundacoes(self): + print("fundações") + sapatas.show() + + # --------------------------- forms complementares ----------------------------- + def iniciar_carga_adicional(self): + print("carga adicional") + carga_adicional.show() + + def iniciar_tabela_bitolas(self): + print("carga adicional") + tabela_bitolas.show() + + def iniciar_classe_agressividade(self): + print("classe de agressividade") + tabela_classe_agressividade.show() + + +class Vigas(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.ui = loadUi("vigas_alt.ui", self) + self.load_signals() + + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Vigas") + self.setFixedSize(860, 620) + + def load_signals(self): + self.btn_viga_armacao_simples.clicked.connect( + lambda: self.stacked_viga_modelo_armacao.setCurrentIndex(1) + ) + self.btn_viga_armacao_dupla.clicked.connect( + lambda: self.stacked_viga_modelo_armacao.setCurrentIndex(0) + ) + self.btn_viga_gerar_detalhamento.clicked.connect(lambda: detalhar_vigas.show()) + + self.btn_viga_calcular.clicked.connect(self.calcular_viga_index) + self.btn_viga_limpar.clicked.connect(self.limpar_preenchimento_janela_vigas) + + self.radio_viga_dominio_2.clicked.connect( + lambda: self.ledit_viga_linha_neutra.setText("0.450") + ) + self.radio_viga_dominio_3.clicked.connect( + lambda: self.ledit_viga_linha_neutra.setText("0.628") + ) + + def calcular_viga_index(self) -> None: + """Define o tipo de cálculo a ser realizado para dimensionamento da viga. + Viga simplesmente ou duplamente armada. + """ + indice = self.stacked_viga_modelo_armacao.currentIndex() + + if indice == 1: + print("[INFO] Calculando Viga Simplesmente armada.") + try: + dados_viga = self._coletar_dados_interface(tipo_armacao_viga="Simples") + calculos_viga = CalculadoraViga() + dicionario_resultados = calculos_viga.calcular_viga_simples(dados_viga) + self._atualizar_dados_interface( + dicionario_resultados, tipo_armacao_viga="Simples" + ) + except Exception as e: + QMessageBox.warning( + self, + "Aviso", + str(e) or "Dados inconsistentes — verifique os campos.", + ) + return + else: + print("[INFO] Calculando Viga Duplamente armada.") + try: + dados_viga = self._coletar_dados_interface(tipo_armacao_viga="Dupla") + calculos_viga = CalculadoraViga() + dicionario_resultados = calculos_viga.calcular_viga_dupla(dados_viga) + self._atualizar_dados_interface( + dicionario_resultados, tipo_armacao_viga="Dupla" + ) + except Exception as e: + QMessageBox.warning( + self, + "Aviso", + str(e) or "Dados inconsistentes — verifique os campos.", + ) + return + + def limpar_preenchimento_janela_vigas(self) -> None: + """Retorna todos os widgets da janela para seus valores default.""" + + for widget in self.findChildren(QLineEdit): + widget.clear() + + for widget in self.findChildren(QComboBox): + widget.setCurrentIndex(0) + + for spin in self.findChildren(QSpinBox): + if spin.objectName() == "spin_viga_angulo_theta": + spin.setValue(30) + + self.radio_viga_dominio_3.setChecked(False) + self.radio_viga_dominio_2.setChecked(True) + self.radio_viga_modelo_calculo_1.setChecked(True) + self.radio_viga_modelo_calculo_2.setChecked(False) + + def _verificar_modelo_calculo_viga(self) -> str: + """Retorna o modelo de cálculo que será utilizado para verificação ao cisalhamento no ELU. + + Modelo I: Diagonais de compressão inclinadas a 45° em relação ao eixo longitudinal do elemento estrutural e + parcela complementar Vc de valor constante, independente de VSd. + + Modelo II: Diagonais de compressão inclinadas em relação ao eixo longitudinal da peça, variando livremente entre 30° e 45°. Admite ainda + que a parcela complementar Vc sofra redução com o aumento de VSd. + + """ + if self.radio_viga_modelo_calculo_2.isChecked(): + modelo_calculo = "Modelo II" + else: + modelo_calculo = "Modelo I" + return modelo_calculo + + def _coletar_dados_interface(self, tipo_armacao_viga: str) -> DadosViga: + """Coleta e converte dados da interface para DTO para serem utilizados no dimensionamento das vigas.""" + + modelo_calculo = self._verificar_modelo_calculo_viga() + + if modelo_calculo == "Modelo I": + theta_transversal = 45 + else: + theta_transversal = self.spin_viga_angulo_theta.value() + + if tipo_armacao_viga == "Simples": + + dados_calculo_viga = DadosViga( + mk=float(self.ledit_viga_momento_fletor.text()), + vk=float(self.ledit_viga_cortante.text()), + bw=float(self.ledit_viga_armacao_simples_largura.text()), + h=float(self.ledit_viga_armacao_simples_altura.text()), + d=float(self.ledit_viga_armacao_simples_altura_util.text()), + fck=float(self.combo_viga_concreto_fck.currentText()), + fyk=float(self.combo_viga_aco_classe.currentText()), + fcd=float(self.combo_viga_concreto_fck.currentText()) / 1.4, + fyd=float(self.combo_viga_aco_classe.currentText()) / 1.15, + vsd=float(self.ledit_viga_cortante.text()) * 1.4, + theta_transversal=(theta_transversal / 180) * math.pi, + modelo_calculo=modelo_calculo, + ) + + validacao, mensagem = dados_calculo_viga.validar_dados() + if not validacao: + raise ValueError(mensagem) + + return dados_calculo_viga + + else: + dados_calculo_viga = DadosViga( + mk=float(self.ledit_viga_momento_fletor.text()), + vk=float(self.ledit_viga_cortante.text()), + bw=float(self.ledit_viga_armacao_dupla_lagura.text()), + h=float(self.ledit_viga_armacao_dupla_altura.text()), + d=float(self.ledit_viga_armacao_dupla_altura_util.text()), + fck=float(self.combo_viga_concreto_fck.currentText()), + fyk=float(self.combo_viga_aco_classe.currentText()), + fcd=float(self.combo_viga_concreto_fck.currentText()) / 1.4, + fyd=float(self.combo_viga_aco_classe.currentText()) / 1.15, + vsd=float(self.ledit_viga_cortante.text()) * 1.4, + theta_transversal=(theta_transversal / 180) * math.pi, + modelo_calculo=modelo_calculo, + xis_dominio=float(self.ledit_viga_linha_neutra.text()), + ) + + validacao, mensagem = dados_calculo_viga.validar_dados() + if not validacao: + raise ValueError(mensagem) + + return dados_calculo_viga + + def _atualizar_dados_interface( + self, resultados_viga: dict, tipo_armacao_viga: str + ) -> None: + """Atualiza a interface com os resultados do cálculo do dimensionamento da viga.""" + + dados_viga = self._coletar_dados_interface(tipo_armacao_viga) + + self.ledit_viga_vsd.setText( + str(round(resultados_viga["vk_viga"] * 1.4, ndigits=4)) + ) + self.ledit_viga_vrd2.setText(str(round(resultados_viga["vrd2"], ndigits=4))) + self.ledit_viga_vc.setText(str(round(resultados_viga["vc_0"], ndigits=4))) + self.ledit_viga_vsw.setText(str(round(resultados_viga["vsw"], ndigits=4))) + self.ledit_viga_as_s.setText( + str(round(resultados_viga["as_transversal"], ndigits=4)) + ) + self.ledit_viga_as_min_s.setText( + str(round(resultados_viga["as_min_transversal"], ndigits=4)) + ) + + if tipo_armacao_viga == "Simples": + + self.ledit_viga_armacao_simples_md.setText( + str(round(dados_viga.mk * 1.4, ndigits=4)) + ) + self.ledit_viga_armacao_simples_kmd.setText( + str(round(resultados_viga["kmd_viga"], 4)) + ) + self.ledit_viga_armacao_simples_kx.setText( + str(round(resultados_viga["kx_viga"], 4)) + ) + self.ledit_viga_armacao_simples_kz.setText( + str(round(resultados_viga["kz_viga"], 4)) + ) + + self.ledit_viga_armacao_simples_as.setText( + str(round(resultados_viga["as_viga"], ndigits=4)) + ) + self.ledit_viga_armacao_simples_area_sobre_apoio.setText( + str(round(resultados_viga["as_sobre_apoio_viga"], ndigits=4)) + ) + self.ledit_viga_armacao_simples_as_pele.setText( + str(round(resultados_viga["as_pele"], ndigits=4)) + ) + self.ledit_viga_armacao_simples_as_max.setText( + str(round(resultados_viga["as_max_viga"], ndigits=4)) + ) + self.ledit_viga_armacao_simples_as_min.setText( + str(round(resultados_viga["as_min_viga"], ndigits=4)) + ) + + self.ledit_viga_armacao_simples_dominio_ruptura.setText( + resultados_viga["dominio_viga"] + ) + + self.ledit_viga_armacao_simples_d_linha.setText( + str(round(resultados_viga["d_linha"], ndigits=2)) + ) + + if (resultados_viga["dominio_viga"] == "Domínio 4a") or ( + resultados_viga["dominio_viga"] == "Domínio 4b" + ): + QMessageBox.about( + self, + "Atenção", + "Domínio de Cálculo 4: recomenda-se utilizar, em seção retangular, armadura dupla ou seção tê para contenção dos esforços de compressão do concreto.", + ) + + if resultados_viga["as_viga"] > resultados_viga["as_max_viga"]: + QMessageBox.about( + self, + "Atenção", + "Área Total calculada superior a Área Máxima especificada para a seção da viga.", + ) + if resultados_viga["as_viga"] < resultados_viga["as_min_viga"]: + QMessageBox.about( + self, + "Atenção", + "Área Total calculada inferior a Área Mínima especificada para a seção da viga.", + ) + + else: + + self.ledit_viga_d_limite.setText( + str(round(resultados_viga["d_min_viga"], ndigits=5)) + ) + self.ledit_viga_x_limite.setText( + str(round(resultados_viga["x_lim_viga"], ndigits=5)) + ) + self.ledit_viga_momento_limite.setText( + str(round(resultados_viga["momento_lim_viga"], ndigits=5)) + ) + self.ledit_viga_momento_2.setText( + str(round(resultados_viga["momento_2_viga"], ndigits=5)) + ) + + self.ledit_viga_as_compressao.setText( + str(round(resultados_viga["as_compressao_viga"], ndigits=5)) + ) + self.ledit_viga_as_tracao.setText( + str(round(resultados_viga["as_tracao_viga"], ndigits=5)) + ) + self.ledit_viga_area_sobre_apoio.setText( + str(round(resultados_viga["as_sobre_apoio_viga"], ndigits=5)) + ) + self.ledit_viga_as_pele.setText( + str(round(resultados_viga["as_pele"], ndigits=5)) + ) + self.ledit_viga_as_total.setText( + str(round(resultados_viga["as_total_viga"], ndigits=2)) + ) + self.ledit_viga_as_max.setText( + str(round(resultados_viga["as_max_viga"], ndigits=2)) + ) + self.ledit_viga_as_min.setText( + str(round(resultados_viga["as_min_viga"], ndigits=2)) + ) + + self.ledit_viga_armacao_dupla_d_linha.setText( + str(round(resultados_viga["d_linha"], ndigits=2)) + ) + + if resultados_viga["as_total_viga"] > resultados_viga["as_max_viga"]: + QMessageBox.about( + self, + "Atenção", + "Área Total calculada superior a Área Máxima especificada para a seção da viga.", + ) + if resultados_viga["as_total_viga"] < resultados_viga["as_min_viga"]: + QMessageBox.about( + self, + "Atenção", + "Área Total calculada inferior a Área Mínima especificada para a seção da viga.", + ) + + +tabela_bitolas_ferro = [ + [6.3, 31.17], + [8, 50.26], + [10, 78.53], + [12.5, 122.71], + [16, 201.06], + [20, 314.15], + [25, 490.87], + [32, 804.24], + [40, 1256.63], +] + + +class Detalhar_viga(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.load_ui() + self.load_signals() + + def load_ui(self): + self.ui = loadUi("detalhamento_vigas_alt.ui", self) + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Vigas - Detalhamento") + self.setFixedSize(845, 600) + + def load_signals(self): + print("inicializado") + self.pushButton.clicked.connect(self.calcular_area) + # self.pushButton.clicked.connect(self.calcular_estribos) + self.pushButton_2.clicked.connect(self.limpar_detalhamento) + self.pushButton_3.clicked.connect(self.recuperarValores) + + # pg.plot(x=[0,1,2,3,4], y=[0,1,2,3,4]**2 ) + header = self.tableWidget.horizontalHeader() + # FIXME Verificar a propriedade atualizada caso necessário + # header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) + # header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch) + + self.widget.setTitle("nº barras/Bitola") + self.widget.showGrid(x=True, y=True, alpha=1) + + # if '0' not in info_viga: + # self.recuperarValores() + + def calcular_estribos(self): + vsw = self.lineEdit_14.text() + fyk_estribo = self.comboBox_2.currentText() + tramos = self.lineEdit_15.text() + + if vsw != "0" and tramos != "0": + vsw = float(self.lineEdit_14.text()) + bitola_estribo = float(self.comboBox.currentText()) + fyk_estribo = float(self.comboBox_2.currentText()) + tramos = float(self.lineEdit_15.text()) + d = float(self.lineEdit_13.text()) + + espass_horizontal = info_viga_cortante[1] + + area_bitola = 3.14 * ((bitola_estribo / 1000) ** 2) / 4 + + print(vsw) + print(bitola_estribo) + print(tramos) + print(fyk_estribo) + print(area_bitola) + + s_estribo = ( + (tramos * area_bitola * 0.9 * (d / 100) * (fyk_estribo * 100000 / 1.15)) + / vsw + * 1000 + ) / 100 + s_estribo = round(s_estribo, ndigits=3) + + if s_estribo < espass_horizontal: + self.lineEdit.setText(str(espass_horizontal)) + else: + self.lineEdit.setText(str(s_estribo)) + + else: + QMessageBox.about( + self, + "Falta de Dados", + "Por favor insira dados consistentes para o cálculo dos Estribos!", + ) + + def recuperarValores(self): + area_aco = info_viga[0] + base = info_viga[1] + altura = info_viga[2] + d = info_viga[3] + d_agreg = info_viga[4] + + vsw = info_viga_cortante[0] + + self.lineEdit_11.setText(area_aco) + self.lineEdit_10.setText(base) + self.lineEdit_9.setText(altura) + self.lineEdit_12.setText(d_agreg) + self.lineEdit_13.setText(d) + self.lineEdit_14.setText(vsw) + + def calcular_area(self): + area_aco = self.lineEdit_11.text() + base = self.lineEdit_10.text() + altura = self.lineEdit_9.text() + d_agreg = self.lineEdit_12.text() + d = self.lineEdit_13.text() + + if ( + area_aco != "0" + and base != "0" + and altura != "0" + and d_agreg != "0" + and d != "0" + ): + + self.widget.clear() + area_aco = float(self.lineEdit_11.text()) + base = float(self.lineEdit_10.text()) + altura = float(self.lineEdit_9.text()) + cobrimento = float(self.comboBox_3.currentText()) + bitola_estribo = float(self.comboBox.currentText()) + x = [] + y = [] + z = [] + cont = 0 + for i in tabela_bitolas_ferro: + n_barras = float(area_aco / i[1]) + print("bitola: ", i[0], " - nº barras: ", n_barras) + + self.tableWidget.setItem( + cont, 2, QTableWidgetItem(str(round(n_barras, ndigits=2))) + ) + self.tableWidget.setItem( + cont, 3, QTableWidgetItem(str(round(n_barras + 0.5) + 1)) + ) + + x.append(i[0]) + y.append(round(n_barras + 0.5) + 1) + + bitola = x[cont] + n_barras = round(n_barras + 0.5) + 1 + + espass_horizontal = ( + round( + base + - 2 * (cobrimento + bitola_estribo / 10) + - n_barras * (bitola / 10), + ndigits=2, + ) + ) / (n_barras - 1) + + z.append(round(espass_horizontal, ndigits=2)) + self.tableWidget.setItem( + cont, 4, QTableWidgetItem(str(espass_horizontal)) + ) + + print("base:", base) + print("cobrimento:", cobrimento) + print("bitola_estribo:", bitola_estribo) + print("n_barras:", n_barras) + + cont += 1 + + # print(x) + # print(y) + # print(z) + + self.widget.plot(x=x, y=y, pen=(3)) + + self.calcular_espacamentos() + self.calcular_estribos() + + else: + QMessageBox.about( + self, "Falta de Dados", "Por favor insira dados consistentes!" + ) + + def calcular_espacamentos(self): + bitola = float(self.comboBox_4.currentText()) + d_agreg = float(self.lineEdit_12.text()) + + s_horizontal = max(2, (bitola / 10), 1.2 * d_agreg) + s_vertical = max(2, (bitola / 10), 0.5 * d_agreg) + + # ------------------------------- saida de dados ---------------------------------- + self.lineEdit_7.setText(str(s_horizontal)) + self.lineEdit_8.setText(str(s_vertical)) + + def limpar_detalhamento(self): + self.widget.clear() + self.lineEdit_11.setText(str("0")) + self.lineEdit_9.setText(str("0")) + self.lineEdit_10.setText(str("0")) + self.lineEdit_7.setText(str("0")) + self.lineEdit_8.setText(str("0")) + + +class Tabela_Bitolas(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.ui = loadUi("bitolas_ferros.ui", self) + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + header = self.tableWidget.horizontalHeader() + # FIXME Verificar a propriedade atualizada caso necessário + # header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) + + self.setWindowTitle("Navier - Tabela de Bitolas") + self.setFixedSize(456, 372) + + +global pilares_info +pilares_info = [0, 0, 0, 0] + +global pilares_info_aco +pilares_info_aco = [0, 0, 0, 0, 0, 0, 0] + + +class Pilares(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.ui = loadUi("pilares_alt.ui", self) + self.load_signals() + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Pilares") + self.setFixedSize(997, 670) + + def load_signals(self): + print("pilares carregado") + self.cont_x = 0 + self.cont_y = 0 + + self.pushButton_6.clicked.connect(self.calcular_pilares) + self.pushButton_7.clicked.connect(self.limpar_pilares) + + self.pushButton.clicked.connect(self.gerar_envoltoria) + self.pushButton_3.clicked.connect(lambda: pilares_areas_aco.show()) + + def calcular_pilares(self): + x_pilar = self.lineEdit.text() + y_pilar = self.lineEdit_2.text() + altura_pilar = self.lineEdit_3.text() + altura_lance = self.lineEdit_4.text() + + nk_pilar = self.lineEdit_5.text() + momento_x_topo = self.lineEdit_6.text() + momento_x_base = self.lineEdit_7.text() + momento_y_topo = self.lineEdit_8.text() + momento_y_base = self.lineEdit_9.text() + + if ( + x_pilar != "0" + and y_pilar != "0" + and altura_pilar != "0" + and altura_lance != "0" + and nk_pilar != "0" + ): + fck_pilar = float(self.comboBox_3.currentText()) + fcd_pilar = fck_pilar / 1.4 + fyk_pilar = float(self.comboBox_4.currentText()) + fyd_pilar = fyk_pilar / 1.15 + cobrimento_pilar = float(self.comboBox_5.currentText()) + + x_pilar = float(self.lineEdit.text()) + y_pilar = float(self.lineEdit_2.text()) + altura_pilar = float(self.lineEdit_3.text()) + altura_lance = float(self.lineEdit_4.text()) + + nk_pilar = float(self.lineEdit_5.text()) + momento_x_topo = float(self.lineEdit_6.text()) + momento_x_base = float(self.lineEdit_7.text()) + momento_y_topo = float(self.lineEdit_8.text()) + momento_y_base = float(self.lineEdit_9.text()) + + area_secao_pilar = (x_pilar / 100) * (y_pilar / 100) + + # nd_pilar = (nk_pilar + ((x_pilar/100)*(y_pilar/100)*altura_pilar*25)) * 1.4 + nd_pilar = (nk_pilar) * 1.4 + md_x_topo = 1.4 * momento_x_topo + md_x_base = 1.4 * momento_x_base + md_y_topo = 1.4 * momento_y_topo + md_y_base = 1.4 * momento_y_base + + tipo_apoio_x = "AA" + + if ( + momento_x_topo == 0 + and momento_x_base == 0 + and momento_y_topo == 0 + and momento_y_base == 0 + ): + self.tipo_pilar = "intermediario" + elif momento_x_topo == 0 and momento_x_base == 0: + self.tipo_pilar = "extremidade-x" + elif momento_y_topo == 0 and momento_y_base == 0: + self.tipo_pilar = "extremidade-y" + else: + self.tipo_pilar = "canto" + + self.lineEdit_13.setText(str(round(md_x_topo, ndigits=5))) + self.lineEdit_14.setText(str(round(md_x_base, ndigits=5))) + self.lineEdit_22.setText(str(round(md_y_topo, ndigits=5))) + self.lineEdit_28.setText(str(round(md_y_base, ndigits=5))) + + # -Eixo-X---------------------------------------------------------------------- + b = y_pilar + h = x_pilar + + m_a = max(md_x_topo, md_x_base) + m_b = min(md_x_topo, md_x_base) + + if self.tipo_pilar == "intermediario" or self.tipo_pilar == "extremidade-x": + alfa_b_x = 1.0 + else: + alfa_b_x = 0.6 + 0.4 * (m_b / m_a) + + if alfa_b_x < 0.4: + alfa_b_x = 0.4 + + # excen_min_x = (1.5+0.03*h) + momento_min_x = (nd_pilar * (1.5 + 0.03 * h)) / 100 + excen_min_x = momento_min_x / nd_pilar + + if md_x_topo < momento_min_x: + md_x_topo = momento_min_x + print("momento topo - mínimo") + alfa_b_x = 1.0 + if md_x_base < momento_min_x: + md_x_base = momento_min_x + print("momento base - mínimo") + alfa_b_x = 1.0 + + compr_efetivo_x = (altura_pilar * 100) + h + if altura_lance * 100 < compr_efetivo_x: + compr_efetivo_x = altura_lance * 100 + + excen_x_acidental = compr_efetivo_x / 400 + v_0 = (nd_pilar * 1000) / (area_secao_pilar * fcd_pilar * 1000000) + + excentricidade_relativa = ( + max(md_x_topo, md_x_base, momento_min_x) / nd_pilar + ) / h + + lambda_pilar_x = 3.46 * (compr_efetivo_x / h) + lambda_pilar_x_limite = (25 + 12.5 * (excentricidade_relativa)) / alfa_b_x + if lambda_pilar_x_limite < 35: + lambda_pilar_x_limite = 35 + + excen_2_x = (compr_efetivo_x**2) / 10 * (0.005 / ((v_0 + 0.5) * h)) + + md2_x = nd_pilar * (excen_2_x / 100) + + if lambda_pilar_x > lambda_pilar_x_limite: + print("efeitos de 2 ordem considerados") + excen_2 = (compr_efetivo_x**2) / 10 * (0.005 / ((v_0 + 0.5) * h)) + md2_x_relativo = nd_pilar * (excen_2 / 100) + else: + md2_x_relativo = 0 + print("efeitos de 2 ordem desconsiderados") + + msd_x_intermediario = ( + alfa_b_x * max(abs(md_x_topo), abs(md_x_base), abs(momento_min_x)) + + md2_x_relativo + ) + # msd_x_intermediario = alfa_b_x * abs(momento_min_x) + md2_x_relativo + + mi_x = msd_x_intermediario / (h * area_secao_pilar * fcd_pilar) / 10 + delta_x = cobrimento_pilar / h + + # -Eixo-Y---------------------------------------------------------------------- + h = y_pilar + b = x_pilar + + m_a = max(md_y_topo, md_y_base) + m_b = min(md_y_topo, md_y_base) + + if self.tipo_pilar == "intermediario" or self.tipo_pilar == "extremidade-y": + alfa_b_y = 1.0 + else: + alfa_b_y = 0.6 + 0.4 * (m_b / m_a) + + if alfa_b_y < 0.4: + alfa_b_y = 0.4 + + momento_min_y = (nd_pilar * (1.5 + 0.03 * h)) / 100 + excen_min_y = momento_min_y / nd_pilar + + if md_y_topo < momento_min_y: + md_y_topo = momento_min_y + print("momento topo - mínimo") + alfa_b_y = 1.0 + if md_y_base < momento_min_y: + md_y_base = momento_min_y + print("momento base - mínimo") + alfa_b_y = 1.0 + + compr_efetivo_y = (altura_pilar * 100) + h + if altura_lance * 100 < compr_efetivo_y: + compr_efetivo_y = altura_lance * 100 + + excen_y_acidental = compr_efetivo_y / 400 + v_0 = (nd_pilar * 1000) / (area_secao_pilar * fcd_pilar * 1000000) + + excentricidade_relativa = ( + max(md_y_topo, md_y_base, momento_min_y) / nd_pilar + ) / h + + lambda_pilar_y = 3.46 * (compr_efetivo_y / h) + lambda_pilar_y_limite = (25 + 12.5 * (excentricidade_relativa)) / alfa_b_y + if lambda_pilar_y_limite < 35: + lambda_pilar_y_limite = 35 + + excen_2_y = (compr_efetivo_y**2) / 10 * (0.005 / ((v_0 + 0.5) * h)) + + md2_y = nd_pilar * (excen_2_y / 100) + + if lambda_pilar_y > lambda_pilar_y_limite: + print("efeitos de 2 ordem considerados") + excen_2 = (compr_efetivo_y**2) / 10 * (0.005 / ((v_0 + 0.5) * h)) + md2_y_relativo = nd_pilar * (excen_2 / 100) + else: + md2_y_relativo = 0 + print("efeitos de 2 ordem desconsiderados") + + msd_y_intermediario = ( + alfa_b_y * max(abs(md_y_topo), abs(md_y_base), abs(momento_min_y)) + + md2_y_relativo + ) + # msd_y_intermediario = alfa_b_y * abs(momento_min_y) + md2_y_relativo + + mi_y = msd_y_intermediario / (h * area_secao_pilar * fcd_pilar) / 10 + delta_y = cobrimento_pilar / h + + # --------------------------------------------- saida de dados --------------------------------------------- + self.lineEdit_10.setText(str(round(nd_pilar, ndigits=4))) + self.lineEdit_11.setText(str(round(area_secao_pilar, ndigits=4))) + self.lineEdit_12.setText(str(round(v_0, ndigits=4))) + + self.lineEdit_15.setText(str(round(momento_min_x, ndigits=5))) + self.lineEdit_16.setText(str(round(excen_min_x * 100, ndigits=5))) + self.lineEdit_17.setText(str(round(lambda_pilar_x, ndigits=5))) + self.lineEdit_18.setText(str(round(lambda_pilar_x_limite, ndigits=5))) + self.lineEdit_19.setText(str(round(excen_2_x, ndigits=5))) + self.lineEdit_20.setText(str(round(md2_x, ndigits=5))) + self.lineEdit_21.setText(str(round(msd_x_intermediario, ndigits=5))) + + self.lineEdit_24.setText(str(round(momento_min_y, ndigits=5))) + self.lineEdit_25.setText(str(round(excen_min_y * 100, ndigits=5))) + self.lineEdit_26.setText(str(round(lambda_pilar_y, ndigits=5))) + self.lineEdit_23.setText(str(round(lambda_pilar_y_limite, ndigits=5))) + self.lineEdit_30.setText(str(round(excen_2_y, ndigits=5))) + self.lineEdit_29.setText(str(round(md2_y, ndigits=5))) + self.lineEdit_27.setText(str(round(msd_y_intermediario, ndigits=5))) + + self.lineEdit_31.setText(str(round(mi_x, ndigits=2))) + self.lineEdit_32.setText(str(round(mi_y, ndigits=2))) + self.lineEdit_33.setText(str(round(delta_x, ndigits=2))) + self.lineEdit_34.setText(str(round(delta_y, ndigits=2))) + + global pilares_info + pilares_info = [ + msd_x_intermediario, + msd_y_intermediario, + momento_min_x, + momento_min_y, + ] + + if md2_x_relativo == 0: + self.label_39.setText("não considera 2º ordem") + else: + self.label_39.setText("considera 2º ordem") + + if md2_y_relativo == 0: + self.label_44.setText("não considera 2º ordem") + else: + self.label_44.setText("considera 2º ordem") + + if self.tipo_pilar == "intermediario": + self.label.setText("PILAR INTERMEDIÁRIO") + elif (self.tipo_pilar == "extremidade-x") or ( + self.tipo_pilar == "extremidade-y" + ): + self.label.setText("PILAR DE EXTREMIDADE") + else: + self.label.setText("PILAR DE CANTO") + + global pilares_info_aco + pilares_info_aco = [ + mi_x, + delta_x, + mi_y, + delta_y, + fck_pilar, + area_secao_pilar, + nk_pilar, + ] + + else: + QMessageBox.about( + self, "Falta de Dados", "Por favor insira dados consistentes!" + ) + + def gerar_envoltoria(self): + msd_x_intermediario = pilares_info[0] + msd_y_intermediario = pilares_info[1] + momento_min_x = pilares_info[2] + momento_min_y = pilares_info[3] + + x = [] + y = [] + for i in range(360): + theta = i + theta_conv = (theta * math.pi) / 180 + + seno = math.sin(theta_conv) + seno = momento_min_y * seno + + cosseno = math.cos(theta_conv) + cosseno = momento_min_x * cosseno + + x.append(seno) + y.append(cosseno) + + z = [] + w = [] + for j in range(360): + theta = j + theta_conv = (theta * math.pi) / 180 + + seno = math.sin(theta_conv) + seno = msd_y_intermediario * seno + + cosseno = math.cos(theta_conv) + cosseno = msd_x_intermediario * cosseno + + z.append(seno) + w.append(cosseno) + + # create plot + """plt = pg.plot(x, y, title='theTitle', pen='r') + plt.showGrid(x=True,y=True) + """ + # create plot + plt = pg.plot() + plt.clear() + plt.showGrid(x=True, y=True) + plt.addLegend() + plt.setTitle("Envoltória de Momentos") + + # set properties + plt.setLabel("left", "Momentos Y", units="KN.m") + plt.setLabel("bottom", "Momentos X", units="KN.m") + plt.setXRange(0, 10) + plt.setYRange(0, 20) + + plt.enableAutoRange() + plt.setWindowTitle("pyqtgraph plot") + # plot + c1 = plt.plot(x, y, pen="r", name="Envoltória Momentos min") + c2 = plt.plot(z, w, pen="b", name="Envoltória Momentos máx") + + def limpar_pilares(self): + print("limpar") + self.comboBox_3.setCurrentIndex(0) + self.comboBox_4.setCurrentIndex(0) + self.comboBox_5.setCurrentIndex(0) + + self.lineEdit.setText("0") + self.lineEdit_2.setText("0") + self.lineEdit_3.setText("0") + self.lineEdit_4.setText("0") + self.lineEdit_5.setText("0") + self.lineEdit_6.setText("0") + self.lineEdit_7.setText("0") + self.lineEdit_8.setText("0") + self.lineEdit_9.setText("0") + + self.lineEdit_10.setText("") + self.lineEdit_11.setText("") + self.lineEdit_12.setText("") + self.lineEdit_13.setText("") + self.lineEdit_14.setText("") + self.lineEdit_15.setText("") + self.lineEdit_16.setText("") + self.lineEdit_17.setText("") + self.lineEdit_18.setText("") + self.lineEdit_19.setText("") + self.lineEdit_20.setText("") + self.lineEdit_21.setText("") + self.lineEdit_22.setText("") + self.lineEdit_23.setText("") + self.lineEdit_24.setText("") + self.lineEdit_25.setText("") + self.lineEdit_26.setText("") + self.lineEdit_27.setText("") + self.lineEdit_28.setText("") + self.lineEdit_29.setText("") + self.lineEdit_30.setText("") + + self.lineEdit_31.setText("") + self.lineEdit_32.setText("") + self.lineEdit_33.setText("") + self.lineEdit_34.setText("") + + +class Pilar_area_aco(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.load_ui() + self.load_signals() + + def load_ui(self): + self.ui = loadUi("pilares_areas_aco.ui", self) + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Pilares - Áreas de Aço") + self.setFixedSize(484, 300) + + self.pushButton_4.setIcon(QtGui.QIcon("images/btn_flexaosimples.png")) + self.pushButton_4.setIconSize(QtCore.QSize(50, 60)) + self.pushButton_5.setIcon(QtGui.QIcon("images/btn_flexaocomposta.png")) + self.pushButton_5.setIconSize(QtCore.QSize(50, 60)) + + def load_signals(self): + print("inicializado") + self.pushButton_2.clicked.connect(self.calcular_area_aco) + self.pushButton.clicked.connect(self.recuperar_dados) + self.pushButton_3.clicked.connect(self.limpar) + self.pushButton_4.clicked.connect( + lambda: self.abrirTabelaAuxiliar(abaco_normal) + ) + self.pushButton_5.clicked.connect( + lambda: self.abrirTabelaAuxiliar(abaco_obliqua) + ) + + def recuperar_dados(self): + self.lineEdit_2.setText(str(round(pilares_info_aco[0], ndigits=2))) + self.lineEdit_3.setText(str(round(pilares_info_aco[1], ndigits=2))) + self.lineEdit_5.setText(str(round(pilares_info_aco[2], ndigits=2))) + self.lineEdit_6.setText(str(round(pilares_info_aco[3], ndigits=2))) + self.lineEdit_12.setText(str(round(pilares_info_aco[4], ndigits=2))) + self.lineEdit_13.setText(str(round(pilares_info_aco[5], ndigits=2))) + self.lineEdit_14.setText(str(round(pilares_info_aco[6], ndigits=2))) + + def calcular_area_aco(self): + fck = float(self.lineEdit_12.text()) + fcd = fck / 1.4 + fyd = 500 / 1.15 + area_concreto = float(self.lineEdit_13.text()) + nk = float(self.lineEdit_14.text()) + nd = 1.4 * nk + + mi_x = float(self.lineEdit_2.text()) + delta_x = float(self.lineEdit_3.text()) + + mi_y = float(self.lineEdit_5.text()) + delta_y = float(self.lineEdit_6.text()) + + omega_x = float(self.lineEdit_4.text()) + omega_y = float(self.lineEdit_7.text()) + + as_x = (omega_x * (area_concreto * 1000000) * fcd) / fyd + as_y = (omega_y * (area_concreto * 1000000) * fcd) / fyd + + as_x = round(as_x, ndigits=3) + as_y = round(as_y, ndigits=3) + + as_pilar_min = 0.15 * (nd / fyd) + if as_pilar_min < (0.004 * area_concreto * 100000): + as_pilar_min = round((0.004 * area_concreto * 100000), ndigits=3) + + as_pilar_max = round((0.08 * area_concreto * 1000000), ndigits=3) + + # -------------------------------------- saída de dados ---------------------------------------------------- + self.lineEdit_8.setText(str(as_x)) + self.lineEdit_9.setText(str(as_y)) + self.lineEdit_10.setText(str(as_pilar_max)) + self.lineEdit_11.setText(str(as_pilar_min)) + + def teste(self): + print("teste") + + def limpar(self): + self.lineEdit_2.setText("0") + self.lineEdit_3.setText("0") + self.lineEdit_4.setText("1") + self.lineEdit_5.setText("0") + self.lineEdit_6.setText("0") + self.lineEdit_7.setText("1") + self.lineEdit_8.setText("0") + self.lineEdit_9.setText("0") + self.lineEdit_10.setText("0") + self.lineEdit_11.setText("0") + self.lineEdit_12.setText("0") + self.lineEdit_13.setText("0") + self.lineEdit_14.setText("0") + + def abrirTabelaAuxiliar(self, file): + if sys.platform == "linux2": + subprocess.call(["xdg-open", file]) + else: + os.startfile(file) + + +class Lajes(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.ui = loadUi("lajes_alt.ui", self) + + self.lado1 = "livre" + self.lado2 = "livre" + self.lado3 = "livre" + self.lado4 = "livre" + self.label_37.hide() + self.label_38.hide() + self.label_40.hide() + self.label_41.hide() + global caso + caso = "1" + global lx_lage + lx_lage = "l_menor" + self.lineEdit.setReadOnly(True) + + self.load_signals() + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Lajes") + self.setFixedSize(1245, 587) + + def load_signals(self): + print("lajes iniciado") + self.pushButton.clicked.connect(self.estado_l1) + self.pushButton_2.clicked.connect(self.estado_l2) + self.pushButton_3.clicked.connect(self.estado_l3) + self.pushButton_4.clicked.connect(self.estado_l4) + self.pushButton.clicked.connect(self.situacao_laje) + self.pushButton_2.clicked.connect(self.situacao_laje) + self.pushButton_3.clicked.connect(self.situacao_laje) + self.pushButton_4.clicked.connect(self.situacao_laje) + + self.pushButton_5.clicked.connect( + lambda: self.abrirTabelaAuxiliar(tabela_marcus) + ) + self.pushButton_6.clicked.connect(self.calcular_laje) + self.pushButton_7.clicked.connect(self.limpar_lajes) + + self.toolButton.clicked.connect(self.revelar_carg_acidental) + + def abrirTabelaAuxiliar(self, file): + if sys.platform == "linux2": + subprocess.call(["xdg-open", file]) + else: + os.startfile(file) + + def teste(self): + lado1 = float(self.lineEdit_3.text()) + lado2 = float(self.lineEdit_4.text()) + espes = float(self.lineEdit_5.text()) + + pp = (espes * 25) / 100 + self.lineEdit.setText(str(pp)) + + def revelar_carg_acidental(self): + print("oi--") + carga_adicional.show() + + def estado_l1(self): + if self.lado1 == "livre": + self.lado1 = "engastado" + pixmap = QPixmap("images/engv.png") + self.pushButton.setIcon(QIcon(pixmap)) + else: + self.lado1 = "livre" + pixmap = QPixmap("images/livv.png") + self.pushButton.setIcon(QIcon(pixmap)) + + def estado_l2(self): + if self.lado2 == "livre": + self.lado2 = "engastado" + pixmap = QPixmap("images/engh.png") + self.pushButton_2.setIcon(QIcon(pixmap)) + else: + self.lado2 = "livre" + pixmap = QPixmap("images/livh.png") + self.pushButton_2.setIcon(QIcon(pixmap)) + + def estado_l3(self): + if self.lado3 == "livre": + self.lado3 = "engastado" + pixmap = QPixmap("images/engh.png") + self.pushButton_3.setIcon(QIcon(pixmap)) + else: + self.lado3 = "livre" + pixmap = QPixmap("images/livh.png") + self.pushButton_3.setIcon(QIcon(pixmap)) + + def estado_l4(self): + if self.lado4 == "livre": + self.lado4 = "engastado" + pixmap = QPixmap("images/engv.png") + self.pushButton_4.setIcon(QIcon(pixmap)) + else: + self.lado4 = "livre" + pixmap = QPixmap("images/livv.png") + self.pushButton_4.setIcon(QIcon(pixmap)) + + def situacao_laje(self): + l1 = self.lado1 + l2 = self.lado2 + l3 = self.lado3 + l4 = self.lado4 + + cota_v1 = self.label_37 + cota_v2 = self.label_40 + cota_h1 = self.label_38 + cota_h2 = self.label_41 + + if l1 == "livre" and l2 == "livre" and l3 == "livre" and l4 == "livre": + global caso + caso = "1" + + cota_v1.show() + cota_v2.show() + cota_h1.hide() + cota_h2.hide() + + global lx_lage + lx_lage = "l_menor" + elif ( + l1 == "engastado" and l2 == "livre" and l3 == "livre" and l4 == "livre" + ) or (l1 == "livre" and l2 == "livre" and l3 == "livre" and l4 == "engastado"): + caso = "2" + + cota_v1.hide() + cota_v2.hide() + cota_h1.show() + cota_h2.show() + + lx_lage = "l_maior" + elif ( + l1 == "livre" and l2 == "engastado" and l3 == "livre" and l4 == "livre" + ) or (l1 == "livre" and l2 == "livre" and l3 == "engastado" and l4 == "livre"): + caso = "2" + + cota_v1.show() + cota_v2.show() + cota_h1.hide() + cota_h2.hide() + + lx_lage = "l_menor" + elif ( + ( + l1 == "engastado" + and l2 == "engastado" + and l3 == "livre" + and l4 == "livre" + ) + or ( + l1 == "engastado" + and l2 == "livre" + and l3 == "engastado" + and l4 == "livre" + ) + or ( + l1 == "livre" + and l2 == "engastado" + and l3 == "livre" + and l4 == "engastado" + ) + or ( + l1 == "livre" + and l2 == "livre" + and l3 == "engastado" + and l4 == "engastado" + ) + ): + caso = "3" + + cota_v1.show() + cota_v2.show() + cota_h1.hide() + cota_h2.hide() + + lx_lage = "l_menor" + elif ( + l1 == "engastado" and l2 == "livre" and l3 == "livre" and l4 == "engastado" + ): + caso = "4" + + cota_v1.hide() + cota_v2.hide() + cota_h1.show() + cota_h2.show() + + lx_lage = "l_maior" + elif ( + l1 == "livre" and l2 == "engastado" and l3 == "engastado" and l4 == "livre" + ): + caso = "4" + + cota_v1.show() + cota_v2.show() + cota_h1.hide() + cota_h2.hide() + + lx_lage = "l_menor" + elif ( + l1 == "engastado" + and l2 == "livre" + and l3 == "engastado" + and l4 == "engastado" + ) or ( + l1 == "engastado" + and l2 == "engastado" + and l3 == "livre" + and l4 == "engastado" + ): + caso = "5" + + cota_v1.hide() + cota_v2.hide() + cota_h1.show() + cota_h2.show() + + lx_lage = "l_maior" + elif ( + l1 == "livre" + and l2 == "engastado" + and l3 == "engastado" + and l4 == "engastado" + ) or ( + l1 == "engastado" + and l2 == "engastado" + and l3 == "engastado" + and l4 == "livre" + ): + caso = "5" + + cota_v1.show() + cota_v2.show() + cota_h1.hide() + cota_h2.hide() + + lx_lage = "l_menor" + elif ( + l1 == "engastado" + and l2 == "engastado" + and l3 == "engastado" + and l4 == "engastado" + ): + caso = "6" + + cota_v1.show() + cota_v2.show() + cota_h1.hide() + cota_h2.hide() + + lx_lage = "l_menor" + else: + caso = "ainda não existe, não sei como você chegou até aqui srsrrsrsrsrsrs" + + print(caso) + self.lineEdit_6.setText(str(caso)) + + def calcular_laje(self): + lado_maior = float(self.lineEdit_3.text()) + lado_menor = float(self.lineEdit_4.text()) + espes = float(self.lineEdit_5.text()) + d = float(self.lineEdit_27.text()) + + self.lineEdit_7.setText("") + self.lineEdit_9.setText("") + self.lineEdit_8.setText("") + self.lineEdit_10.setText("") + self.lineEdit_16.setText("") + self.lineEdit_14.setText("") + self.lineEdit_15.setText("") + self.lineEdit_16.setText("") + + if lado_maior != 0 and lado_menor != 0 and espes != 0 and d != 0: + lado1 = float(self.lineEdit_3.text()) + lado2 = float(self.lineEdit_4.text()) + espes = float(self.lineEdit_5.text()) + d = float(self.lineEdit_27.text()) + carreg_adicional = float(self.lineEdit_2.text()) + # fck_laje = float(self.comboBox.currentText()) + # fcd_laje = fck_laje/1.4 + # fyk_laje = float(self.comboBox_2.currentText()) + # fyd_laje = fyk_laje/1.15 + + pp = (espes * 25) / 100 + self.lineEdit.setText(str(pp)) + + carreg_total = pp + carreg_adicional + # print(caso) + # print(lx_lage) + # ---------------------------------- cálculo do Lx baseado no caso do tipo de situação da laje ----------------- + global lx + global lambda_laje + if lx_lage == "l_menor": + lx = lado2 + lambda_laje = round((lado1 / lado2), ndigits=2) + elif lx_lage == "l_maior": + lx = lado1 + lambda_laje = round((lado2 / lado1), ndigits=2) + print(lx_lage) + + # ---------------------------------- definição se a laje é unidirecional ou bidirecional baseado no lambda ----------------- + global tipo_laje + if float(lambda_laje) > 2.001: + tipo_laje = "UNIDIRECIONAL" + self.laje_unidirecional(carreg_total) + else: + tipo_laje = "BIDIRECIONAL" + # self.label_43.setStyleSheet("Background: url('laje_unidirecional_modelo.png') no-repeat") + + mx = my = nx = ny = "" + + if caso == "1": + caso1 = marcus.caso1 + linhas = len(caso1) + colunas = len(caso1[0]) + + for i in range(linhas): + aux = caso1[i][0] + if lambda_laje == aux: + print(caso1[i]) + mx = caso1[i][2] + my = caso1[i][3] + + print("mx: ", mx) + print("my: ", my) + + if caso == "2": + caso2 = marcus.caso2 + linhas = len(caso2) + colunas = len(caso2[0]) + + for i in range(linhas): + aux = caso2[i][0] + if lambda_laje == aux: + print(caso2[i]) + mx = caso2[i][2] + nx = caso2[i][3] + my = caso2[i][4] + + print("mx: ", mx) + print("nx: ", nx) + print("my: ", my) + + if caso == "3": + caso3 = marcus.caso3 + linhas = len(caso3) + colunas = len(caso3[0]) + + for i in range(linhas): + aux = caso3[i][0] + if lambda_laje == aux: + print(caso3[i]) + mx = caso3[i][2] + nx = caso3[i][3] + my = caso3[i][4] + ny = caso3[i][5] + + print("mx: ", mx) + print("nx: ", nx) + print("my: ", my) + print("ny: ", ny) + + if caso == "4": + caso4 = marcus.caso4 + linhas = len(caso4) + colunas = len(caso4[0]) + + for i in range(linhas): + aux = caso4[i][0] + if lambda_laje == aux: + print(caso4[i]) + mx = caso4[i][2] + nx = caso4[i][3] + my = caso4[i][4] + + print("mx: ", mx) + print("nx: ", nx) + print("my: ", my) + + if caso == "5": + caso5 = marcus.caso5 + linhas = len(caso5) + colunas = len(caso5[0]) + + for i in range(linhas): + aux = caso5[i][0] + if lambda_laje == aux: + print(caso5[i]) + mx = caso5[i][2] + nx = caso5[i][3] + my = caso5[i][4] + ny = caso5[i][5] + + print("mx: ", mx) + print("nx: ", nx) + print("my: ", my) + print("ny: ", ny) + + if caso == "6": + caso6 = marcus.caso6 + linhas = len(caso6) + colunas = len(caso6[0]) + + for i in range(linhas): + aux = caso6[i][0] + if lambda_laje == aux: + print(caso6[i]) + mx = caso6[i][2] + nx = caso6[i][3] + my = caso6[i][4] + ny = caso6[i][5] + + print("mx: ", mx) + print("nx: ", nx) + print("my: ", my) + print("ny: ", ny) + + print(lx) + if mx != "": + self.lineEdit_7.setText(str(mx)) + momento_pos_x = (carreg_total * (lx**2)) / mx + momento_pos_x = round(momento_pos_x, ndigits=4) + + self.lineEdit_13.setText(str(momento_pos_x)) + # else: + # self.lineEdit_13.setText('0') + if nx != "": + self.lineEdit_9.setText(str(nx)) + momento_neg_x = round(((carreg_total * (lx**2)) / nx), ndigits=4) + self.lineEdit_14.setText(str(momento_neg_x)) + # momento_neg_x = round(momento_neg_x,ndigits=2) + # else: + # self.lineEdit_14.setText('0') + if my != "": + self.lineEdit_8.setText(str(my)) + momento_pos_y = (carreg_total * (lx**2)) / my + momento_pos_y = round(momento_pos_y, ndigits=4) + self.lineEdit_15.setText(str(momento_pos_y)) + # else: + # self.lineEdit_15.setText('0') + if ny != "": + self.lineEdit_10.setText(str(ny)) + momento_neg_y = round(((carreg_total * (lx**2)) / ny), ndigits=4) + self.lineEdit_16.setText(str(momento_neg_y)) + # momento_neg_y = round(momento_neg_y,ndigits=2) + + # ----------------------------------- enviar resultados de saida ao programa --------------------------------------- + self.lineEdit_11.setText(str(lambda_laje)) + self.label_16.setText(str(tipo_laje)) + self.lineEdit_12.setText(str(carreg_total)) + + self.resultados_laje() + else: + QMessageBox.about( + self, "Falta de Dados", "Por favor insira dados consistentes" + ) + + def laje_unidirecional(self, carreg_total): + + self.lado1 = "livre" + pixmap = QPixmap("images/livv.png") + self.pushButton.setIcon(QIcon(pixmap)) + + self.lado4 = "livre" + pixmap = QPixmap("images/livv.png") + self.pushButton_4.setIcon(QIcon(pixmap)) + + print("unidirecional") + # l1 = self.lado1 + l2 = self.lado2 + l3 = self.lado3 + # l4 = self.lado4 + l1 = l4 = "livre" + print(carreg_total) + if l2 == "livre" and l3 == "livre": + self.label_43.setStyleSheet( + "Background: url('images/laje_unidirecional_ll2.png') no-repeat" + ) + momento_pos_y = (carreg_total * (lx**2)) / 8 + momento_neg_y = 0 + elif l2 == "engastado" and l3 == "engastado": + self.label_43.setStyleSheet( + "Background: url('images/laje_unidirecional_ee2.png') no-repeat" + ) + momento_pos_y = (carreg_total * (lx**2)) / 24 + momento_neg_y = (carreg_total * (lx**2)) / 12 + elif (l2 == "engastado" and l3 == "livre") or ( + l2 == "livre" and l3 == "engastado" + ): + self.label_43.setStyleSheet( + "Background: url('images/laje_unidirecional_le2.png') no-repeat" + ) + momento_pos_y = (carreg_total * (lx**2)) / 14.2 + momento_neg_y = (carreg_total * (lx**2)) / 8 + + print("momento_pos_y: ", momento_pos_y) + print("momento_neg_y: ", momento_neg_y) + + # ----------------------------------- enviar resultados de saida ao programa --------------------------------------- + momento_pos_y = round(momento_pos_y, ndigits=4) + self.lineEdit_15.setText(str(momento_pos_y)) + momento_neg_y = round(momento_neg_y, ndigits=4) + self.lineEdit_16.setText(str(momento_neg_y)) + + self.lineEdit_13.setText("0") + self.lineEdit_14.setText("0") + + self.lineEdit_11.setText(str(lambda_laje)) + self.label_16.setText(str(tipo_laje)) + self.lineEdit_12.setText(str(carreg_total)) + + self.resultados_laje() + + def truncar(self, x): + aux = "{:.9f}".format(x) + return aux + + def resultados_laje(self): + fck_laje = float(self.comboBox.currentText()) + fcd_laje = fck_laje / 1.4 + fyk_laje = float(self.comboBox_2.currentText()) + fyd_laje = fyk_laje / 1.15 + espes = float(self.lineEdit_5.text()) + + area_concreto_laje = round(((espes / 100) * 1000000), ndigits=4) + + ro_armad_minima = 0 + if fck_laje == 20: + ro_armad_minima = 0.15 / 100 + elif fck_laje == 25: + ro_armad_minima = 0.15 / 100 + elif fck_laje == 30: + ro_armad_minima = 0.15 / 100 + elif fck_laje == 35: + ro_armad_minima = 0.164 / 100 + elif fck_laje == 40: + ro_armad_minima = 0.179 / 100 + + armad_max_laje = (0.4 / 100) * area_concreto_laje + armad_neg_min = ro_armad_minima * area_concreto_laje + armad_pos_cruz = round(0.67 * (ro_armad_minima * area_concreto_laje), ndigits=2) + armad_princ_unid = ro_armad_minima * area_concreto_laje + armad_secnd_unid = max( + (0.2 * armad_princ_unid), + (90), + (0.5 * (ro_armad_minima * area_concreto_laje)), + ) + + mx = self.lineEdit_13.text() + if mx == "": + self.lineEdit_13.setText("0") + + my = self.lineEdit_15.text() + if my == "": + self.lineEdit_15.setText("0") + + nx = self.lineEdit_14.text() + if nx == "": + self.lineEdit_14.setText("0") + + ny = self.lineEdit_16.text() + if ny == "": + self.lineEdit_16.setText("0") + + fck_laje = float(self.comboBox.currentText()) + fyk_laje = float(self.comboBox_2.currentText()) + fcd_laje = fck_laje * 1000000 / 1.4 + fyd_laje = fyk_laje * 1000000 / 1.15 + d_laje = float(self.lineEdit_27.text()) + espes = float(self.lineEdit_5.text()) + + # ------------------------------------------enxerto----------------------- + + mx = float(self.lineEdit_13.text()) + my = float(self.lineEdit_15.text()) + nx = float(self.lineEdit_14.text()) + ny = float(self.lineEdit_16.text()) + # print('mx: ',mx) + # print('nx: ',nx) + # print('my: ',my) + # print('ny: ',ny) + mk_x = mx + mk_y = my + + nk_x = nx + nk_y = ny + + md_x = round(1.4 * mk_x, ndigits=4) + kmd_x_laje = (md_x * 1000) / (1 * ((d_laje / 100) ** 2) * 0.85 * (fcd_laje)) + kx_x_laje = (1 - math.sqrt(1 - 2 * kmd_x_laje)) / 0.8 + kz_x_laje = 1 - 0.4 * kx_x_laje + + as_x_laje = (md_x * 1000 / (kz_x_laje * (d_laje / 100) * fyd_laje)) * 1000000 + + print("md_x: ", md_x) + print("kmd_x_laje: ", kmd_x_laje) + print("kx_x_laje: ", kx_x_laje) + print("kz_x_laje: ", kz_x_laje) + print("as_x_laje: ", as_x_laje) + + md_y = round(1.4 * mk_y, ndigits=4) + kmd_y_laje = (md_y * 1000) / (1 * ((d_laje / 100) ** 2) * 0.85 * (fcd_laje)) + kx_y_laje = (1 - math.sqrt(1 - 2 * kmd_y_laje)) / 0.8 + kz_y_laje = 1 - 0.4 * kx_y_laje + + as_y_laje = (md_y * 1000 / (kz_y_laje * (d_laje / 100) * fyd_laje)) * 1000000 + + print("md_y: ", md_y) + print("kmd_y_laje: ", kmd_y_laje) + print("kx_y_laje: ", kx_y_laje) + print("kz_y_laje: ", kz_y_laje) + print("as_y_laje: ", as_y_laje) + + nd_x = round(1.4 * nk_x, ndigits=4) + kmd_x_laje_n = (nd_x * 1000) / (1 * ((d_laje / 100) ** 2) * 0.85 * (fcd_laje)) + kx_x_laje_n = (1 - math.sqrt(1 - 2 * kmd_x_laje_n)) / 0.8 + kz_x_laje_n = 1 - 0.4 * kx_x_laje_n + + as_x_laje_n = ( + nd_x * 1000 / (kz_x_laje_n * (d_laje / 100) * fyd_laje) + ) * 1000000 + + nd_y = round(1.4 * nk_y, ndigits=4) + kmd_y_laje_n = (nd_y * 1000) / (1 * ((d_laje / 100) ** 2) * 0.85 * (fcd_laje)) + kx_y_laje_n = (1 - math.sqrt(1 - 2 * kmd_y_laje_n)) / 0.8 + kz_y_laje_n = 1 - 0.4 * kx_y_laje_n + + as_y_laje_n = ( + nd_x * 1000 / (kz_y_laje_n * (d_laje / 100) * fyd_laje) + ) * 1000000 + + # ------------------------------------------ saida de dados ------------------------------------ + kmd_x_laje = self.truncar(kmd_x_laje) + kx_x_laje = self.truncar(kx_x_laje) + kz_x_laje = self.truncar(kz_x_laje) + as_x_laje = self.truncar(as_x_laje) + + kmd_y_laje = self.truncar(kmd_y_laje) + kx_y_laje = self.truncar(kx_y_laje) + kz_y_laje = self.truncar(kz_y_laje) + as_y_laje = self.truncar(as_y_laje) + + self.lineEdit_17.setText(str(md_x)) + self.lineEdit_18.setText(str(kmd_x_laje)) + self.lineEdit_19.setText(str(kx_x_laje)) + self.lineEdit_20.setText(str(kz_x_laje)) + self.lineEdit_21.setText(str(as_x_laje)) + + self.lineEdit_22.setText(str(md_y)) + self.lineEdit_24.setText(str(kmd_y_laje)) + self.lineEdit_25.setText(str(kx_y_laje)) + self.lineEdit_26.setText(str(kz_y_laje)) + self.lineEdit_23.setText(str(as_y_laje)) + + self.lineEdit_38.setText(str(area_concreto_laje)) + self.lineEdit_39.setText(str(ro_armad_minima * 100)) + self.lineEdit_42.setText(str(armad_max_laje)) + self.lineEdit_40.setText(str(armad_neg_min)) + self.lineEdit_41.setText(str(armad_pos_cruz)) + self.lineEdit_43.setText(str(armad_princ_unid)) + self.lineEdit_44.setText(str(armad_secnd_unid)) + + if tipo_laje == "UNIDIRECIONAL": + self.label_44.setText("Distribuição") + if float(as_y_laje) < armad_princ_unid: + self.label_45.setText("Mínima") + else: + self.label_45.setText("") + + if tipo_laje == "BIDIRECIONAL": + if float(as_x_laje) < armad_pos_cruz: + self.label_44.setText("Mínima") + else: + self.label_44.setText("") + + if float(as_y_laje) < armad_pos_cruz: + self.label_45.setText("Mínima") + else: + self.label_45.setText("") + + def limpar_lajes(self): + self.comboBox.setCurrentIndex(0) + self.comboBox_2.setCurrentIndex(0) + + self.lineEdit.setText("0") + self.lineEdit_2.setText("0") + self.lineEdit_3.setText("0") + self.lineEdit_4.setText("0") + self.lineEdit_5.setText("0") + self.lineEdit_27.setText("0") + + self.lineEdit_7.setText("") + self.lineEdit_8.setText("") + self.lineEdit_9.setText("") + self.lineEdit_10.setText("") + + self.lineEdit_11.setText("") + self.lineEdit_12.setText("") + self.lineEdit_38.setText("") + self.lineEdit_39.setText("") + self.lineEdit_42.setText("") + self.lineEdit_40.setText("") + self.lineEdit_41.setText("") + self.lineEdit_43.setText("") + self.lineEdit_44.setText("") + + self.lineEdit_13.setText("") + self.lineEdit_14.setText("") + self.lineEdit_15.setText("") + self.lineEdit_16.setText("") + + self.lineEdit_16.setText("") + self.lineEdit_17.setText("") + self.lineEdit_18.setText("") + self.lineEdit_19.setText("") + self.lineEdit_20.setText("") + self.lineEdit_21.setText("") + self.lineEdit_22.setText("") + self.lineEdit_23.setText("") + self.lineEdit_24.setText("") + self.lineEdit_25.setText("") + self.lineEdit_26.setText("") + + +class Carga_Adicional(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + + self.ui = loadUi("lajes_carg_adicional_atualizada.ui", self) + + header = self.tableWidget.horizontalHeader() + # FIXME Verificar a propriedade atualizada caso necessário + # header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) + # header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) + self.tableWidget.resizeRowsToContents() + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Cargas Adicionais") + self.setFixedSize(649, 504) + + +class Sapatas(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.ui = loadUi("sapatas_alt.ui", self) + self.load_signals() + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Sapatas") + self.setFixedSize(946, 574) + + def load_signals(self): + print("sapatas carregado") + self.pushButton_6.clicked.connect(self.calcular_sapata) + self.pushButton_7.clicked.connect(self.limpar_sapatas) + self.pushButton.clicked.connect(self.gerar_dim_sapata) + + def arredondar_cinco(self, numero): + numero = round(numero, ndigits=2) + numero = 100 * numero + resto = numero % 5 + while resto != 0: + numero += 1 + resto = numero % 5 + print("numero:", numero, " - resto: ", resto) + + numero = numero / 100 + return numero + + def calcular_sapata(self): + + nk = float(self.lineEdit_3.text()) + momento_x_sapata = float(self.lineEdit_4.text()) + momento_y_sapata = float(self.lineEdit_5.text()) + x_pilar = float(self.lineEdit.text()) + y_pilar = float(self.lineEdit_2.text()) + tensao_adm_solo = float(self.lineEdit_35.text()) + fator_solo = float(self.lineEdit_13.text()) + + base_y_sapata = float(self.lineEdit_10.text()) + base_x_sapata = float(self.lineEdit_9.text()) + h_total = float(self.lineEdit_11.text()) + h_0 = float(self.lineEdit_12.text()) + + y_sapata = float(self.lineEdit_9.text()) + x_sapata = float(self.lineEdit_10.text()) + h_total = float(self.lineEdit_11.text()) + h_0 = float(self.lineEdit_12.text()) + + if ( + nk != 0 + and x_pilar != 0 + and y_pilar != 0 + and tensao_adm_solo != 0 + and fator_solo != 0 + and base_y_sapata != 0 + and base_x_sapata != 0 + and h_total != 0 + and h_0 != 0 + ): + if x_sapata < 0.6 or y_sapata < 0.6: + QMessageBox.about( + self, + "Erro de Entrada", + "As sapatas não podem apresentar lados menores de 60 cm, conforme a NBR 6122", + ) + else: + fck_sapata = float(self.comboBox.currentText()) + fcd_sapata = fck_sapata / 1.4 + fyk_sapata = float(self.comboBox_2.currentText()) + fyd_sapata = fyk_sapata / 1.15 + nk = float(self.lineEdit_3.text()) + momento_x_sapata = float(self.lineEdit_4.text()) + momento_y_sapata = float(self.lineEdit_5.text()) + tensao_adm_solo = float(self.lineEdit_35.text()) + fator_solo = float(self.lineEdit_13.text()) + angulo_dissp_sapata = float(self.spinBox.value()) + + angulo_dissp_sapata = (angulo_dissp_sapata / 180) * 3.14 + + x_pilar = float(self.lineEdit.text()) / 100 + y_pilar = float(self.lineEdit_2.text()) / 100 + + y_sapata = float(self.lineEdit_9.text()) + x_sapata = float(self.lineEdit_10.text()) + h_total = float(self.lineEdit_11.text()) + h_0 = float(self.lineEdit_12.text()) + + if (momento_x_sapata != 0 and momento_y_sapata == 0) or ( + momento_x_sapata == 0 and momento_y_sapata != 0 + ): + fator_acrescimo_dimensoes = 1.05 + elif momento_x_sapata != 0 and momento_y_sapata != 0: + fator_acrescimo_dimensoes = 1.103 + else: + fator_acrescimo_dimensoes = 1.0 + + x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) + y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) + + wx = x_sapata * (y_sapata**2) / 6 + wy = y_sapata * (x_sapata**2) / 6 + + mw_x = (momento_x_sapata / wx) * 1000 + mw_y = (momento_y_sapata / wy) * 1000 + + tensao_sapata = (fator_solo * nk * 1000) / (x_sapata * y_sapata) + tensao_max_sapata = tensao_sapata + mw_x + mw_y + tensao_min_sapata = tensao_sapata - mw_x - mw_y + + nk_equiv = (x_sapata * y_sapata * tensao_max_sapata) / fator_solo + area_sapata = round( + fator_solo * ((nk * 1000) / (tensao_adm_solo * 1000000)), ndigits=6 + ) + + ca_sapata = (x_sapata - x_pilar) / 2 + cb_sapata = (y_sapata - y_pilar) / 2 + h_rig_x = 2 / 3 * ca_sapata + h_rig_y = 2 / 3 * cb_sapata + + h_mincis = (1.4 * nk_equiv) / ( + 2 + * (x_pilar + y_pilar) + * 0.27 + * (1 - (fck_sapata / 250)) + * (fcd_sapata * 1000000) + ) + if h_mincis < 0.40: + h_mincis = 0.40 + if h_total < h_mincis: + h_total = h_mincis + + braco_alavanca_sapata = h_total - 0.05 + + h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) + h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) + + # h0 = round(h0a, ndigits=2) + # if h0a < h0b: + # h0 = round(h0b, ndigits=2) + + volume_concreto_sapata = (h_total - h_0) / ( + 3 + * ( + x_sapata * y_sapata + + x_pilar * y_pilar + + math.sqrt(x_sapata * y_sapata * x_pilar * y_pilar) + ) + + x_sapata * y_sapata * h_0 + ) + + tracao_x_sapata = ( + 1.1 * nk_equiv * (x_sapata - x_pilar) / (8 * braco_alavanca_sapata) + ) + tracao_y_sapata = ( + 1.1 * nk_equiv * (y_sapata - y_pilar) / (8 * braco_alavanca_sapata) + ) + as_x_sapata = (1.4 * tracao_x_sapata) / (fyd_sapata) + as_y_sapata = (1.4 * tracao_y_sapata) / fyd_sapata + + taxa_aco_sapata = (0.078 * (fck_sapata) ** (2 / 3)) / fyd_sapata + + if taxa_aco_sapata <= 0.0015: + taxa_aco_sapata = 0.0015 + + as_x_min_laje = 0.67 * taxa_aco_sapata * h_mincis * x_sapata + as_y_min_laje = 0.67 * taxa_aco_sapata * h_mincis * y_sapata + + print("x_sapata: ", x_sapata) + print("y_sapata: ", y_sapata) + + print("wx: ", wx) + print("wy: ", wy) + print("mw_x: ", mw_x) + print("mw_y: ", mw_y) + print("tensao_max_sapata: ", tensao_max_sapata) + print("tensao_min_sapata: ", tensao_min_sapata) + print("nk_equiv: ", nk_equiv) + print("ca_sapata: ", ca_sapata) + print("cb_sapata: ", cb_sapata) + print("h0a: ", h0a) + print("h0b: ", h0b) + print("h_mincis: ", h_mincis) + # print('h0: ',h0) + print("h_total", h_total) + print("-------------------------------------\n") + + # -------------------------------------- saida dos dados -------------------------------------------------- + self.lineEdit_11.setText(str(h_total)) + # self.lineEdit_12.setText(str(h0)) + + self.lineEdit_15.setText(str(area_sapata)) + self.lineEdit_16.setText(str(round(wx, ndigits=6))) + self.lineEdit_17.setText(str(round(wy, ndigits=6))) + self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) + self.lineEdit_19.setText( + str(round(tensao_max_sapata / 1000000, ndigits=4)) + ) + self.lineEdit_20.setText( + str(round(tensao_min_sapata / 1000000, ndigits=4)) + ) + self.lineEdit_21.setText(str(round(ca_sapata * 100, ndigits=4))) + self.lineEdit_22.setText(str(round(cb_sapata * 100, ndigits=4))) + + self.lineEdit_23.setText(str(round(h_rig_x * 100, ndigits=4))) + self.lineEdit_24.setText(str(round(h_rig_y * 100, ndigits=4))) + self.lineEdit_25.setText(str(round(h_mincis * 100, ndigits=4))) + self.lineEdit_26.setText(str(round(h0a * 100, ndigits=4))) + self.lineEdit_28.setText(str(round(h0b * 100, ndigits=4))) + self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) + + self.lineEdit_14.setText(str(round(tracao_x_sapata / 1000, ndigits=4))) + self.lineEdit_29.setText(str(round(tracao_y_sapata / 1000, ndigits=4))) + self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) + self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) + + self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) + self.lineEdit_33.setText(str(round(as_x_min_laje * 1000000, ndigits=4))) + self.lineEdit_34.setText(str(round(as_y_min_laje * 1000000, ndigits=4))) + + else: + QMessageBox.about( + self, "Falta de Dados", "Por favor insira dados consistentes" + ) + + def gerar_dim_sapata(self): + + nk = float(self.lineEdit_3.text()) + momento_x_sapata = float(self.lineEdit_4.text()) + momento_y_sapata = float(self.lineEdit_5.text()) + x_pilar = float(self.lineEdit.text()) + y_pilar = float(self.lineEdit_2.text()) + tensao_adm_solo = float(self.lineEdit_35.text()) + fator_solo = float(self.lineEdit_13.text()) + + if ( + nk != 0 + and x_pilar != 0 + and y_pilar != 0 + and tensao_adm_solo != 0 + and fator_solo != 0 + ): + + fck_sapata = float(self.comboBox.currentText()) + fcd_sapata = fck_sapata / 1.4 + fyk_sapata = float(self.comboBox_2.currentText()) + fyd_sapata = fyk_sapata / 1.15 + nk = float(self.lineEdit_3.text()) + momento_x_sapata = float(self.lineEdit_4.text()) + momento_y_sapata = float(self.lineEdit_5.text()) + tensao_adm_solo = float(self.lineEdit_35.text()) + fator_solo = float(self.lineEdit_13.text()) + angulo_dissp_sapata = float(self.spinBox.value()) + + angulo_dissp_sapata = (angulo_dissp_sapata / 180) * 3.14 + + x_pilar = float(self.lineEdit.text()) / 100 + y_pilar = float(self.lineEdit_2.text()) / 100 + + area_sapata = round( + fator_solo * ((nk * 1000) / (tensao_adm_solo * 1000000)), ndigits=6 + ) + + y_sapata = 0.5 * (y_pilar - x_pilar) + math.sqrt( + 0.25 * ((y_pilar - x_pilar) ** 2) + area_sapata + ) + + x_sapata = area_sapata / y_sapata + + if (momento_x_sapata != 0 and momento_y_sapata == 0) or ( + momento_x_sapata == 0 and momento_y_sapata != 0 + ): + fator_acrescimo_dimensoes = 1.05 + elif momento_x_sapata != 0 and momento_y_sapata != 0: + fator_acrescimo_dimensoes = 1.103 + else: + fator_acrescimo_dimensoes = 1.0 + + x_sapata = round(x_sapata * fator_acrescimo_dimensoes, ndigits=4) + y_sapata = round(y_sapata * fator_acrescimo_dimensoes, ndigits=4) + + if x_sapata < 0.6: + x_sapata = 0.6 + if y_sapata < 0.6: + y_sapata = 0.6 + print(x_sapata, "<--------------------------------------------------") + wx = x_sapata * (y_sapata**2) / 6 + wy = y_sapata * (x_sapata**2) / 6 + + mw_x = (momento_x_sapata / wx) * 1000 + mw_y = (momento_y_sapata / wy) * 1000 + + tensao_sapata = (fator_solo * nk * 1000) / (x_sapata * y_sapata) + tensao_max_sapata = tensao_sapata + mw_x + mw_y + tensao_min_sapata = tensao_sapata - mw_x - mw_y + + x_sapata = self.arredondar_cinco(x_sapata) + y_sapata = self.arredondar_cinco(y_sapata) + if x_sapata < 0.6: + x_sapata = 0.6 + if y_sapata < 0.6: + y_sapata = 0.6 + + nk_equiv = (x_sapata * y_sapata * tensao_max_sapata) / fator_solo + + ca_sapata = (x_sapata - x_pilar) / 2 + cb_sapata = (y_sapata - y_pilar) / 2 + h_rig_x = 2 / 3 * ca_sapata + h_rig_y = 2 / 3 * cb_sapata + + h_total = h_rig_x + if h_total < h_rig_y: + h_total = h_rig_y + + h_mincis = (1.4 * nk_equiv) / ( + 2 + * (x_pilar + y_pilar) + * 0.27 + * (1 - (fck_sapata / 250)) + * (fcd_sapata * 1000000) + ) + if h_mincis < 0.40: + h_mincis = 0.40 + h_mincis = round(h_mincis, ndigits=4) + + if h_total < h_mincis: + h_total = h_mincis + + h_total = self.arredondar_cinco(h_total) + + h0a = h_total - ca_sapata * math.tan(angulo_dissp_sapata) + h0b = h_total - cb_sapata * math.tan(angulo_dissp_sapata) + h0_prerrogativo = h_total / 3 + tangente_angulo = math.tan(angulo_dissp_sapata) + h0 = round(h0a, ndigits=2) + if h0a < h0b: + h0 = round(h0b, ndigits=2) + elif h0b < h0_prerrogativo: + h0 = h0_prerrogativo + if h0 < 0.25: + h0 = 0.25 + h0 = self.arredondar_cinco(h0) + + volume_concreto_sapata = ( + (h_total - h0) + / 3 + * ( + x_sapata * y_sapata + + x_pilar * y_pilar + + math.sqrt(x_sapata * y_sapata * x_pilar * y_pilar) + ) + ) + (x_sapata * y_sapata * h0) + + braco_alavanca_sapata = h_total - 0.05 + + tracao_x_sapata = ( + 1.1 * nk_equiv * (x_sapata - x_pilar) / (8 * braco_alavanca_sapata) + ) + tracao_y_sapata = ( + 1.1 * nk_equiv * (y_sapata - y_pilar) / (8 * braco_alavanca_sapata) + ) + as_x_sapata = (1.4 * tracao_x_sapata) / (fyd_sapata) + as_y_sapata = (1.4 * tracao_y_sapata) / fyd_sapata + + taxa_aco_sapata = (0.078 * (fck_sapata) ** (2 / 3)) / fyd_sapata + + if taxa_aco_sapata <= 0.0015: + taxa_aco_sapata = 0.0015 + + as_x_min_laje = 0.67 * taxa_aco_sapata * h_total * x_sapata + as_y_min_laje = 0.67 * taxa_aco_sapata * h_total * y_sapata + + print("x_sapata: ", x_sapata) + print("y_sapata: ", y_sapata) + + print("wx: ", wx) + print("wy: ", wy) + print("mw_x: ", mw_x) + print("mw_y: ", mw_y) + print("tensao_max_sapata: ", tensao_max_sapata) + print("tensao_min_sapata: ", tensao_min_sapata) + print("nk_equiv: ", nk_equiv) + print("ca_sapata: ", ca_sapata) + print("cb_sapata: ", cb_sapata) + print("h0a: ", h0a) + print("h0b: ", h0b) + print("h_mincis: ", h_mincis) + print("h0: ", h0) + print("tangente_angulo: ", tangente_angulo) + print("----------") + print("h_total: ", h_total) + print("tracao_x_sapata: ", tracao_x_sapata) + print("tracao_y_sapata: ", tracao_y_sapata) + print("as_x_sapata: ", as_x_sapata) + print("as_y_sapata: ", as_y_sapata) + print("taxa_aco_sapata: ", taxa_aco_sapata) + print("as_x_min_laje: ", as_x_min_laje) + print("as_y_min_laje: ", as_y_min_laje) + print("-------------------------------------\n") + # ------------------------------ saida de dados --------------------------------------------- + self.lineEdit_9.setText(str(y_sapata)) + self.lineEdit_10.setText(str(x_sapata)) + self.lineEdit_15.setText(str(area_sapata)) + + self.lineEdit_11.setText(str(round(h_total, ndigits=4))) + self.lineEdit_12.setText(str(round(h0, ndigits=4))) + + self.lineEdit_15.setText(str(area_sapata)) + self.lineEdit_16.setText(str(round(wx, ndigits=6))) + self.lineEdit_17.setText(str(round(wy, ndigits=6))) + self.lineEdit_18.setText(str(round(nk_equiv, ndigits=4))) + self.lineEdit_19.setText(str(round(tensao_max_sapata / 1000000, ndigits=4))) + self.lineEdit_20.setText(str(round(tensao_min_sapata / 1000000, ndigits=4))) + self.lineEdit_21.setText(str(round(ca_sapata * 100, ndigits=4))) + self.lineEdit_22.setText(str(round(cb_sapata * 100, ndigits=4))) + + self.lineEdit_23.setText(str(round(h_rig_x * 100, ndigits=4))) + self.lineEdit_24.setText(str(round(h_rig_y * 100, ndigits=4))) + self.lineEdit_25.setText(str(round(h_mincis * 100, ndigits=4))) + self.lineEdit_26.setText(str(round(h0a * 100, ndigits=4))) + self.lineEdit_28.setText(str(round(h0b * 100, ndigits=4))) + self.lineEdit_27.setText(str(round(volume_concreto_sapata, ndigits=4))) + + self.lineEdit_14.setText(str(round(tracao_x_sapata / 1000, ndigits=4))) + self.lineEdit_29.setText(str(round(tracao_y_sapata / 1000, ndigits=4))) + self.lineEdit_30.setText(str(round(as_x_sapata, ndigits=4))) + self.lineEdit_31.setText(str(round(as_y_sapata, ndigits=4))) + + self.lineEdit_32.setText(str(round(taxa_aco_sapata, ndigits=7))) + self.lineEdit_33.setText(str(round(as_x_min_laje * 1000000, ndigits=4))) + self.lineEdit_34.setText(str(round(as_y_min_laje * 1000000, ndigits=4))) + + else: + QMessageBox.about( + self, "Falta de Dados", "Por favor insira dados consistentes" + ) + + def limpar_sapatas(self): + self.comboBox.setCurrentIndex(0) + self.comboBox_2.setCurrentIndex(0) + + self.lineEdit.setText("0") + self.lineEdit_2.setText("0") + self.lineEdit_3.setText("0") + self.lineEdit_4.setText("0") + self.lineEdit_5.setText("0") + + self.lineEdit_35.setText("0") + self.lineEdit_13.setText("1.1") + self.spinBox.setValue(30) + + self.lineEdit_9.setText("0") + self.lineEdit_10.setText("0") + self.lineEdit_11.setText("0") + self.lineEdit_12.setText("0") + + self.lineEdit_15.setText("") + self.lineEdit_16.setText("") + self.lineEdit_17.setText("") + self.lineEdit_18.setText("") + self.lineEdit_19.setText("") + self.lineEdit_20.setText("") + self.lineEdit_21.setText("") + self.lineEdit_22.setText("") + self.lineEdit_23.setText("") + self.lineEdit_24.setText("") + self.lineEdit_25.setText("") + self.lineEdit_26.setText("") + self.lineEdit_27.setText("") + self.lineEdit_28.setText("") + + self.lineEdit_14.setText("") + self.lineEdit_29.setText("") + self.lineEdit_30.setText("") + self.lineEdit_31.setText("") + self.lineEdit_32.setText("") + self.lineEdit_33.setText("") + self.lineEdit_34.setText("") + + +# ---------------------------------------------- Janelas Adicionais ---------------------------------------------------- + + +class Tabela_Classe_Agressividade(QtWidgets.QMainWindow): + def __init__(self): + super().__init__() + self.load_ui() + self.load_signals() + + def load_ui(self): + self.ui = loadUi("class_agres.ui", self) + + # scriptDir = os.path.dirname(os.path.realpath(__file__)) + # self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.ico')) + self.setWindowIcon(QtGui.QIcon("images/logo.ico")) + + self.setWindowTitle("Navier - Classes de Agressividade e Cobrimentos Mínimos") + self.setFixedSize(579, 520) + + def load_signals(self): + print("inicializado") + header = self.tableWidget.horizontalHeader() + # FIXME Verificar a propriedade atualizada caso necessário + # header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) + # header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) + + self.tableWidget.setSpan(0, 0, 1, 4) + + header_2 = self.tableWidget_2.horizontalHeader() + # FIXME Verificar a propriedade atualizada caso necessário + # header_2.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) + # header_2.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch) + # header_2.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) + # header_2.setSectionResizeMode(3, QtWidgets.QHeaderView.ResizeToContents) + + self.tableWidget_2.setSpan(0, 0, 2, 1) + self.tableWidget_2.setSpan(0, 1, 2, 1) + self.tableWidget_2.setSpan(0, 3, 2, 1) + + self.tableWidget_2.setSpan(3, 0, 2, 1) + self.tableWidget_2.setSpan(3, 1, 2, 1) + self.tableWidget_2.setSpan(3, 3, 2, 1) + + self.tableWidget_2.setSpan(5, 0, 2, 1) + self.tableWidget_2.setSpan(5, 1, 2, 1) + self.tableWidget_2.setSpan(5, 3, 2, 1) + + +if __name__ == "__main__": + app = QtWidgets.QApplication(sys.argv) + inicio = Inicio() + vigas = Vigas() + detalhar_vigas = Detalhar_viga() + pilares = Pilares() + pilares_areas_aco = Pilar_area_aco() + lajes = Lajes() + sapatas = Sapatas() + carga_adicional = Carga_Adicional() + tabela_classe_agressividade = Tabela_Classe_Agressividade() + tabela_bitolas = Tabela_Bitolas() + + inicio.show() + sys.exit(app.exec()) + + # app.exec_() diff --git a/app/marcus.py b/app/marcus.py new file mode 100644 index 0000000..9b196da --- /dev/null +++ b/app/marcus.py @@ -0,0 +1,707 @@ + +import numpy as np + +caso1 = np.array([ +[0.50, 0.059, 169.18, 42.29 ], +[0.51, 0.063, 158.42, 41.20 ], +[0.52, 0.068, 148.64, 40.19 ], +[0.53, 0.073, 139.70, 39.24 ], +[0.54, 0.078, 131.55, 38.36 ], +[0.55, 0.084, 124.10, 37.53 ], +[0.56, 0.089, 117.25, 36.77 ], +[0.57, 0.095, 110.96, 36.05 ], +[0.58, 0.102, 105.19, 35.38 ], +[0.59, 0.108, 99.86, 34.76 ], +[0.60, 0.115, 94.94, 34.18 ], +[0.61, 0.122, 90.40, 33.64 ], +[0.62, 0.129, 86.20, 33.13 ], +[0.63, 0.136, 82.30, 32.66 ], +[0.64, 0.144, 78.68, 32.23 ], +[0.65, 0.151, 75.32, 31.82 ], +[0.66, 0.159, 72.19, 31.44 ], +[0.67, 0.168, 69.27, 31.09 ], +[0.68, 0.176, 66.54, 30.99 ], +[0.69, 0.185, 63.99, 30.46 ], +[0.70, 0.194, 61.60, 30.18 ], +[0.71, 0.203, 59.37, 29.93 ], +[0.72, 0.212, 57.27, 29.69 ], +[0.73, 0.221, 55.29, 29.47 ], +[0.74, 0.231, 53.44, 29.26 ], +[0.75, 0.240, 51.69, 29.07 ], +[0.76, 0.250, 50.04, 28.90 ], +[0.77, 0.260, 48.48, 28.74 ], +[0.78, 0.270, 47.01, 28.60 ], +[0.79, 0.280, 45.61, 28.46 ], +[0.80, 0.290, 44.29, 28.34 ], +[0.81, 0.301, 43.03, 28.23 ], +[0.82, 0.311, 41.84, 28.13 ], +[0.83, 0.322, 40.70, 28.04 ], +[0.84, 0.332, 39.62, 27.96 ], +[0.85, 0.343, 38.59, 27.88 ], +[0.86, 0.354, 37.61, 27.81 ], +[0.87, 0.364, 36.67, 27.75 ], +[0.88, 0.375, 35.77, 27.70 ], +[0.89, 0.385, 34.91, 27.65 ], +[0.90, 0.396, 34.09, 27.61 ], +[0.91, 0.407, 33.30, 27.57 ], +[0.92, 0.417, 32.54, 27.54 ], +[0.93, 0.428, 31.81, 27.51 ], +[0.94, 0.438, 31.11, 27.49 ], +[0.95, 0.449, 30.44, 27.47 ], +[0.96, 0.459, 29.79, 27.45 ], +[0.97, 0.469, 29.17, 27.44 ], +[0.98, 0.480, 28.57, 27.43 ], +[0.99, 0.490, 27.99, 27.43 ], +[1.00, 0.500, 27.43, 27.43 ], +[1.00, 0.500, 27.43, 27.43], +[1.01, 0.510, 26.89, 27.43], +[1.02, 0.520, 26.37, 27.43], +[1.03, 0.529, 25.87, 27.44], +[1.04, 0.539, 25.38, 27.45], +[1.05, 0.549, 24.91, 27.47], +[1.06, 0.558, 24.46, 27.48], +[1.07, 0.567, 24.02, 27.50], +[1.08, 0.576, 23.60, 27.52], +[1.09, 0.585, 23.19, 27.55], +[1.10, 0.594, 22.79, 27.57], +[1.11, 0.603, 22.41, 27.61], +[1.12, 0.611, 22.03, 27.64], +[1.13, 0.620, 21.67, 27.67], +[1.14, 0.628, 21.32, 27.71], +[1.15, 0.636, 20.99, 27.76], +[1.16, 0.644, 20.66, 27.80], +[1.17, 0.652, 20.34, 27.85], +[1.18, 0.660, 20.04, 27.90], +[1.19, 0.667, 19.74, 27.95], +[1.20, 0.675, 19.45, 28.01], +[1.21, 0.682, 19.17, 28.07], +[1.22, 0.689, 18.90, 28.13], +[1.23, 0.696, 18.64, 28.20], +[1.24, 0.703, 18.39, 28.27], +[1.25, 0.709, 18.14, 28.34], +[1.26, 0.716, 17.90, 28.42], +[1.27, 0.722, 17.67, 28.50], +[1.28, 0.729, 17.44, 28.58], +[1.29, 0.735, 17.23, 28.67], +[1.30, 0.741, 17.01, 28.76], +[1.31, 0.746, 16.81, 28.85], +[1.32, 0.752, 16.61, 28.94], +[1.33, 0.758, 16.42, 29.04], +[1.34, 0.763, 16.23, 29.14], +[1.35, 0.769, 16.05, 29.25], +[1.36, 0.774, 15.87, 29.36], +[1.37, 0.779, 15.70, 29.47], +[1.38, 0.784, 15.53, 29.58], +[1.39, 0.789, 15.37, 29.70], +[1.40, 0.793, 15.21, 29.82], +[1.41, 0.798, 15.06, 29.95], +[1.42, 0.803, 14.91, 30.07], +[1.43, 0.807, 14.77, 30.20], +[1.44, 0.811, 14.63, 30.34], +[1.45, 0.815, 14.49, 30.47], +[1.46, 0.820, 14.36, 30.61], +[1.47, 0.824, 14.23, 30.76], +[1.48, 0.827, 14.11, 30.90], +[1.49, 0.831, 13.99, 31.05], +[1.50, 0.835, 13.87, 31.21], +[1.50, 0.835, 13.87, 31.21], +[1.51, 0.839, 13.75, 31.36], +[1.52, 0.842, 13.64, 31.52], +[1.53, 0.846, 13.53, 31.68], +[1.54, 0.849, 13.43, 31.85], +[1.55, 0.852, 13.32, 32.01], +[1.56, 0.855, 13.22, 32.18], +[1.57, 0.859, 13.13, 32.36], +[1.58, 0.862, 13.03, 32.53], +[1.59, 0.865, 12.94, 32.71], +[1.60, 0.868, 12.85, 32.80], +[1.61, 0.870, 12.76, 33.08], +[1.62, 0.873, 12.68, 33.27], +[1.63, 0.876, 12.59, 33.46], +[1.64, 0.878, 12.51, 33.65], +[1.65, 0.881, 12.43, 33.85], +[1.66, 0.884, 12.35, 34.04], +[1.67, 0.886, 12.28, 34.24], +[1.68, 0.888, 12.21, 34.45], +[1.69, 0.891, 12.13, 34.65], +[1.70, 0.893, 12.06, 34.87], +[1.71, 0.895, 12.00, 35.08], +[1.72, 0.897, 11.93, 35.29], +[1.73, 0.899, 11.86, 35.51], +[1.74, 0.902, 11.80, 35.73], +[1.75, 0.904, 11.74, 35.95], +[1.76, 0.906, 11.68, 36.17], +[1.77, 0.907, 11.62, 36.40], +[1.78, 0.909, 11.56, 36.63], +[1.79, 0.911, 11.51, 36.86], +[1.80, 0.913, 11.45, 37.10], +[1.81, 0.915, 11.40, 37.33], +[1.82, 0.916, 11.34, 37.58], +[1.83, 0.918, 11.29, 37.82], +[1.84, 0.920, 11.24, 38.06], +[1.85, 0.921, 11.19, 38.31], +[1.86, 0.923, 11.15, 38.56], +[1.87, 0.924, 11.10, 38.81], +[1.88, 0.926, 11.05, 39.07], +[1.89, 0.927, 11.01, 39.32], +[1.90, 0.929, 10.96, 39.58], +[1.91, 0.930, 10.92, 39.84], +[1.92, 0.931, 10.88, 40.10], +[1.93, 0.933, 10.84, 40.37], +[1.94, 0.934, 10.80, 40.63], +[1.95, 0.935, 10.76, 40.91], +[1.96, 0.936, 10.72, 41.18], +[1.97, 0.938, 10.68, 41.45], +[1.98, 0.939, 10.64, 41.73], +[1.99, 0.940, 10.60, 42.01], +[2.00, 0.941, 10.57, 42.29],]) + + + +caso2 = np.array([ +[0.50, 0.135, 140.93, 59.20, 45.13], +[0.51, 0.145, 132.95, 55.31, 44.11], +[0.52, 0.154, 125.68, 51.77, 43.22], +[0.53, 0.165, 119.03, 48.56, 42.38], +[0.54, 0.175, 112.94, 45.64, 41.60], +[0.55, 0.186, 107.35, 42.97, 40.88], +[0.56, 0.197, 102.20, 40.54, 40.21], +[0.57, 0.209, 97.46, 38.32, 39.60], +[0.58, 0.220, 93.08, 36.28, 39.03], +[0.59, 0.232, 89.03, 34.41, 38.51], +[0.60, 0.245, 85.28, 32.69, 38.04], +[0.61, 0.257, 81.79, 31.11, 37.60], +[0.62, 0.270, 78.55, 29.66, 37.20], +[0.63, 0.282, 75.53, 28.31, 36.83], +[0.64, 0.295, 72.71, 27.07, 36.49], +[0.65, 0.308, 70.07, 25.93, 36.19], +[0.66, 0.322, 67.60, 24.86, 35.92], +[0.67, 0.335, 65.28, 23.88, 35.67], +[0.68, 0.348, 63.10, 22.97, 35.44], +[0.69, 0.362, 61.05, 22.12, 35.25], +[0.70, 0.375, 59.12, 21.33, 35.07], +[0.71, 0.388, 57.30, 20.59, 34.92], +[0.72, 0.402, 55.58, 19.91, 34.78], +[0.73, 0.415, 53.95, 19.27, 34.67], +[0.74, 0.428, 52.41, 18.67, 34.57], +[0.75, 0.442, 50.94, 18.11, 34.50], +[0.76, 0.455, 49.56, 17.59, 34.44], +[0.77, 0.468, 48.24, 17.10, 34.39], +[0.78, 0.481, 46.98, 16.64, 34.36], +[0.79, 0.493, 45.79, 16.21, 34.35], +[0.80, 0.506, 44.65, 15.81, 34.35], +[0.81, 0.518, 43.56, 15.43, 34.36], +[0.82, 0.531, 42.53, 15.08, 34.39], +[0.83, 0.543, 41.54, 14.74, 34.42], +[0.84, 0.554, 40.60, 14.43, 34.48], +[0.85, 0.566, 39.69, 14.13, 34.54], +[0.86, 0.578, 38.83, 13.85, 34.62], +[0.87, 0.589, 38.01, 13.59, 34.70], +[0.88, 0.600, 97.22, 13.34, 34.80], +[0.89, 0.611, 96.46, 13.10, 34.91], +[0.90, 0.621, 95.73, 12.88, 35.03], +[0.91, 0.632, 35.04, 12.67, 35.16], +[0.92, 0.642, 34.37, 12.47, 35.29], +[0.93, 0.652, 33.73, 12.28, 35.44], +[0.94, 0.661, 33.12, 12.10, 35.60], +[0.95, 0.671, 32.53, 11.93, 35.77], +[0.96, 0.680, 31.97, 11.77, 35.95], +[0.97, 0.689, 31.43, 11.61, 36.13], +[0.98, 0.697, 30.91, 11.47, 36.33], +[0.99, 0.706, 30.41, 11.33, 36.53], +[1.00, 0.714, 29.93, 11.20, 36.74], +[ 1.00, 0.714, 29.93, 11.20, 36], +[ 1.02, 0.730, 29.02, 10.96, 37], +[ 1.04, 0.745, 28.18, 10.73, 37], +[ 1.06, 0.759, 27.41, 10.53, 38], +[ 1.08, 0.773, 26.69, 10.35, 38], +[ 1.10, 0.785, 26.02, 10.18, 39], +[ 1.12, 0.797, 25.40, 10.03, 39], +[1.14, 0.808, 24.83, 9.89, 40.55], +[1.16, 0.819, 24.29, 9.77, 41.21], +[1.18, 0.829, 23.79, 9.65, 41.90], +[1.20, 0.838, 23.33, 9.45, 42.62], +[1.22, 0.847, 22.89, 9.44, 43.36], +[1.24, 0.855, 22.49, 9.35, 44.13], +[1.26, 0.863, 22.11, 9.27, 44.93], +[1.28, 0.870, 21.75, 9.19, 45.75], +[1.30, 0.877, 21.42, 9.12, 46.59], +[1.32, 0.884, 21.11, 9.05, 47.46], +[1.34, 0.889, 20.82, 8.99, 48.34], +[1.36, 0.895, 20.54, 8.93, 49.26], +[1.38, 0.901, 20.28, 8.88, 50.20], +[1.40, 0.906, 20.04, 8.83, 51.15], +[1.42, 0.910, 19.81, 8.79, 52.14], +[1.44, 0.915, 19.59, 8.74, 53.14], +[1.46, 0.919, 19.39, 8.70, 54.16], +[1.48, 0.923, 19.20, 8.67, 55.21], +[1.50, 0.927, 19.01, 8.63, 56.28], +[1.52, 0.930, 18.84, 8.60, 57.36], +[1.54, 0.934, 18.68, 8.57, 58.47], +[1.56, 0.937, 18.52, 8.54, 59.60], +[1.58, 0.940, 18.37, 8.51, 60.74], +[1.60, 0.942, 18.23, 8.49, 61.91], +[1.62, 0.945, 18.10, 8.46, 63.11], +[1.64, 0.948, 17.97, 8.44, 64.31], +[1.66, 0.950, 17.85, 8.42, 65.53], +[1.68, 0.952, 17.74, 8.40, 66.78], +[1.70, 0.954, 17.63, 8.38, 68.04], +[1.72, 0.956, 17.52, 8.36, 69.33], +[1.74, 0.958, 17.42, 8.35, 70.63], +[1.76, 0.960, 17.33, 8.33, 71.96], +[1.78, 0.962, 17.25, 8.32, 73.30], +[1.80, 0.963, 17.15, 8.30, 74.65], +[1.82, 0.965, 17.07, 8.29, 76.03], +[1.84, 0.966, 16.99, 8.28, 77.42], +[1.86, 0.968, 16.91, 8.27, 78.85], +[1.88, 0.969, 16.84, 8.26, 80.27], +[1.90, 0.970, 16.77, 8.24, 81.73], +[1.92, 0.971, 16.70, 8.23, 83.18], +[1.94, 0.972, 16.64, 8.23, 84.67], +[1.96, 0.974, 16.57, 8.22, 86.19], +[1.98, 0.975, 16.51, 8.21, 87.70], +[2.00, 0.976, 16.46, 8.20, 89.22],]) + + +caso3 = np.array([ +[1.00, 0.500, 37.14, 16.00, 37.14, 16.00], +[1.01, 0.510, 36.42, 15.69, 37.15, 16.00], +[1.02, 0.520, 35.72, 15.39, 37.16, 16.01], +[1.03, 0.529, 35.05, 15.11, 37.19, 16.03], +[1.04, 0.539, 34.42, 14.84, 37.22, 16.05], +[1.05, 0.549, 33.81, 14.58, 37.27, 16.08], +[1.06, 0.558, 33.21, 14.34, 27.32, 16.11], +[1.07, 0.567, 32.65, 14.10, 37.38, 16.15], +[1.08, 0.576, 32.11, 13.88, 37.45, 16.19], +[1.09, 0.585, 31.59, 13.67, 37.53, 16.24], +[1.10, 0.594, 31.09, 13.46, 37.61, 16.29], +[1.11, 0.603, 30.61, 13.27, 37.71, 16.35], +[1.12, 0.611, 30.14, 13.08, 37.81, 16.41], +[1.13, 0.620, 29.70, 12.91, 37.92, 16.48], +[1.14, 0.628, 29.27, 12.74, 38.04, 16.55], +[1.15, 0.636, 28.85, 12.57, 38.16, 16.63], +[1.16, 0.644, 28.46, 12.42, 38.29, 16.71], +[1.17, 0.652, 28.08, 12.27, 38.43, 16.79], +[1.18, 0.660, 27.71, 12.13, 38.58, 16.88], +[1.19, 0.667, 27.35, 11.99, 38.73, 16.98], +[1.20, 0.674, 27.00, 11.85, 38.89, 17.07], +[1.21, 0.682, 26.68, 11.73, 39.06, 17.18], +[1.22, 0.690, 26.36, 11.61, 39.23, 17.28], +[1.23, 0.696, 26.05, 11.49, 39.41, 17.39], +[1.24, 0.703, 25.75, 11.38, 39.59, 17.50], +[1.25, 0.709, 25.46, 11.28, 39.78, 17.62], +[1.26, 0.716, 25.18, 11.17, 39.98, 17.74], +[1.27, 0.722, 24.92, 11.07, 40.19, 17.86], +[1.28, 0.729, 24.66, 10.98, 40.40, 17.99], +[1.29, 0.735, 24.40, 10.89, 40.61, 18.12], +[1.30, 0.741, 24.16, 10.80, 40.83, 18.25], +[1.31, 0.746, 23.93, 10.72, 41.06, 18.39], +[1.32, 0.752, 23.70, 10.63, 41.29, 18.53], +[1.33, 0.758, 23.48, 10.56, 41.53, 18.67], +[1.34, 0.763, 23.26, 10.48, 41.77, 18.82], +[1.35, 0.769, 23.06, 10.41, 42.02, 18.97], +[1.36, 0.774, 22.86, 10.34, 42.28, 19.12], +[1.37, 0.779, 22.66, 10.27, 42.54, 19.28], +[1.38, 0.784, 22.48, 10.21, 42.80, 19.43], +[1.39, 0.789, 22.29, 10.14, 43.07, 19.60], +[1.40, 0.793, 22.12, 10.08, 43.35, 19.76], +[1.41, 0.798, 21.95, 10.02, 43.63, 19.93], +[1.42, 0.803, 21.78, 9.97, 43.92, 20.10], +[1.43, 0.807, 21.62, 9.91, 44.21, 20.27], +[1.44, 0.811, 21.46, 9.86, 44.50, 20.45], +[1.45, 0.815, 21.31, 9.81, 44.80, 20.62], +[1.46, 0.820, 21.16, 9.76, 45.11, 20.80], +[1.47, 0.824, 21.02, 9.71, 45.42, 20.99], +[1.48, 0.827, 20.88, 9.67, 45.74, 21.17], +[1.49, 0.831, 20.75, 9.62, 46.06, 21.36], +[1.50, 0.835, 20.61, 9.38, 46.38, 21.55], +[1.50, 0.835, 20.61, 9.58, 46.38, 21.55], +[1.51, 0.839, 20.49, 9.54, 46.71, 21.75], +[1.52, 0.842, 20.36, 9.50, 47.05, 21.94], +[1.53, 0.846, 20.24, 9.46, 47.38, 22.14], +[1.54, 0.849, 20.12, 9.42, 47.73, 22.34], +[1.55, 0.852, 20.01, 9.39, 48.07, 22.55], +[1.56, 0.855, 19.90, 9.35, 48.43, 22.76], +[1.57, 0.859, 19.79, 9.32, 48.78, 22.96], +[1.58, 0.862, 19.69, 9.28, 49.14, 23.17], +[1.59, 0.865, 19.58, 9.25, 49.51, 23.09], +[1.60, 0.868, 19.48, 9.22, 49.88, 23.60], +[1.61, 0.870, 19.39, 9.19, 50.25, 23.82], +[1.62, 0.873, 19.29, 9.16, 52.63, 24.04], +[1.63, 0.876, 19.20, 9.13, 51.01, 24.26], +[1.64, 0.878, 19.11, 9.11, 51.40, 24.49], +[1.65, 0.881, 19.02, 9.08, 51.79, 24.72], +[1.66, 0.884, 18.94, 9.05, 52.19, 24.95], +[1.67, 0.886, 18.86, 9.03, 52.58, 25.18], +[1.68, 0.888, 18.77, 9.00, 52.99, 25.41], +[1.69, 0.891, 18.70, 8.98, 53.39, 25.65], +[1.70, 0.893, 18.62, 8.96, 53.81, 25.89], +[1.71, 0.895, 18.54, 8.93, 54.22, 26.13], +[1.72, 0.897, 18.47, 8.91, 54.64, 26.37], +[1.73, 0.899, 18.40, 8.89, 55.07, 26.61], +[1.74, 0.902, 18.33, 8.87, 55.49, 26.86], +[1.75, 0.904, 18.26, 8.85, 55.92, 27.11], +[1.76, 0.906, 18.18, 8.83, 56.36, 27.36], +[1.77, 0.907, 18.13, 8.81, 56.80, 27.61], +[1.78, 0.909, 18.07, 8.80, 57.24, 27.87], +[1.79, 0.911, 18.00, 8.78, 57.68, 28.13], +[1.80, 0.913, 17.94, 8.76, 58.14, 28.39], +[1.81, 0.915, 17.88, 8.74, 58.59, 28.65], +[1.82, 0.916, 17.83, 8.73, 59.05, 28.91], +[1.83, 0.918, 17.77, 8.71, 59.51, 29.18], +[1.84, 0.920, 17.72, 8.70, 59.97, 29.44], +[1.85, 0.921, 17.66, 8.68, 60.44, 29.72], +[1.86, 0.923, 17.61, 8.67, 60.92, 29.99], +[1.87, 0.924, 17.56, 8.65, 61.39, 30.26], +[1.88, 0.926, 17.51, 8.64, 61.88, 30.54], +[1.89, 0.927, 17.46, 8.63, 62.36, 30.81], +[1.90, 0.929, 17.41, 8.61, 62.85, 31.09], +[1.91, 0.930, 17.36, 8.60, 63.34, 31.38], +[1.92, 0.931, 17.32, 8.59, 63.83, 31.66], +[1.93, 0.933, 17.27, 8.58, 64.33, 31.94], +[1.94, 0.934, 17.23, 8.56, 64.83, 32.23], +[1.95, 0.935, 17.18, 8.55, 65.34, 32.52], +[1.96, 0.936, 17.14, 8.54, 65.84, 32.81], +[1.97, 0.938, 17.10, 8.53, 66.36, 33.10], +[1.98, 0.939, 17.06, 8.52, 66.88, 33.40], +[1.99, 0.940, 17.02, 8.51, 67.39, 33.70], +[2.00, 0.941, 16.93, 8.50, 67.92, 34.00],]) + + +caso5 = np.array([ +[0.50, 0.111, 246.52, 108.00, 71.43, 36.00], +[0.51, 0.119, 230.76, 100.70, 69.53, 34.92], +[0.52, 0.127, 216.51, 95.07, 67.77, 33.91], +[0.53, 0.136, 203.52, 88.05, 66.13, 32.97], +[0.54, 0.145, 191.66, 82.56, 64.60, 32.10], +[0.55, 0.155, 180.83, 77.57, 63.18, 31.29], +[0.56, 0.164, 170.91, 73.01, 61.86, 30.53], +[0.57, 0.174, 161.79, 68.84, 60.63, 29.82], +[0.58, 0.184, 153.42, 65.02, 59.49, 29.16], +[0.59, 0.195, 145.72, 61.52, 58.42, 28.55], +[0.60, 0.206, 138.61, 58.30, 57.43, 27.98], +[0.61, 0.217, 132.05, 55.34, 56.52, 27.45], +[0.62, 0.228, 125.98, 52.61, 55.67, 26.96], +[0.63, 0.239, 120.36, 50.09, 54.88, 26.51], +[0.64, 0.251, 115.15, 47.76, 54.15, 26.08], +[0.65, 0.263, 110.30, 45.61, 53.48, 25.69], +[0.66, 0.275, 105.81, 43.62, 52.85, 25.33], +[0.67, 0.287, 101.61, 41.77, 52.28, 25.00], +[0.68, 0.299, 97.70, 40.06, 51.76, 24.70], +[0.69, 0.312, 94.06, 38.47, 51.28, 24.42], +[0.70, 0.324, 90.65, 36.99, 50.84, 24.17], +[0.71, 0.337, 87.46, 35.61, 50.45, 23.93], +[0.72, 0.349, 84.48, 34.33, 50.09, 23.73], +[0.73, 0.362, 81.68, 33.13, 49.77, 23.54], +[0.74, 0.375, 82.05, 32.48, 49.05, 23.37], +[0.75, 0.387, 76.58, 30.96, 49.23, 23.22], +[0.76, 0.400, 74.26, 29.98, 49.00, 23.09], +[0.77, 0.413, 72.08, 29.07, 48.81, 22.98], +[0.78, 0.425, 70.02, 28.21, 48.65, 22.88], +[0.79, 0.438, 68.08, 27.40, 48.51, 22.80], +[0.80, 0.450, 66.24, 26.65, 48.40, 22.74], +[0.81, 0.463, 64.51, 25.94, 48.32, 22.69], +[0.82, 0.475, 62.88, 25.27, 48.26, 22.65], +[0.83, 0.487, 61.33, 24.64, 48.22, 22.63], +[0.84, 0.499, 59.86, 24.05, 48.21, 22.63], +[0.85, 0.511, 58.47, 23.49, 48.22, 22.63], +[0.86, 0.522, 57.15, 22.97, 48.25, 22.65], +[0.87, 0.543, 55.90, 22.47, 48.30, 22.68], +[0.88, 0.545, 54.71, 22.00, 48.37, 22.72], +[0.89, 0.558, 53.58, 21.56, 48.46, 22.77], +[0.90, 0.567, 52.51, 21.14, 48.57, 22.84], +[0.91, 0.578, 51.49, 20.75, 48.69, 22.91], +[0.92, 0.589, 50.51, 20.37, 48.83, 22.99], +[0.93, 0.599, 49.59, 20.02, 48.99, 23.09], +[0.94, 0.610, 48.70, 19.68, 49.17, 23.19], +[0.95, 0.620, 47.86, 19.37, 49.06, 13.30], +[0.96, 0.629, 47.06, 19.06, 49.57, 23.42], +[0.97, 0.639, 46.29, 18.78, 49.80, 23.56], +[0.98, 0.648, 45.55, 18.50, 50.04, 23.70], +[0.99, 0.658, 44.85, 18.25, 50.29, 23.84], +[1.00, 0.667, 44.18, 18.00, 50.56, 24.00], +[1.00, 0.667, 44.18, 18.00, 50.56, 24.00], +[1.02, 0.684, 42.92, 17.54, 51.14, 24.33], +[1.04, 0.700, 41.77, 17.13, 51.76, 24.70], +[1.06, 0.716, 40.71, 16.75, 52.44, 25.10], +[1.08, 0.731, 39.74, 16.41, 53.18, 25.52], +[1.10, 0.745, 38.84, 16.10, 53.95, 25.97], +[1.12, 0.759, 38.01, 15.81, 54.78, 26.45], +[1.14, 0.772, 37.25, 15.55, 55.64, 26.95], +[1.16, 0.784, 36.54, 15.31, 56.55, 27.47], +[1.18, 0.795, 35.88, 15.09, 57.50, 28.02], +[1.20, 0.806, 35.27, 14.89, 58.50, 28.59], +[1.22, 0.816, 34.70, 14.71, 59.53, 29.19], +[1.24, 0.825, 34.17, 14.54, 60.60, 29.80], +[1.26, 0.834, 33.68, 14.38, 61.71, 30.44], +[1.28, 0.843, 33.22, 14.23, 62.85, 31.10], +[1.30, 0.851, 32.79, 14.10, 64.03, 31.77], +[1.32, 0.859, 32.38, 13.98, 65.25, 32.47], +[1.34, 0.866, 32.01, 13.86, 66.50, 33.18], +[1.36, 0.872, 31.65, 13.75, 66.78, 33.92], +[1.38, 0.879, 31.02, 13.65, 69.10, 34.67], +[1.40, 0.885, 31.01, 13.56, 70.45, 35.44], +[1.42, 0.890, 30.72, 13.47, 71.83, 36.23], +[1.44, 0.896, 30.44, 13.39, 73.24, 37.03], +[1.46, 0.901, 30.18, 13.32, 74.69, 37.86], +[1.48, 0.906, 29.94, 13.25, 76.17, 38.70], +[1.50, 0.910, 29.71, 13.18, 77.67, 39.55], +[1.52, 0.914, 29.49, 13.12, 79.20, 40.43], +[1.54, 0.918, 29.28, 13.07, 80.77, 41.32], +[1.56, 0.922, 29.09, 13.01, 82.36, 12.22], +[1.58, 0.926, 28.90, 12.96, 83.98, 43.14], +[1.60, 0.929, 28.73, 12.91, 85.64, 44.08], +[1.62, 0.932, 28.56, 12.87, 87.31, 45.03], +[1.64, 0.935, 28.40, 12.83, 89.02, 46.00], +[1.66, 0.938, 28.25, 12.79, 90.77, 46.99], +[1.68, 0.941, 28.11, 12.75, 92.52, 47.98], +[1.70, 0.943, 27.97, 12.72, 94.32, 49.00], +[1.72, 0.946, 27.84, 12.68, 96.13, 50.03], +[1.74, 0.948, 27.72, 12.65, 97.98, 51.08], +[1.76, 0.950, 27.60, 12.62, 99.86, 52.14], +[1.78, 0.952, 27.49, 12.60, 101.75, 53.21], +[1.80, 0.954, 27.38, 12.57, 103.68, 54.30], +[1.82, 0.956, 27.28, 12.55, 105.63, 55.41], +[1.84, 0.958, 27.18, 12.52, 107.62, 56.63], +[1.86, 0.960, 27.09, 12.50, 109.63, 57.67], +[1.88, 0.961, 27.00, 12.48, 111.65, 58.81], +[1.90, 0.963, 26.91, 12.46, 110.71, 59.97], +[1.92, 0.964, 26.83, 12.44, 115.79, 61.15], +[1.94, 0.966, 26.75, 12.42, 117.89, 62.33], +[1.96, 0.967, 26.68, 12.41, 120.04, 63.55], +[1.98, 0.968, 26.61, 12.39, 122.19, 64.76], +[2.00, 0.970, 26.54, 12.37, 124.35, 65.98]]) + + +caso6 = np.array([ +[1.00, 0.500, 55.74, 24.00, 55.74, 24.00], +[1.01, 0.510, 54.65, 32.53, 55.75, 24.00], +[1.02, 0.520, 53.61, 32.09, 55.78, 24.02], +[1.03, 0.529, 52.62, 22.66, 55.82, 24.04], +[1.04, 0.539, 51.76, 22.26, 55.88, 24.07], +[1.05, 0.549, 50.76, 21.87, 55.96, 24.11], +[1.06, 0.558, 49.89, 21.50, 56.06, 24.16], +[1.07, 0.567, 49.06, 21.15, 56.17, 24.22], +[1.08, 0.576, 48.27, 20.82, 56.30, 24.28], +[1.09, 0.585, 47.50, 20.50, 56.44, 24.36], +[1.10, 0.594, 46.77, 20.20, 56.59, 24.44], +[1.11, 0.603, 46.07, 19.90, 56.76, 24.52], +[1.12, 0.611, 45.40, 19.63, 56.95, 24.62], +[1.13, 0.620, 44.75, 19.36, 57.14, 24.72], +[1.14, 0.628, 44.13, 19.10, 57.36, 24.83], +[1.15, 0.636, 43.54, 18.86, 57.58, 24.94], +[1.16, 0.644, 42.97, 18.63, 57.82, 25.06], +[1.17, 0.652, 42.42, 18.40, 58.07, 25.19], +[1.18, 0.660, 41.89, 18.19, 58.33, 25.33], +[1.19, 0.667, 41.38, 17.98, 58.60, 25.47], +[1.20, 0.675, 40.90, 17.79, 58.89, 25.61], +[1.21, 0.682, 40.42, 17.60, 59.19, 25.76], +[1.22, 0.689, 39.97, 17.42, 59.49, 25.92], +[1.23, 0.696, 39.54, 17.24, 59.81, 26.09], +[1.24, 0.703, 39.12, 17.07, 60.15, 26.25], +[1.25, 0.709, 38.71, 16.91, 60.49, 26.43], +[1.26, 0.716, 38.32, 16.76, 60.84, 26.61], +[1.27, 0.722, 37.95, 16.61, 61.20, 26.79], +[1.28, 0.729, 37.58, 16.47, 61.57, 26.98], +[1.29, 0.735, 37.23, 16.33, 61.96, 27.18], +[1.30, 0.741, 36.89, 16.20, 62.05, 27.38], +[1.31, 0.746, 36.57, 16.07, 62.75, 27.58], +[1.32, 0.752, 36.25, 15.95, 63.16, 27.79], +[1.33, 0.758, 35.95, 15.83, 63.59, 28.01], +[1.34, 0.763, 35.65, 15.72, 64.02, 28.23], +[1.35, 0.769, 35.37, 15.61, 64.46, 28.45], +[1.36, 0.774, 35.09, 15.51, 64.91, 28.68], +[1.37, 0.779, 34.83, 15.41, 65.36, 28.91], +[1.38, 0.784, 34.57, 15.31, 65.83, 29.15], +[1.39, 0.789, 34.32, 15.21, 66.31, 29.39], +[1.40, 0.793, 34.08, 15.12, 66.79, 29.64], +[1.41, 0.798, 33.85, 15.04, 67.29, 29.89], +[1.42, 0.803, 33.62, 14.95, 67.79, 30.15], +[1.43, 0.807, 33.40, 14.87, 68.30, 30.40], +[1.44, 0.811, 33.19, 14.79, 68.82, 30.67], +[1.45, 0.815, 32.98, 14.71, 69.34, 30.94], +[1.46, 0.820, 32.78, 14.64, 69.88, 31.21], +[1.47, 0.824, 32.59, 14.57, 70.42, 31.48], +[1.48, 0.827, 32.40, 14.50, 70.97, 31.76], +[1.49, 0.831, 32.22, 14.43, 71.53, 32.04], +[1.50, 0.835, 32.04, 14.37, 72.10, 32.33], +[1.50, 0.835, 32.04, 14.37, 72.10, 32.33], +[1.51, 0.839, 31.87, 14.31, 72.67, 32.62], +[1.52, 0.842, 31.71, 14.25, 73.25, 32.92], +[1.53, 0.846, 31.54, 14.19, 73.84, 33.22], +[1.54, 0.849, 31.39, 14.13, 74.44, 33.52], +[1.55, 0.852, 31.24, 14.08, 75.04, 33.82], +[1.56, 0.855, 31.09, 14.03, 75.65, 34.13], +[1.57, 0.859, 30.94, 13.97, 76.27, 34.45], +[1.58, 0.862, 30.80, 13.92, 76.90, 34.79], +[1.59, 0.865, 30.67, 13.88, 77.52, 35.08], +[1.60, 0.868, 30.54, 13.83, 78.17, 35.41], +[1.61, 0.870, 30.41, 13.79, 78.81, 35.73], +[1.62, 0.873, 30.28, 13.74, 79.47, 36.06], +[1.63, 0.876, 30.16, 13.70, 80.13, 36.40], +[1.64, 0.878, 30.04, 13.66, 80.80, 36.74], +[1.65, 0.881, 29.93, 13.62, 81.48, 37.08], +[1.66, 0.884, 29.82, 13.58, 82.16, 37.42], +[1.67, 0.886, 29.71, 13.54, 82.84, 37.77], +[1.68, 0.888, 29.60, 13.51, 83.54, 38.12], +[1.69, 0.891, 29.50, 13.47, 84.24, 38.47], +[1.70, 0.893, 29.40, 13.44, 84.95, 38.83], +[1.71, 0.895, 29.30, 13.40, 85.67, 39.19], +[1.72, 0.897, 29.20, 13.37, 86.38, 39.55], +[1.73, 0.899, 29.11, 13.34, 87.12, 39.92], +[1.74, 0.902, 29.02, 13.31, 87.85, 40.29], +[1.75, 0.904, 28.93, 13.28, 88.60, 40.67], +[1.76, 0.906, 28.84, 13.25, 89.34, 41.04], +[1.77, 0.907, 28.76, 13.22, 90.09, 41.42], +[1.78, 0.909, 28.68, 13.19, 90.86, 41.81], +[1.79, 0.911, 28.60, 13.17, 91.61, 42.19], +[1.80, 0.913, 28.52, 13.14, 92.39, 42.58], +[1.81, 0.915, 28.44, 13.12, 93.17, 42.97], +[1.82, 0.916, 28.37, 13.09, 93.96, 43.37], +[1.83, 0.918, 28.29, 13.07, 94.75, 43.77], +[1.84, 0.920, 28.22, 13.05, 95.54, 44.17], +[1.85, 0.921, 28.15, 13.02, 96.35, 44.57], +[1.86, 0.923, 28.09, 13.00, 97.16, 44.98], +[1.87, 0.924, 28.02, 12.98, 97.98, 45.09], +[1.88, 0.926, 27.95, 12.96, 98.80, 45.81], +[1.89, 0.927, 27.89, 12.94, 99.62, 46.22], +[1.90, 0.929, 27.83, 12.92, 100.46, 46.64], +[1.91, 0.930, 27.77, 12.90, 101.30, 47.06], +[1.92, 0.931, 27.71, 12.88, 102.14, 47.49], +[1.93, 0.933, 27.65, 12.86, 103.00, 47.92], +[1.94, 0.934, 27.60, 12.85, 103.85, 48.35], +[1.95, 0.935, 27.54, 12.83, 104.72, 48.78], +[1.96, 0.936, 27.49, 12.81, 105.58, 49.21], +[1.97, 0.938, 27.43, 12.80, 106.45, 49.65], +[1.98, 0.939, 27.38, 12.78, 107.35, 50.10], +[1.99, 0.940, 27.33, 12.76, 108.23, 50.55], +[2.00, 0.941, 27.28, 12.75, 109.12, 50.99],]) + + +caso4 = np.array([ +[1.00, 0.833, 37.47, 14.40, 55.74], +[1.02, 0.844, 36.71, 14.22, 57.01], +[1.04, 0.854, 36.00, 14.05, 58.33], +[1.06, 0.863, 35.34, 13.90, 59.70], +[1.08, 0.872, 34.74, 13.76, 61.12], +[1.10, 0.880, 34.18, 13.64, 62.59], +[1.12, 0.887, 33.66, 13.52, 64.10], +[1.14, 0.894, 33.18, 13.42, 65.66], +[1.16, 0.900, 32.74, 13.32, 67.26], +[1.18, 0.906, 32.32, 13.24, 68.91], +[1.20, 0.912, 31.93, 13.16, 70.60], +[1.22, 0.917, 31.57, 13.08, 72.33], +[1.24, 0.922, 31.23, 13.01, 74.11], +[1.26, 0.926, 30.92, 12.95, 75.92], +[1.28, 0.931, 30.62, 12.89, 77.78], +[1.30, 0.934, 30.34, 12.84, 79.66], +[1.32, 0.938, 30.08, 12.79, 81.60], +[1.34, 0.942, 29.83, 12.74, 83.58], +[1.36, 0.945, 29.60, 12.70, 85.58], +[1.38, 0.948, 29.39, 12.66, 87.63], +[1.40, 0.950, 29.18, 12.62, 89.72], +[1.42, 0.953, 28.99, 12.59, 91.84], +[1.44, 0.955, 28.80, 12.56, 94.01], +[1.46, 0.958, 28.63, 12.53, 96.20], +[1.48, 0.960, 28.47, 12.50, 98.45], +[1.50, 0.962, 28.31, 12.47, 100.72], +[1.52, 0.964, 28.16, 12.45, 103.02], +[1.54, 0.966, 28.02, 12.43, 105.38], +[1.56, 0.967, 27.89, 12.40, 107.76], +[1.58, 0.969, 27.76, 12.38, 110.16], +[1.60, 0.970, 27.64, 12.37, 112.61], +[1.62, 0.972, 27.53, 12.35, 115.12], +[1.64, 0.973, 27.42, 12.33, 117.62], +[1.66, 0.974, 27.31, 12.32, 120.17], +[1.68, 0.975, 27.21, 12.30, 122.76], +[1.70, 0.977, 27.12, 12.29, 125.41], +[1.72, 0.978, 27.03, 12.27, 128.04], +[1.74, 0.979, 26.94, 12.26, 130.75], +[1.76, 0.800, 26.86, 12.25, 133.50], +[1.78, 0.980, 26.78, 12.24, 136.24], +[1.80, 0.981, 26.70, 12.23, 139.05], +[1.82, 0.982, 26.63, 12.22, 141.85], +[1.84, 0.983, 26.56, 12.21, 144.78], +[1.86, 0.983, 26.49, 12.20, 147.65], +[1.88, 0.984, 26.43, 12.19, 150.60], +[1.90, 0.985, 26.37, 12.18, 153.54], +[1.92, 0.985, 26.31, 12.18, 156.53], +[1.94, 0.986, 26.25, 12.17, 159.56], +[1.96, 0.987, 26.19, 12.16, 162.60], +[1.98, 0.987, 26.14, 12.16, 165.75], +[2.00, 0.988, 26.09, 12.15, 168.80], + + + +[0.50, 0.238, 37.06, 50.40, 49.92], +[0.51, 0.253, 30.06, 47.48, 49.11], +[0.52, 0.268, 23.66, 44.83, 48.38], +[0.53, 0.283, 17.79, 42.42, 47.72], +[0.54, 0.298, 12.39, 40.23, 47.13], +[0.55, 0.314, 107.42, 38.23, 46.60], +[0.56, 0.330, 102.83, 36.40, 46.13], +[0.57, 0.345, 98.59, 34.74, 45.72], +[0.58, 0.361, 94.67, 33.21, 45.35], +[0.59, 0.377, 91.02, 31.81, 45.04], +[0.60, 3.930, 87.62, 30.52, 44.77], +[0.61, 0.409, 84.46, 29.33, 44.54], +[0.62, 0.425, 81.51, 28.24, 44.35], +[0.63, 0.441, 78.76, 27.24, 44.21], +[0.64, 0.456, 76.18, 26.30, 44.10], +[0.65, 0.472, 73.76, 25.45, 44.02], +[0.66, 0.487, 71.49, 24.65, 43.98], +[0.67, 0.502, 69.36, 23.91, 47.97], +[0.68, 0.517, 67.36, 23.22, 43.98], +[0.69, 0.531, 65.47, 22.59, 44.03], +[0.70, 0.545, 63.69, 22.00, 44.11], +[0.71, 0.559, 62.01, 21.44, 44.21], +[0.72, 0.573, 60.42, 20.93, 44.34], +[0.73, 0.587, 58.92, 20.45, 44.49], +[0.74, 0.600, 57.51, 20.00, 44.66], +[0.75, 0.613, 56.16, 19.38, 44.86], +[0.76, 0.625, 54.89, 19.19, 45.08], +[0.77, 0.637, 53.69, 18.83, 45.33], +[0.78, 0.649, 52.54, 18.48, 45.59], +[0.79, 0.661, 51.46, 18.16, 45.87], +[0.80, 0.672, 50.42, 17.86, 46.17], +[0.81, 0.683, 49.44, 17.57, 46.30], +[0.82, 0.693, 48.51, 17.31, 46.84], +[0.83, 0.703, 47.62, 17.06, 47.20], +[0.84, 0.713, 46.78, 16.82, 47.57], +[0.85, 0.723, 45.97, 16.60, 47.97], +[0.86, 0.732, 45.21, 16.39, 48.38], +[0.87, 0.741, 44.48, 16.19, 48.81], +[0.88, 0.750, 43.78, 16.00, 49.25], +[0.89, 0.758, 43.12, 15.82, 49.71], +[0.90, 0.766, 42.48, 15.66, 50.19], +[0.91, 0.774, 41.87, 15.50, 50.68], +[0.92, 0.782, 41.30, 15.35, 51.18], +[0.93, 0.789, 40.74, 15.21, 51.50], +[0.94, 0.796, 40.21, 15.07, 52.24], +[0.95, 0.803, 39.70, 14.95, 52.78], +[0.96, 0.809, 39.22, 14.82, 53.35], +[0.97, 0.816, 38.75, 14.72, 53.92], +[0.98, 0.822, 38.31, 14.60, 54.52], +[0.99, 0.828, 37.88, 14.50, 55.12], +[1.00, 0.833, 37.47, 14.40, 55.74], + + +]) +''' +lx = 6 +ly = 5 + +lamdia = ly/lx +lamdia = round(lamdia,ndigits=2) + +linhas = len(caso2) +colunas = len(caso2[0]) + +for i in range(linhas): + aux = caso2[i][0] + + if lamdia == aux: + print(caso2[i]) + +print() +''' \ No newline at end of file diff --git a/app/pilares_alt.ui b/app/pilares_alt.ui new file mode 100644 index 0000000..e2cc167 --- /dev/null +++ b/app/pilares_alt.ui @@ -0,0 +1,1382 @@ + + + MainWindow + + + + 0 + 0 + 1004 + 676 + + + + MainWindow + + + + + + 6 + 30 + 991 + 621 + + + + 0 + + + + Seção Retangular + + + + + 10 + 30 + 231 + 81 + + + + Concreto + + + + + 10 + 20 + 111 + 21 + + + + Resistência - fck [MPa] + + + + + + 140 + 20 + 81 + 22 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + 35 + + + + + 40 + + + + + 45 + + + + + 50 + + + + + + + 140 + 50 + 81 + 22 + + + + + 500 + + + + + + + 10 + 50 + 111 + 21 + + + + Tipo de Aço - CA + + + + + + + 10 + 120 + 231 + 441 + + + + Esquema Pilar + + + + + 40 + 10 + 151 + 201 + + + + + + + esquema_pilar.png + + + true + + + + + + 16 + 220 + 191 + 211 + + + + + + + navier_pilar_esquema.png + + + true + + + + + + + 260 + 330 + 241 + 231 + + + + Solicitações + + + + + 30 + 20 + 71 + 21 + + + + Nk [KN] + + + + + + 130 + 20 + 91 + 20 + + + + 0 + + + + + + 10 + 50 + 241 + 81 + + + + Momentos X + + + + + 18 + 20 + 91 + 21 + + + + Mx Topo [KN.m] + + + + + + 120 + 20 + 91 + 20 + + + + 0 + + + + + + 18 + 50 + 81 + 21 + + + + Mx Base [KN.m] + + + + + + 120 + 50 + 91 + 20 + + + + 0 + + + + + + + 10 + 140 + 241 + 80 + + + + Momentos Y + + + + + 18 + 20 + 91 + 21 + + + + My Topo [KN.m] + + + + + + 120 + 20 + 91 + 20 + + + + 0 + + + + + + 18 + 50 + 81 + 21 + + + + My Base [KN.m] + + + + + + 120 + 50 + 91 + 20 + + + + 0 + + + + + + + + 260 + 30 + 241 + 291 + + + + Dimensões + + + + + 20 + 20 + 121 + 21 + + + + Base - Xpilar [cm] + + + + + + 150 + 20 + 71 + 20 + + + + 0 + + + + + + 150 + 50 + 71 + 20 + + + + 0 + + + + + + 20 + 50 + 121 + 21 + + + + Altura - Ypilar [cm] + + + + + + 20 + 80 + 121 + 21 + + + + Altura do Pilar [m] + + + + + + 150 + 80 + 71 + 20 + + + + 0 + + + + + + 20 + 110 + 121 + 21 + + + + Altura do Lance [m] + + + + + + 150 + 110 + 71 + 20 + + + + 0 + + + + + + 20 + 140 + 121 + 21 + + + + Cobrimento [cm] + + + + + + 150 + 140 + 69 + 22 + + + + + 2.0 + + + + + 3.0 + + + + + 4.0 + + + + + 5.0 + + + + + + + 20 + 180 + 47 + 13 + + + + Eixo X + + + + + + 130 + 180 + 47 + 13 + + + + Eixo Y + + + + + + 20 + 200 + 71 + 81 + + + + + + + pilar_engaste_a.png + + + true + + + + + + 140 + 200 + 71 + 81 + + + + + + + pilar_engaste_a.png + + + true + + + + + + + 890 + 570 + 75 + 23 + + + + Limpar + + + + + + 800 + 570 + 75 + 23 + + + + Calcular + + + + + + 530 + 30 + 441 + 531 + + + + Resultados + + + + + 18 + 20 + 47 + 21 + + + + Nd [KN] + + + + + + 100 + 20 + 91 + 20 + + + + + + + 18 + 50 + 61 + 21 + + + + Área [cm²] + + + + + + 100 + 50 + 91 + 20 + + + + + + + 9 + 80 + 211 + 321 + + + + Eixo X + + + + + 20 + 20 + 81 + 21 + + + + Md Topo [KN.m] + + + + + + 110 + 20 + 81 + 20 + + + + + + + 20 + 50 + 81 + 21 + + + + Md Base [KN.m] + + + + + + 110 + 50 + 81 + 20 + + + + + + + 30 + 80 + 81 + 21 + + + + Mx mim [KN.m] + + + + + + 110 + 80 + 81 + 20 + + + + + + + + + + 30 + 110 + 81 + 21 + + + + e1 min [cm] + + + + + + 110 + 110 + 81 + 20 + + + + + + + + + + 50 + 140 + 31 + 21 + + + + λx + + + + + + 100 + 140 + 81 + 20 + + + + + + + + + + 100 + 170 + 81 + 20 + + + + + + + + + + 50 + 170 + 41 + 21 + + + + λ1x + + + + + + 110 + 230 + 81 + 20 + + + + + + + + + + 20 + 230 + 41 + 21 + + + + e2 [cm] + + + + + + 20 + 260 + 81 + 21 + + + + Mx2 [KN.m] + + + + + + 110 + 260 + 81 + 20 + + + + + + + + + + 110 + 290 + 81 + 20 + + + + + + + + + + 20 + 290 + 81 + 21 + + + + Md totx [KN.m] + + + + + + 36 + 200 + 141 + 20 + + + + + + + + + + + 220 + 80 + 211 + 321 + + + + Eixo Y + + + + + 110 + 20 + 81 + 20 + + + + + + + 20 + 290 + 81 + 21 + + + + Md toty [KN.m] + + + + + + 100 + 170 + 81 + 20 + + + + + + + + + + 20 + 260 + 81 + 21 + + + + My2 [KN.m] + + + + + + 20 + 230 + 41 + 21 + + + + e2 [cm] + + + + + + 110 + 80 + 81 + 20 + + + + + + + + + + 50 + 170 + 41 + 21 + + + + λ1y + + + + + + 110 + 110 + 81 + 20 + + + + + + + + + + 100 + 140 + 81 + 20 + + + + + + + + + + 110 + 290 + 81 + 20 + + + + + + + + + + 36 + 200 + 141 + 20 + + + + + + + + + + 30 + 80 + 81 + 21 + + + + My mim [KN.m] + + + + + + 50 + 140 + 31 + 21 + + + + λy + + + + + + 110 + 50 + 81 + 20 + + + + + + + 110 + 260 + 81 + 20 + + + + + + + + + + 110 + 230 + 81 + 20 + + + + + + + + + + 20 + 20 + 81 + 21 + + + + Md Topo [KN.m] + + + + + + 20 + 50 + 81 + 21 + + + + Md Base [KN.m] + + + + + + 30 + 110 + 81 + 21 + + + + e1 min [cm] + + + + + + + 260 + 50 + 91 + 20 + + + + + + + 230 + 50 + 41 + 21 + + + + ν0 + + + + + + 270 + 500 + 161 + 21 + + + + Dimensionamento Longitudinal + + + + + + 10 + 410 + 211 + 81 + + + + Adimensionais X + + + + + 50 + 20 + 41 + 21 + + + + μx + + + + + + 70 + 18 + 81 + 20 + + + + + + + 70 + 46 + 81 + 20 + + + + + + + 50 + 48 + 41 + 21 + + + + δx + + + + + + + 220 + 410 + 211 + 81 + + + + Adimensionais Y + + + + + 70 + 20 + 81 + 20 + + + + + + + 50 + 22 + 41 + 21 + + + + μy + + + + + + 70 + 48 + 81 + 20 + + + + + + + 50 + 50 + 41 + 21 + + + + δx + + + + + + + 30 + 500 + 191 + 16 + + + + TIPO DE PILAR + + + + + + 190 + 500 + 75 + 21 + + + + Envoltórias + + + + + + + + + 860 + 0 + 131 + 51 + + + + + + + navier_logo_mini_alt.png + + + + + + + 0 + 0 + 1004 + 21 + + + + + + + + diff --git a/app/pilares_areas_aco.ui b/app/pilares_areas_aco.ui new file mode 100644 index 0000000..7a1267f --- /dev/null +++ b/app/pilares_areas_aco.ui @@ -0,0 +1,513 @@ + + + MainWindow + + + + 0 + 0 + 484 + 300 + + + + MainWindow + + + + + + 10 + 50 + 161 + 91 + + + + Coeficientes - X + + + + + 30 + 30 + 21 + 21 + + + + μx + + + + + + 80 + 30 + 61 + 20 + + + + 0 + + + + + + 30 + 60 + 31 + 21 + + + + δx + + + + + + 80 + 60 + 61 + 20 + + + + 0 + + + + + + + 20 + 140 + 141 + 40 + + + + + + + + + 70 + 10 + 61 + 20 + + + + 1 + + + + + + 30 + 10 + 31 + 21 + + + + ωx + + + + + + + 210 + 50 + 161 + 91 + + + + Coeficientes -Y + + + + + 30 + 30 + 21 + 21 + + + + μy + + + + + + 80 + 30 + 61 + 20 + + + + 0 + + + + + + 30 + 60 + 21 + 21 + + + + δy + + + + + + 80 + 60 + 61 + 20 + + + + 0 + + + + + + + 220 + 140 + 141 + 40 + + + + + + + + + 70 + 10 + 61 + 20 + + + + 1 + + + + + + 30 + 10 + 31 + 21 + + + + ωy + + + + + + + 380 + 60 + 101 + 21 + + + + Recuperar Dados + + + + + + 380 + 90 + 101 + 23 + + + + Calcular + + + + + + 10 + 190 + 361 + 51 + + + + Áreas de Aço + + + + + 20 + 20 + 61 + 21 + + + + As x [mm²] + + + + + + 80 + 20 + 81 + 20 + + + + 0 + + + + + + 210 + 20 + 61 + 21 + + + + As y [mm²] + + + + + + 270 + 20 + 81 + 20 + + + + 0 + + + + + + + 380 + 120 + 101 + 23 + + + + Limpar + + + + + + 400 + 160 + 61 + 51 + + + + + + + + + + 400 + 220 + 61 + 51 + + + + + + + + + + 10 + 240 + 361 + 41 + + + + + + + + + 20 + 10 + 71 + 21 + + + + As máx [mm²] + + + + + + 90 + 10 + 81 + 20 + + + + 0 + + + + + + 270 + 10 + 81 + 20 + + + + 0 + + + + + + 200 + 10 + 71 + 21 + + + + As mín [mm²] + + + + + + + 240 + 20 + 61 + 20 + + + + 20 + + + + + + 190 + 20 + 51 + 21 + + + + fck [MPa] + + + + + + 370 + 20 + 61 + 20 + + + + 0 + + + + + + 320 + 20 + 51 + 21 + + + + Ac [m²] + + + + + + 110 + 20 + 61 + 20 + + + + 0 + + + + + + 60 + 20 + 51 + 21 + + + + Nk [KN] + + + + + + + 0 + 0 + 484 + 21 + + + + + + + + diff --git a/app/sapatas_alt.ui b/app/sapatas_alt.ui new file mode 100644 index 0000000..6a0ea27 --- /dev/null +++ b/app/sapatas_alt.ui @@ -0,0 +1,1175 @@ + + + MainWindow + + + + 0 + 0 + 946 + 579 + + + + MainWindow + + + + + + 20 + 40 + 251 + 81 + + + + Concreto + + + + + 20 + 20 + 121 + 20 + + + + Resistência - fck [MPa] + + + + + + 150 + 20 + 81 + 22 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + 35 + + + + + 40 + + + + + 45 + + + + + 50 + + + + + + + 150 + 50 + 81 + 22 + + + + + 250 + + + + + 500 + + + + + 600 + + + + + + + 20 + 50 + 121 + 20 + + + + Resistência do Aço [MPa] + + + + + + + 20 + 131 + 251 + 121 + + + + Solicitações + + + + + 20 + 30 + 101 + 16 + + + + Nk [KN] + + + + + + 132 + 30 + 91 + 20 + + + + 0 + + + + + + 20 + 60 + 101 + 16 + + + + Momento Y [KN.m] + + + + + + 132 + 60 + 91 + 20 + + + + 0 + + + + + + 20 + 90 + 91 + 16 + + + + Momento X [KN.m] + + + + + + 132 + 90 + 91 + 20 + + + + 0 + + + + + + + 20 + 260 + 251 + 81 + + + + Pilar + + + + + 30 + 20 + 71 + 16 + + + + Base - Yp [cm] + + + + + + 122 + 20 + 91 + 20 + + + + 0 + + + + + + 30 + 50 + 81 + 16 + + + + Base - Xp [cm] + + + + + + 120 + 50 + 91 + 20 + + + + 0 + + + + + + + 290 + 40 + 251 + 171 + + + + Sapata + + + + + 30 + 50 + 101 + 21 + + + + Base X - Xsap [m] + + + + + + 132 + 50 + 91 + 20 + + + + 0 + + + + + + 132 + 20 + 91 + 20 + + + + 0 + + + + + + 30 + 20 + 101 + 21 + + + + Base Y - Ysap[m] + + + + + + 30 + 80 + 91 + 21 + + + + Alt. Total - Ht [m] + + + + + + 132 + 80 + 91 + 20 + + + + 0 + + + + + + 132 + 110 + 91 + 20 + + + + 0 + + + + + + 30 + 110 + 101 + 21 + + + + Alt. Prisma - Ho [m] + + + + + + 134 + 140 + 91 + 23 + + + + Gerar Dimensões + + + + + + + 290 + 220 + 251 + 291 + + + + Esquema da Sapata + + + + + 0 + 20 + 251 + 181 + + + + + + + sapata_sup.png + + + true + + + + + + 10 + 200 + 231 + 81 + + + + + + + sapata_perfil.png + + + true + + + + + + + 20 + 350 + 251 + 131 + + + + Solo + + + + + 20 + 60 + 121 + 16 + + + + Coef. Influência do Solo + + + + + + 150 + 60 + 71 + 20 + + + + 1.1 + + + + + + 20 + 90 + 111 + 21 + + + + Ângulo Dissipação + + + + + + 150 + 90 + 71 + 22 + + + + 30 + + + 50 + + + + + + 150 + 30 + 71 + 20 + + + + 0 + + + + + + 20 + 30 + 131 + 16 + + + + Tensão Adm. Solo [MPa] + + + + + + + 560 + 40 + 371 + 471 + + + + Dimensionamento + + + + + 30 + 20 + 121 + 21 + + + + Área da Sapata [m²] + + + + + + 150 + 20 + 91 + 20 + + + + + + + 20 + 50 + 51 + 21 + + + + Wx [cm³] + + + + + + 120 + 50 + 61 + 20 + + + + + + + + + + 290 + 50 + 61 + 20 + + + + + + + + + + 200 + 50 + 51 + 21 + + + + Wy [cm³] + + + + + + 140 + 80 + 101 + 20 + + + + + + + + + + 30 + 80 + 81 + 21 + + + + N equiv. [N] + + + + + + 20 + 110 + 121 + 21 + + + + Tensão Máx [MPa] + + + + + + 119 + 110 + 70 + 20 + + + + + + + + + + 290 + 110 + 71 + 20 + + + + + + + + + + 200 + 110 + 91 + 21 + + + + Tensão Mín [MPa] + + + + + + 20 + 150 + 91 + 21 + + + + Balanço X [cm] + + + + + + 119 + 150 + 71 + 20 + + + + + + + + + + 290 + 150 + 71 + 20 + + + + + + + + + + 200 + 150 + 81 + 21 + + + + Balanço Y [cm] + + + + + + 120 + 180 + 71 + 20 + + + + + + + + + + 20 + 180 + 91 + 21 + + + + H rigidez X [cm] + + + + + + 290 + 180 + 71 + 20 + + + + + + + + + + 200 + 180 + 91 + 21 + + + + H rigidez Y [cm] + + + + + + 30 + 210 + 121 + 21 + + + + H min,cis [cm] + + + + + + 140 + 210 + 101 + 20 + + + + + + + + + + 120 + 240 + 71 + 20 + + + + + + + + + + 20 + 240 + 91 + 21 + + + + H prisma X [cm] + + + + + + 30 + 270 + 121 + 21 + + + + Volume de Concreto [m³] + + + + + + 160 + 270 + 81 + 20 + + + + + + + + + + 200 + 240 + 91 + 21 + + + + H prisma Y [cm] + + + + + + 290 + 240 + 71 + 20 + + + + + + + + + + 0 + 300 + 381 + 81 + + + + Áreas de Aço + + + + + 18 + 20 + 71 + 16 + + + + Tração X [KN] + + + + + + 100 + 20 + 81 + 20 + + + + + + + 280 + 20 + 81 + 20 + + + + + + + 200 + 20 + 71 + 16 + + + + Tração Y [KN] + + + + + + 100 + 50 + 81 + 20 + + + + + + + 20 + 50 + 71 + 16 + + + + Asx [mm²] + + + + + + 282 + 50 + 81 + 20 + + + + + + + 200 + 50 + 71 + 16 + + + + Asy [mm²] + + + + + + + 0 + 389 + 381 + 81 + + + + Áreas de Aço Mínimas + + + + + 40 + 20 + 121 + 16 + + + + Taxa Armd. Mínima [%] + + + + + + 172 + 20 + 101 + 20 + + + + + + + 98 + 50 + 81 + 20 + + + + + + + 198 + 50 + 71 + 16 + + + + Asy [mm²] + + + + + + 18 + 50 + 71 + 16 + + + + Asx [mm²] + + + + + + 280 + 50 + 81 + 20 + + + + + + + + + 850 + 530 + 75 + 23 + + + + Limpar + + + + + + 760 + 530 + 75 + 23 + + + + Calcular + + + + + + 800 + 0 + 131 + 51 + + + + + + + navier_logo_mini_alt.png + + + + + + + 0 + 0 + 946 + 21 + + + + + + + + diff --git a/app/tabela_marcus.pdf b/app/tabela_marcus.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6253f9fcfd75d1481523e81d794f9d57f0fc844b GIT binary patch literal 130014 zcmb@u1yq&W7B*}l3W7>Xi-3rf0@8@m(xr4LE!`!cAR^r*r8EK}-5?73AdT#A zy?bvkj`yDXfB!eeK4Yx$?)A=i=3LL5bKyQz(gH&Cw;5Q_sA>{x%4!N~;?S6`-nwe~ z0?YiJq1IRc7!+mQl#S$V$h8QOM}Am5zXpmZ`SR-MeU(Ru(#sjnV9)Gh2M{%(!p3mZf;+%xTWy@?}Mv)6OSVST8g_XX#kbU{Z?2l?fHMD0K35ywv4) z!{VU=9`9l0-NUsdQ?e}o-t951zOa=};aHEAf%*~H#Keg6_8Ra0$g7DgG8b68Y2}Xt z){3x|T`k;^b{E*r567J=b^dWKhdVWfJ1PEgupjg;Ql<8=PBQfgLx8*Q#~Y6ovD~T}%E--9R?e0hro>({4|`LGOpL?12~)BGyMx8v64O4; z6;JDLDw%5ET^SslM!u>RjQM0v9M-rTZVs%BObGYad{N7Bbqa1<8cH52@*CLR)l&C| zO*+|YG{?DYFR9j49#l?@Xu-%}GG&Itu)agDs>)}Jm2UYFhwCRjE1w$8b{1b zxQxKKoPFwVTO&bTJjd7Ut zaNPXRxtL&SmB)F!1b_7VZL){#BturP;NII~jIk*RuiGB_8myS~4c_^ts;?RCCu{uS@KkK=a8_Ddw{jfk3QC~pH|`mqp_BAe;u9E z$63u!tYHgrUkjK>c|V&{@fc}IFg++SR`m-__7yD9>YuL^HKq`T-7-)N#w@;V{8hAv zoUQv&vJ|OB$Kl1^k1HLC5(JF(%i1G3^4G1RzeaW4Qct$yO8()ZQD0L|Y|Z1}TjTsj zcy8A6o78@L1;O`Vo0hx=-axL|ghtdT5hmSA&ROao__5QQ;X==hH3>d=^tC?s$ZTLz zc;-~bk3C^M=3Z0IdYf1dw&q{xkifHp-zU6ZpikRrvDkHJD(uL4bJb*!HPX7I#mu+C zuHE~>=LFQPAy|&oeaE(uHwm4u9@x5URPgtC4CUR6+bj((ah zGPUaB(!~-wy9nBL98)g$W`K3b%Z>_<@I6N<9?sV2DqNQp?onmyw3ofh+wo2p+jktT z4Xoa9)-WHc6TexyG@0DCYVd9MX-HtS*Il9Ycc>lnoZ)SO(SBqy7AnR9!kTM%L}%Dk z9}}2UrHS#6VESpdUROpMU54ux!-^xvMzK0Xo)cl-QMvZf6zIN5skp8q}4FOwF zRCSAMJy3oll{u456$2Kh*OEM0!?zh#DovM0(7U?{or# zG$|S9*l{iVCgtKN>>oVHD``vO47vj_YC0#6z$lhNGPopU&qk9{g>_8XnudeEN~B=* zYzKyGn#uyl-8*)e?7s6~4HT$f;j1oijM7D$Qxwx&X(YUh8uJS5mVkDj>PS*9CIAn) zQKN;B@Tdvrxa$pyn4k&exHD%)zPieWLSZk7`YDcLw`)cuw)3j8+KenoGU(FMYvPU&h=8X`7hsh5s;+mJNk#Ukv+Ys=FmbRER;nKWo* zrHRSb8Upk2X5vCAIgVQ7-~BjyKcz z{M8WiNF&L+n;b#@8?O0RtsAmwGKK#ZpL3Q> z9)F1s$W91Blz6dx3uXWmBA8&ad&dWW6|)H?h)Q2|WREz1K$L4BcZ*77aBqCOC4P+$ z0A+K~eY&7ugy6+IJ?lA>qH4=p1KDtk5lkQLW+-oUQmC#p;z5V0O_JGcna^$Jc_+xk z2R5_L^!?V9D!)ZX)&_1#(&4b2UJ3!b?K=c2qIOHpjL>GgI$tPTRoFY<7@Pw^y&68j z*QZh0@zE{LQ6$?=Z?p}CXDm=8jQPf;ufdc#A1j*5ByuLnDP6h(F64KfM=Zar2YFL_ zU~4z>iyWrDGsrbQrL=x2i1%r#Y7}quRWVY&bzuyQC}Zq~Adi3p8U8Ff*fr#CMZV@R z>!^EAD_*tnKD`k>qAu9TcU1+SZsEO(8LZ;>v=};&eTsY= z>cKk4Dy5VSZU6%breE5}SVc)s+eos*QptHlr6|Eu2W>|5X3c>!OuiBwF)m%w#cv(h z?}u@}Z1eu8^Ek&I4G7eCrCBJ#dw3ILs!LL7hU^Z@H*R+T3d^UEJH}BxL?W%dUv`Bt zbfQwEO_pA|9Ln$;5^y}6v?<{{Ox)6D#%T)mXy2vwr7PIDAK9PQc9bXF%9rzyze3wm;fxk}#G zBNzwZCWJh0BJ72{Hc83Y@Fx^ym3jwYp^C^^ym32Fd?`dnI4tLue}M!tJ`xF!2%Cz_ z_w0a;6ToL=WN+ywy(9Lp*#Mdy`rvZEyV4kbQ&%>zLhfW_jWY)h z%*_MS@uS{Ji$3zV|4ulf(d?>Ds@11DnPm7Bmzgc>b>wKL^y3;|swdZXSmeK%X?aGR zzl(v(I;eO}*Hwz&9pmp?DzIel4vJtwTZ#|1ZeC(;P1xe|AZl(Qc^hHRFnfmvE;!)Q z_^WGcjk2Fx!`W2B_t@x@z>c_DN z(Kt^-WI}oVuUozvavs0j%)%;|0+it#*&5s`cjHKMb6QLe4s*ME)ig~AaFLc=r^c7^ zF>o=&IF=9YVy4cdJOoc|i`;bp&j;>jU_VOv^=hVkIb2l{nU+Cmx?-9#Y-TB?Su-sT zHp3gg>Vk05ddilmIbFP(ql5;bCo0lsM)3eb56Z7&^okLNXm8+%Lf(pG(R>8qM!~;! zQ}-tj&BdRud~UIP_bU`ooY8b+(HRlavR;N@um!z@!UbXs4;SUjqIV5TR@P6ZX`l$R zMx>?OYe(UsZpV^(L7LJ;8y!Yfib9)hvO<~hTsaKwkr%-orkl$2ieF?~QUm2Wo>sYr zKN0fH@Op%fSBt~^bn;=IvNV}8A-19Rqdeu0Z<8ZrC<^1dT~XLR`w;fwW)jLTa<`;< zYJe9rhEAdp6!g={j>=`ET6WT)<>)jn2a09{>U2E4e^Msv%As%d;f(yC=)r_+Xs|A zX;Ej_bjeXvvLEG77T8JMV<>r^sVLLF^ahPGJn43KE1z$)55TMpmwEoSb(E53FW})vYu45ZK<(t>682eD$%Agpuzf z^l46%AfXDObQBc7&&m&%ldG|Fyw&F?g-a}03F&pWKT`J8_MewJ6Heu*{jOuljqOwa z`S!Ek1b4Do73ou-#SltlU_3&K{q1EoxMcYXNnc4Vl_E$o6VeU#Zkm8&W1+Zb+f*~RJrROj!ywe4?r8xY zX?~EqI+r=nc*QWqVM{6F;grcux{R3B3weq%S*_B{J(6~K${DG0Y#8IMn|1x3IN1e# zbn(DsoHVpNu2~TAH1KXqUW5!l?H5QEa72!+1o74fo5b_sn?Sr7 z9TMc&NX8`=KlT3v`THPwIAm@w!d!SH{P_#hnt*?r2>*VMI<;p5+sQ8OE&MH#AH=txY&TD>^1@^dn`)zAUGbukF{(eGQ2^ZRpnV zq^b8`^+Cv~Tx&&S;IBp%M``)wvvFqqXZs|r(I}6-+3b?=sOu++=^e&0d}93Z>6aY` zvBXFSDCAkc-7`E2Ad!X#y}ZMIi9TCB>YZ)|VktSqa;`o8QO_{e%_qjWN&>qMVi_|w z5=}oPDoaDp;Lt0?oOpl?I?{CL1YYksn~oBiRanbu3({{(XePg~7M=-t9&FePz`WHK z>KqW0e~ZLuIwHjH?@uhy2kJsnEdgP`U!#6(dLBC9)kwRbs2hFQKr_%@n%$rclzp%(W2GxO>jGNV&&dv$N# zs;yI0esedK7a+FbthH-8FaJ(xX`%-upzvQDV>uBqLYx;plrHRtvXyW zI^(vN9DGtq1rG2}9MJvvhq(WUhX%;)KQIF11@~9_1cJJ_l}cxmB%Kp!4HG(^SjH%b zU>h>pU3{RFgD=fm;^ceteI=@x-^3*~Sg62_H$S>0Zd_O9$QZBk9iL#u9P?5+7Pp;zMR6v>S4lf|7 z&;GQlKk5n*@=*V2pxn_ZXzCS9NHO7L=}})L#k!pUxpCGv3;z#}XWS&k0v$+c+D8Nu zxSOE1Yc0V|pYM`z+j%dbwe-_=2b12!jPg+)$|r)q>({V81*aKMMi?`W83oCiUuOp) z-a#MczXqi;;L&oWj~!`Im}{XgKlT3tsHKPMZ`;;4zv{#BgUb2uXdlrUAk=`SA$dhb z$0|pWS}!=bxokUk-Y9Z0HuOif8P3#}{Fp!S(I$DLpCcO?Ov@vJpFxn1d_~(4)5l;# z%m{dllNw3+){+pRLE(rNVTOvXQt9cVs)xNWXyujti)^Xtw)42il89{xF^~A4lAzKU zeME2wlR#iBkLdkRlk^!Gq~MJD&(}~=eln`%6GTBjcJrr9hrL?H3B>KAI~_=9_!dO5NY z1%0l}1`gcQ`;M1w;SJo#D8{p2;e|&V9wFqZLk3|7A}vID;-p5DROnbE4^lLuIK{x_ zzsRrBzwJ0?{lqte$Jb81l&){amvG2AF+Imd>E{1H;J@(8KWf24H?MjRh#8dOEgZR_ zLX;pHu{SO#>4Jc_`nEj?;Y9@Ps(1cP?WL!=A};`+f5`9^^2TKW&Bih9{!WWWb*1}l z{2FLYp)xex=oJbv<#AnkdVjx7D&d$Z;cAZU`+vphecM)qF(n3G*+_00h9}8Gy*DUWZ=DL0;iueo9Xq!GWr3OtRdqOkry8DQ-n5k)YwQ(E&k^0gb~=Mta)ISJ#8L$;FCdnVV0j6# zi~>s>#Ih7DuT0%a(CtY!O%Pu-$MJk9n1L}O965WM=80fTl;rK6WdFq1xFAWKsC8T~ zCcVxFozc#tCIK=rK>eD=d+J~*4zB`xx?m}B87jDYCSWOvSlWQ46k_QNmeL$8sgc0m zo7heQg07J1Two~z%&}yvzhc-~FJBA#ji`zgrViAHh-Dg6hcI%P4sbv&GnqQ-!O~$q znP1Cz?~@l)fjikAUEgbHdMwnMAu*y9Im=IrB~Wh7MWAK8^UX^!9Zn2UcZ;q)>M~^R z^2wh|pao8X45?62QgVEd`Z|AXfEL^7nP5gLyzBdZ5-&UcI)LV*`1i|rP>D%i0ZVek z(llHA`|U8$9Vtas)B|gkC|^T{Hv(&wYJK4CAFERY0_OobY^P|j1Z{uyHhExvIH2XI ziVm<<8R26ma16QZ296<@y+EuAVnZL;t1_A3_7;FwN{{VSgaB`V9{X9DAaaP2ATxsp z1=$TgSqfEjr0P*WB76slBbvQ)R400m%EP~JB4nvh$2QOfrQ?>N?QiA@enUXu z2H;&302jz`c<(QP=>2K4xBjpey#h@55T*Zu31~2plP7SpI11A@U*XBpFF12T)999H z#(#tW417qOekl*X+7Fee(FflQ`4G(vT-2w2&Ae}_Gq`|`X0+dL2ZSWK)@^*zFY`F_ zzxDV3Kgt6xH?jo4JJFxTL&um!Ipb}%;=fKCKf7}_NKO+X7M-@_or zkDyUd)9Q|D8koTy7HpUxChop}7D=rsoV$Tw;!6f&0vfoGu%1u852g&30mAn`XP06% zxyMU6@?R7)pc&{FjG(wfvlF2_%Uy_ek8XC3hA8M}2MC7W>>SNnP~iVjtf8wNVDvv{ zG5FXAAG`#Q2QTChfDYB+_h8tkHpDOQYV@~)BR$9l*sQjH!!?6v!hXpf*^x{w9JhkU z?N;nD5B%#U=;TNuP7b)-^HLlz!jq|pMf8GOJ~R2pmphJvmh;JHj_GYf%!r`%Peew0P#@X(AKk?v zw}fU{9!-yf&|m`+i8EIhaV7HmH_!m`A71{I(+6k46y^KV2#`C>hVUYUoaljp(Y3Y_VE!4g}jDQ0=_OKJLg7_8wohH1!sD!1??q z5RjLkk`o&0ac0H*gt(o=g5Zxw@HEOo4l%#k4v&x>md$lInMn2{65t1}d6L03&r2(C&2tM} zGEyXhn+W$b(2$aofHEKsvhv&NXM54g}d{uXTxTeG(cf|7cTLMazXSRQGfGLsHfW%=Rm=5EPikyfoe z&071u_73Oax<`57$d>L0S_@8Hm8_)gRfiwnCRQF7U7)t5c(r!t0p$vFs&SoF`Q-__ z?(?R7hYL^CNVlu?zO}IyFNyQR_+ObvFdFK8FPv#!noQ+)mAQRUic9;-tKCg|wa3mL zWzDRe7YUlOHu@WPQ_1ywTCxh+goe#y7KN>IRj9*@6C}$*iQ!&wFQ+w~uQkvkRB!uu&PF_;lBZIU8lMEq z2Q4jFnB`SxayEx2=l4Ujr zoW*ymn`AuBB=F5o%6Jf4TktrF#q79M6AV>tMO%;iUDk8K5}(zJ5qE1>>s7Pw@(f>J zm^5)2&$H@kygPxZ(Vv3URPrgTzI>J7@hgC}p9=McwW(-~-BOXY#ZY#V zBm*bq6f5%vZsTHHb+XjMSJvjWi}SyP$A6X|mWqGh+oyC0ZgZe|4cF6>YCJg_TUPKxI2n<-y-=iCD& z;5Sp^;OWguudWAV)(ez_mwlk@d+@C6Fav+93OCOZLar45d>ffaOwp1ZSJ%RjMOv^o z=6NCauEqq+Ku*uyCY5pp>J^oW^}5$`)WH0(rKv}aI@U`M$F=u5*8C11wiC_`*f%GI zu8McbkgI)>EaUyWm3y}gBcNPUp2Xkz$KAKCP95q*PPD;}sA*$lOoyXwOUu(8?m3^VZ9$aNa5Ff*E zw|*uV=!vF!S!X?@<7GJ2H|y;$Svc){dE7n_>C^y58$ ze42}0Ke;Re`P1EWTjvJ)|m}xf!KHw2`y#OQY6Bud}xV1)2Bnj;UVCOMj_A z)mfMu-qOp!8yaL@FiRJ?dg>q-lcP?_EZKO2tCl|U_T8bWf(eo@sIayq?E_3tS6QZZ zPVLtW?hhJ^(zmArM$gnJFbYAkAggRH9rqs%vK%maN zl!E;f9o57^POf&f*1jHzg-`C=@2rLVz(Y|f(K^F=`p8m4A3!{$E*Jc{fC3&dpupCp zVRLw%E;2=nl3mIntR=5!|9ZA|wc(mc6HVl7muralNSpfYVH&R}NQZ4n)_@klOnABJ zQ)Byn@_Ke}Q;oI$$OFUrvAJ7?B$e9BpITM|^q-3~axVms4|35tdlZ4ojqGkECU7Vj zRfnT7iGnZcj_KI5O@)e^CAT(SmS0%f?LnRMlxs6s&os^hH zj-uQRF9j&%Vd7?i%%~(-v2%o^whb@FdikB!xN1>y2cnb*Z;uaGxF|4XS)J7F5PZfq z6)ygauCtK2Xx7;lx6S}yteK@CTDPk+qkg?C7M8*9m$p0Y6WQsfz|>LcAL7#s7FBca zWSN{j1ce>ly;1kt@%)a1ccS*R@mlPR*A-hv0=B6aN_Max zllhk1&6`R5ISBxV!GVl~X4;8|F40ujq=x_~t*4kamQe%b&W$ZqkN0Oy+XWj3Rl|#C zK`e-=Ha-F^UIQ{rhx2Na6&we)^{;^y#UjMunik>Izurb$EDRLZb1VZvzHK|V(Ce$3pX0fsIH z0&lNSC_Z4Op;#%5Z;Cm>%oSD+0!F`yiqp-vu&ztn=~meEB<45;t(P$MdmQ#c2pC z`QuMsgL2EST-**nx6)yzRx+=UQ!LrEkuh@AFEm#>xx-PGuEc)~q2(4n+#BaLJ@_f4 z!sg~z1ZwA;EHSLWDHr}+*Q+zwz29pyp+%6z56CY=`!D!o^mZ&-PFc*A9~mKhuZKdNy{fc-S5Yqnx_2+QahlnpA7 z3*t-qjjzg*K1aD&DrygfTrba6GV~PSLhAMtn_`~q^yQ{D{LP)19Dcs0Ct6f~C}c(X zv~y89*elTBR`OR5T=%G_m=v}XG6aW_v7$K@M;!Q2>tJ?PP*k`7?6ypfW_?+>Pt^L> zjgAMS<=W9Ui{0o_BlTt>K7~BX=Zc*IBYMAboefQZa>m?;zOM#m*OOT6A2dTA2zX8Po!h<4!%sam{$bc@ zZoU=c*07=_IM?AeVd54VQ8>Pvfc8RcTd>~dLnWj2jRuFoqH()|zphv#2*HG2Pog%d zbwicQnq1iOd}UE^Xb{NULbeSJYZ0qD13PX$=a+0B=)e&fwsf}D%VFyoEMz&GWy~(7 z+qO)hRi$-axX~`n`DF|FT@p~RwJtJoJ7EGM?~C=eOk`8oC=Y{5(lqa40L@^lv5CjG z$QRSZ2C7UKxh4<_(OMaga)iOo_kV}Kv&IHlkq`yTSnq1J=td9~3Bn#dFqtidh?(P_}U zL+3e_Uz-s-mS96+#re+ov^?;EVHkyYeZEDt})&l3T+YeI0F%^3@E`b**5mmZF%b~ zH|Qz>LgnJ{leWXCgq94)Uyf<)^k;})i!_2?OX7+)vJXs*lsY@^tmJ*K;5erYswGa0 zUtrMMqm>H2nd#M$g-bA-*3ux5`m=KlV+J0JRF)e-R4$vq&Sjml>}jcVHV;@>y^U^?|ObBSUOW`CTuvti6fB=9db)WHt>r>dZrfnAxW%Q!W}1Q%%^shK1C&66As? zn-~%!3Kapf%O>Ed=-V6hZyY^u4mbO76#M(2z$l?0n=)cMVXoYWtcXc(79)?aAFy1L zd>7UG-4P@zsu`U9an#xZf73KY{0JsFP_l514h!@|>9!}O6+ z%({n)mQvS-7j+)NsKicI0eh0lf;=k*K_@!W);$z&4uW7Q!^EbrkI2z&C`UQZAf%g< zk~J5RjKAnxdI*D(w2BNQX^6O8U5iHf{*&O+av!dq3LCLyB_03i$qpR{Ho6PV z!h_6}9qJXD5b)e3C@&@%U(ty#eB=iXt@FdlWxpwJOwY3j4K=XULnfEa;nL^J%eO4+ z`|)kdKy#eC-Jr;lNd{clyUZlS#X%EUK?3uA$+n`nRWOr2;sBLSt1xl9P1s`(Vk&I) z@HK^%yJn;nP3=pUwx`b8>a~D*@>yr|Y97BI0p;Ds#jIf`r=C`l=4Hi=N(r3GaHDA5 zi!Jf=?C?PXn_KHDpbE>)q}0{<%0eD|Doab6PQy784bBiKQ)`AGDsmZ9$#SkQxkx;; zq;r6I-eVRBPt>jsZUK#s_Yk}@mJGKGZ#7-HO;q3bW8Uz@B?M1YXSqwMb1AF{`T6Ta zFBR{c>m`ZcpnuRvWY zDcqt3tZm8Q(OYYDkyTEOvQ{e{GEC}FZ!ZuG@enM&cUC=r(zN|^%9QEwl?mviiGsol z*}we+^d~D(r5sw*HW^%ZO+FlISc&Y6m4SmS(pU>=aHO(y4CF&W(_=axa{F@p1Koj%oMsk5`4Lduj?rC-6RIhSYs5W|Z@iWLf+?mdt&k)LyF+ zH1Ztnt1S@&ewA#+9FdFp-z)6T8ru&7vr|F_yB*!J)MChnme$0kw%nY+&=c!P2=TK- z^#UW{XCf<8%#Ct}wPinllXE;`*ZqeRv^%1@{GjY4rEmSK|Q!nZyDDx7Y}reep+ zl!hQBX}fhnKK(QBXi5Cjy62XBXs`}1L<9V@6QHPhGhLTNni6V@kH&6VKTxO#?qNt zvnU3yo%gdz6zPBT;jWUIrQ(W>0L#_Hd!$w`Pbk`Depbm>A!bAU?xawZWWF7nO^z{4 zq17RF)*s%d3~@&+=3B0v+P(6Lv|!_{0N{SMnUi7lBup=*3{Al0R(ZXoX$8}Cp5^BK z=%@uy5wR-VEkMrHKX|dj>0Rj%PHBocQ_eu}qmXfgIG66Q+0C_(6`ZNWXfPVTfhNt} zdFk+=U0(f^kQPCgGmIob$WHWKd8xzpg8AA5EjTKbI&(J0+)%UY8$i}^M}vl7d!(jM z;%t|UXdRR>vpYLdWH2%zbaN3j9TRQjuSdZO`oSq0^gB~%ahrvmg9G{={`Ag2eviuf zzx*Cmt<`U`#k_1qu0_cM*Tw5$_jApA>5*$nJ*VJ5M|C=z=&e3NxsgKQ)%ZTvo!+iv zS3&?!=>i^eg!cCLt#(rvm#E?7m5qU|ZxvalcUnitOkq3ig)Xq60obxjlz(N#j|uSK z&aQD}!OCW4bWt2^ZEL@M*I0en`EYaTV&?&)DKBhBR}46cypelLI0M^#%_xB zp8BGx&ihU+@N3jg|2e7slp7OvVBf`eW(q4SyX&{7j7K80 z9KxKEMf-B^rhs3yys6-|xG7l3_gbgV_Q#Crh%>CXY|80g#7E25P6^uHWc814G*37> zh)wOJEY~_kR~{}$`K+139Ebyd@E*!#CoRJcU)5HYw=Pr}$7AmlvT6QU8gOyh_g)?? z^UrgW?Ps%%+;W-Dp)k7mcu`luF!Iq*x6{_v(oM(shg;S#sfFy3`nJPto_i4q{YFcj zF2tE3+ZbPP9;O(6D8KL#*S>V%Rdu~p>=sFEk5gf|mZbAzj}*%%;3tb3!($vPD#}~A zH`Q!**2XbcR4Rvz1#_GIH=i$4kMD)~<(l(M8Q?S{0&`IMef3rP8`Lhiq}Pw0g_OXqD{gncMc$spU06GeNmJ98zC$ObSk9w9_qcF`g)I zIwPzoD!WTv{AEQYY?IGBy#Lk1a1}h$df5$g>nQ(D2Ni!5tK#q!;2Jsdi}`&`>x-pF5c zFIt+Ph*;vU99R%zO%dtLnzg+-^>{#9${P#KZdko#ZATEL(}ue(eL0*;oTDd~^f2eu z?Rp#eGiyQRy#qs3T*fw3YTMP`TW1BzR0n(2{N`Z0EFzr=xwC~S_mw5xa*P}+tQs6R zxTT_Z6;Y?HS!GOeF45g`>vhPFBaag%Z}_6tc9marh6zi%Xp>Ol)kewsRQWdvyRGtD z!E@AlgmFU=nv8X18WP#*`tL0_ai-{K@TFx+WID^XuQBGy5dD}vdG`{Kdlbs>rsxsW(*UyFcw$}Bne^D1(#f%I5KmT z_Q~kLOXPE>QF4E)?Okvc_hw52k)IL#89^~A-nT|VuJcxwd!m zRoojbjpv1RmCSBRf0JpISBMZu{+MSB;JtC{@fa#OOW62(UbfCb8j_(%SMx5zM z4B-O!v*>3}o8XT9`3eLjP~gAeL!pv~l6LR0q$E32v#Z>TYMW*>Lr9f1f41_GQ>`Cg z-6j}KzC~@wf(rHu;gMhIi{}6iSgyaKP=P;_ynAO#+jknWy5ZUx@UVukPWyROb+qd0 zDDWVH3<{b)CIm#ZnRXZoaFjmn6XEqhn#CgHA2{iPZ*Ng}U-B`Md3DF9@dTSYK!`Z; zlskdaOHFNWivTo)Qy}WVRJbbWnXdL_kRVM**5PxrM}v*^_I2PPgnlr#UkgZ&w;wq& zOJ0#I%Us(Cvg8A9segsrnCKmJE%1VwTtx64WmkEm0UcOCEr)$gAU*sUb=-1CBO(3$ zo2x-^x38&%;DA*A)3NhE9pei$O80=`t2|tzM2rcndb7dKd z`iMiD-%tVf2qd?!0~xFnG&22W{2cujj_c^38W+wYHUj_{i;7qw!LDLU=H&LV%My92 zVag}j?W;fMd$QmLQL8@ftw*Eg5e`FZIAvz>89XHoM~?!kV^gj=eF)dt+R5!?Vn~;e zeVlL%oH%OH~U{A&4VZo{T{kIcoUpR?-xh(KD*&_=tY+V#PEek_-Rq@D+- zphg3I;^7i^PYS7%7UfxJr#+`TK^^D+iX$?iUMCIrc`!P|2MK_%s#zLOER7Q|Po6<6 z^8`4?i-1r)ZJU}G+WOSB6K*WoJv7CN^ z-3Q!pS3-KaO!4m1(iC21qm478R;gk%^GiKIEeg&Y#b+0mKRi9y_-GY9n&Kwx2pmkC%C%NoKOBCPqM&OW0Y8C z_o5kvW0gxa$2iadJ!^nJqlPC6^zARkzgr0z_)q3ZszZ1j`_o~e^tAjSTp!90$nn7P zQQk3Pb4Z?os%jKmN-?+8{XJF2=8Q1dI>!WnE{OxT{6OkkhU_ij-JIIHQ4i;o4$-gh z%I&U5rzll1YWm4?l|DKY%M&kpfiUtI*I&egXWD+G;YmHsE}m#0Eq*BI!Rhj^$Tim^Z`@jC|prs%g+Fy39sJni|m5}>AxI<>nqZi-hG ztX=Hez;$AAbei?Ov;d>w zchU=QWfz{ylJ}MIzw5c5)N?Y4FUQ`4FVjsl^R%eD_6DZAGHR$YY6x1xG6`B9=FL3J z8yHv%a-_?Uj;k10$2zV-I=*nGe&Kw}B7%d|al#-#|40Yc|E41!^Z%9clPKZJw&-x< z8>dOojsycj8KQ@ya<%j)Dj$lv-fJL?r)v-H7~%s^B;J2gM}su^{j6ph;AID?eYwBI8 z`=9an)uo?;e|71XKm+!ASSkI^`ra{@6jPZL)s9c-6#IVRqGR47VR6NOU_rE&F8a;( zi-_1WcgvTBYxxwNcJzlPg(*#Y$>m(qXPW};2I0n*+c zY%9Jict5U#i~F5q=QWKg;%*`0X`ro8%7O?kxSdaWIcJL5*uy*9ZIC$jW?A}`DCNyP_ z_I1WVN%u3??2J$IQ|!=bd6t#8m&=TU25xACeVa+Y3H)$f+bGCGe{P5RBSR3lA-c5q z-u8=rq}l0TJPMo3X`Cma%)tUw8HhxfN!Y(x)^PZKf~&V7_D^4?a=PAt_iF&*!Esm( zdtj2Vl+$%rL#C?2t@;0G?`&H-*i*>9zq4qR#;FBcqBaHTI~! z5Rbt_-FBj_mqn!I-hi2sar___o9dIbrJzBfNfIn5Ikp=ti2`j;6a}}^8-1f2g;*ru z8sV8iEFk$cGqrKoea9U(4=(3kdzUHpH)jSX%u6ifQT=?;E>4{E= zNUA~Na9mqCVMZOL^6jJ2Cy1XRmq&@S|Gyz`*T`K6Z%FoSo*)g>aWyfS`{(*N>>WXyQ$~}!Iue5hCZ?0m7?qP;NF}}G8ec+Wy zex3__;FTz~%NBePl_(AVBD@mGj=TeZ;e=PBqze9|iqr5)BVztaqP>lYy9a$j z&U$XrTm-znhZ%6zbDCtfxdf*L9zdl7K6mie{dha@3iOtUo4^KS3;2Yb`&V=B*+8~H ze*9)m@#vc=K=ugBPCGpauRe;=e{;gVDyaw5kl&qfpF9t*NDw+8WscFIWyqh$zxka6 zRMzGVZL30H11Ovk=AKT@y*L2B%Ryt_?+3Z$XSt*aDX&LpSROl%6mc0GvcCZQA3c&? zIQ9qtjlg>SmDth-S8^)k{sj$bl;I6-4RgTI->eW}K$KQn&=>ql zFFytncS@7MUwus~QWUT4U;8$95~Wh;n2vw)_WxBS3e0Q)?eHWhSnz2`Xl3;!r-b)2 z6iay`^9b87H+U;kZzF2MF5P!rpI-{p|6Td{y-FomDCM?r>F4RN4@LbX;y=n6G+F%g zjULo|P+zc-4}}Vj3j-~9^u0*+8xSauoOvFVxjDBLWw6Q^ND6LX6805-MvF*zru5`T zx-OMyyHZm7EJ>_%ia}r&ys@1pVNr%=o_{Z*_@IIPX)n~(0+Wc2>?|<##AO#A&`I0O ziU`$j1s&|q8U@8|^7py}xl5tq3FeaqWc7y6RCiY1%2XYdGJ;RLZ_auW=o5hfE<|Pg zmDu7&vo_f%3435b=iZOqmLQ>3bev+}9X82Wh!z2V2Vc67!-J& z8UkZSDL^UmT{Ia3LmEWJAHc*6-*-IbIH2xEn}fOyFEo^{acK=u%euJ1 z#?X^ud+C<*^_5ZSlt`6Jw}jJT)HX1&;LG2T{6#!~4Ke1Fy9uD+_g+VqB!E3=L`rM} z;Ef2p?yqiu*g#{>fw4Dkxf=osM3@$mxUE*M1{VJ#77fdIlEC$U7&Y|KFEm%3>-+} zmL7R0jjSW@D)`?aDVWd6gAddZ_(ZdZ>5eQ=XqzP9gBX?Oxp1HY1$EG0pbwxcaDh^! z0(3lQ5n+K8Ksr1F7J2PaojgtfX>I~*kSOqhmm;Jzh>d|LxHNco{|_^tFM^@ye>U?_ z&i221iYPXJdWtAEa8IGx?Z{Jju|fN#*rXzh&1a1?_@J}6LB0HTMf&XuG%RR3x6%Vg z?m;~n5^t#KLSliKAQ6t7>;n_aKk){a7@4K+|9~D`o9rxDA(O{|>jmr2D%^xt_d5Zl;J0P}It;*D0? z$tuZiEHLu?&ZEa87E#~tJ^O#y#zo+q!THOe^RuYHU-+HWAzA@_KSV2#QNBi070|f_ zgBEmq0=M(%X6=tEQ{^u|!`c*1wY7`h3m({9RK469-h8_&SHShq`_{+_(_A`KfBs>$u=$Gj)VN;eAj6#1IPy;h-k@X&+ z7YaIY_{@}gG~rEN7=0$;R(l~2BfR^16TNv26`o57zzp8w`nJ$h8sX^+K-|h&81PH$ zJ$6)E!1w>0Z_fW5WsVzazUrU7^9v+hOUZmemJ;`uOQ*!4t`wRurr{F?oijNP(b?#; zp5xFA0a{r*RB)*_2+5)Ty$Ao@wBxDZ|H?FETMxfkLk?yy{~UfmNg#im`&*4E_zqVNkR9OS!U6c<6NjAWunN#`LDxjk5Ey~1i|)VZ zI-WYMtVy(S>A`x&zlFDJLCN zuSe4bR*(kHZm_ga4u1#7nlz75cuQA?XH1QJWhKySaqG4b6J7Ld+Q3O{-^^)wzZTF=0M6RY z*0k9={`lit`HS#dd1iu(9-OTiubxA9BX8CM8ldHWb>MpuT|Th(Ce->Iy9_m`zTh8{ zg9h~{zMvmjsN=u(KSe|xi`UG23JyOATm$_69XJ8M+=T-6+t{13wzDxXGLl?qFmh-- z;=P%fY~Q=cd$_SQ;JxnZZ$88KuEX`<) z9Nx;bjDZ!w_IJVy<6z)tX)}eqgG z%s-2)KW}iUed(RV0^_1oKlS6?{=-DN%9Qmae#hwi{ko}yOFR#}eJSc^6a|wf7+oR` zS<0ohXC~CGCfVC1528D*xOgpj9`(N7<6z_*FB`Xc)-re4RXX6eJ*SoOVY~F>qAW(* z{-d&H$?uW@c6hv5xjPfi*geJ-ai8sZu1|(3Z(vyS*p@Nt859$3TEaAJ+rHk_vt-vZ zi1m}G7}0zwrmNuo* z@7HAu^7FIG1~L_<1nt`}>{ecDgy2i_ZYw!f-ZYJ!wtri8wQt}2a9Mc824CJ@Vg5sz zRqWoj*JVh{jjUWV&-HO7ZoGhfImu9b>0bN0QilT^a#QZ8_i%Zo)oAakv(zVyQ;b^SwQqT+y5wd4C6jESVpQ(eVfp6l^yuS0CJG-cGez3Ux@Xzl=fta)fZ zq-k9WE0xh{1^=r(NV4Qqx%5oy0Bvu-XnUduhWgsnq1adik!$hih+2cZ;O`K4jsKr{&?#m*{^*4cF=D(@Fj+^I%I< z|6yN z7Qb^Ax$~8#CM-(E`mxkD7Xv4H+Dsp3nV%35@tn~liOICl$l);6PM4AZ4_$rsP21)0 z3^o;*dEcHB#d21C%541kF3U1Y4xEneaIa!Vu4_T1x|e5qiwCG(OE2+Cc7BVr4pk8g zDHZfEBznCh8lrL`LB+CH0>hp4Bifkwl5mlnZF&nst(Ghb7K zKO1APsx^9vs6)oLiT*9AoRhi(sw;Zxi%CwlEAkdqXS`I$hdkf{C9l&zRz32PB`#(>fbK++2HEXSzS!-tJeP`JPq`;$K*W-Z~ zs6&>bUIy~UN5_wKOCHAUB{2AB<|d?#d>0kZ^sQ95bBPX@*q106yDxr>=^~xM`TLI> z*OR?EgBusg;~D2qR=|eqm*k~ry2AjGzt}7zkT*7I&T1@=O2dgpbJCb_YEoXpw!qcaD{bU~s zj#5^b|Ikb%^AaE2^=>6|OzQ@1Ry=vKHcru)k>*;gf99Os{Xma_Df*tp~vs3(n$@5dUGTV+OX_z#j2Tj!)|cIe^6bBVw&O zvd6B)=D8s&qyEeT2y?)cKVxsVLv-r zB2h~(3d`afyCZPx9yA82$YasHFqzNC3|_#Q)<$L-RFGi{VS1-=$qvJ@%?!Xk)M?LM zH%=6rw_J5%XSWwNbHqLf9I0R~czxFs7%yogyL6$rRL=cq3L4I{uED}*UN6w2G(S z{GlUimvwgKG0YQ3DMovfMYP*5qV3+QmsSGvCKzSy#)kF$f*$es{I2 zzP*eDQ#~%@ggYJS`f(VHAs5&ogDk&u@sFuq>zn!tb?X`yl`e88`}5YaqY2ZXFM1b- zrfaV5X;Jp{vb1v)i5<<|jUiaFfzG((B+X8PZ9iMAs_0tMAC;>pdu-h8RIw@}H_S>c zkXp82;8=9WxWti+_{Xy~%`BC`e_BawH-7-WiSK4DfVoDPyE8tvf_4(m` z-!@krxKNj=pL9TwRpr8^AeN_e_cM^%hCGoT1v*LrkK6}n(s3Y~jW$H}bl$7$PL45) zaW-d&S6$G-;v|afTCQ4=Hrol94NK!ln-5Jbb7L

^(N&cB%+G)v;#*fl|Qh7HG44 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 literal 0 HcmV?d00001 diff --git a/app/vigas_alt.ui b/app/vigas_alt.ui new file mode 100644 index 0000000..1c0e423 --- /dev/null +++ b/app/vigas_alt.ui @@ -0,0 +1,1498 @@ + + + MainWindow + + + + 0 + 0 + 871 + 634 + + + + MainWindow + + + + + + 0 + 30 + 861 + 571 + + + + 0 + + + + Seção Retangular + + + + + -1 + 39 + 551 + 511 + + + + 0 + + + + + + 20 + 180 + 251 + 291 + + + + Dimensões + + + + + 130 + 30 + 101 + 20 + + + + 0 + + + + + + 130 + 60 + 101 + 20 + + + + 0 + + + + + + 131 + 90 + 100 + 20 + + + + 0 + + + + + + 20 + 30 + 101 + 16 + + + + Largura - bw [cm] + + + + + + 20 + 60 + 81 + 16 + + + + Altura - h [cm] + + + + + + 20 + 90 + 101 + 16 + + + + Altura Útil - d [cm] + + + + + + 0 + 150 + 260 + 141 + + + + Projeção de Domínio + + + + + 140 + 20 + 82 + 21 + + + + Domínio 3 + + + + + + 30 + 20 + 82 + 21 + + + + Domínio 2 + + + true + + + + + + 30 + 50 + 81 + 21 + + + + Linha Neutra ξ + + + + + + 130 + 50 + 81 + 20 + + + + 0.450 + + + + + + 30 + 80 + 71 + 21 + + + + d limite [m] + + + + + + 130 + 80 + 81 + 20 + + + + + + + 131 + 110 + 81 + 20 + + + + + + + 30 + 110 + 91 + 21 + + + + X-limite [m] + + + + + + + 19 + 120 + 91 + 16 + + + + d' [cm] + + + + + + 130 + 120 + 100 + 20 + + + + 0 + + + true + + + + + + + 290 + 0 + 261 + 141 + + + + Seção + + + + + 71 + 6 + 110 + 131 + + + + + + + navier_viga_dupla.png + + + true + + + + + + + 290 + 150 + 261 + 321 + + + + Armadura Longitudinal + + + + + 10 + 50 + 101 + 21 + + + + Momento2 [KN.m] + + + + + + 150 + 50 + 100 + 20 + + + + + + + 0 + 90 + 260 + 231 + + + + Áreas de Aço + + + + + 150 + 20 + 91 + 20 + + + + + + + 20 + 18 + 121 + 21 + + + + As Compressão [mm²] + + + + + + 20 + 78 + 111 + 21 + + + + Asobre-apoio [mm²] + + + + + + 150 + 80 + 91 + 20 + + + + + + + 149 + 108 + 91 + 20 + + + + + + + 20 + 108 + 91 + 21 + + + + As.pele [mm²] + + + + + + 21 + 170 + 91 + 21 + + + + As.máx [mm²] + + + + + + 150 + 170 + 91 + 20 + + + + + + + 150 + 50 + 91 + 20 + + + + + + + 20 + 48 + 111 + 21 + + + + As Tração [mm²] + + + + + + 21 + 200 + 91 + 21 + + + + As.mín [mm²] + + + + + + 150 + 200 + 91 + 20 + + + + + + + 21 + 140 + 91 + 21 + + + + As.total [mm²] + + + + + + 150 + 140 + 91 + 20 + + + + + + + + 150 + 20 + 100 + 20 + + + + + + + 10 + 20 + 131 + 21 + + + + Momento-limite [KN.m] + + + + + + + + + 20 + 180 + 251 + 151 + + + + Dimensões + + + + + 130 + 30 + 101 + 20 + + + + 0 + + + + + + 130 + 60 + 101 + 20 + + + + 0 + + + + + + 131 + 90 + 100 + 20 + + + + 0 + + + + + + 20 + 30 + 81 + 16 + + + + Base - bw [cm] + + + + + + 20 + 60 + 81 + 16 + + + + Altura - h [cm] + + + + + + 20 + 90 + 91 + 16 + + + + Altura Útil - d [cm] + + + + + + 19 + 120 + 91 + 16 + + + + d' [cm] + + + + + + 130 + 120 + 100 + 20 + + + + 0 + + + true + + + + + + + 20 + 340 + 251 + 141 + + + + Seção + + + + + 70 + 6 + 111 + 131 + + + + + + + secao_viga.png + + + true + + + + + + + 290 + 2 + 251 + 351 + + + + Armadura Longitudinal + + + + + 10 + 20 + 91 + 21 + + + + Md [KN.m] + + + + + + 130 + 20 + 111 + 20 + + + + + + + 10 + 80 + 91 + 21 + + + + Kmd + + + + + + 130 + 80 + 111 + 20 + + + + + + + 10 + 110 + 91 + 21 + + + + Kx + + + + + + 130 + 110 + 111 + 20 + + + + + + + 10 + 140 + 91 + 21 + + + + Kz + + + + + + 130 + 140 + 111 + 20 + + + + + + + 0 + 170 + 260 + 181 + + + + Áreas de Aço + + + + + 150 + 30 + 91 + 20 + + + + + + + 20 + 30 + 91 + 21 + + + + As [mm²] + + + + + + 20 + 60 + 121 + 21 + + + + Asobre-apoio [mm²] + + + + + + 150 + 60 + 91 + 20 + + + + + + + 150 + 90 + 91 + 20 + + + + + + + 20 + 90 + 91 + 21 + + + + As.pele [mm²] + + + + + + 21 + 120 + 91 + 21 + + + + As.máx [mm²] + + + + + + 150 + 120 + 91 + 20 + + + + + + + 150 + 150 + 91 + 20 + + + + + + + 20 + 150 + 91 + 21 + + + + As.mín [mm²] + + + + + + + 130 + 50 + 111 + 20 + + + + + + + 10 + 50 + 111 + 21 + + + + Domínio de Ruptura: + + + + + + + + + 540 + 10 + 131 + 23 + + + + Simplesmente Armada + + + + + + 690 + 10 + 141 + 23 + + + + Duplamente Armada + + + + + + 20 + 130 + 251 + 81 + + + + Solicitações + + + + + 150 + 20 + 81 + 20 + + + + 0 + + + + + + 150 + 50 + 81 + 20 + + + + 0 + + + + + + 20 + 20 + 141 + 20 + + + + Momento Fletor [KN.m] + + + + + + 20 + 49 + 111 + 21 + + + + Cortante [KN] + + + + + + + 20 + 40 + 251 + 81 + + + + Concreto + + + + + 20 + 20 + 121 + 20 + + + + Resistência - fck [MPa] + + + + + + 150 + 20 + 81 + 22 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + 35 + + + + + 40 + + + + + 45 + + + + + 50 + + + + + + + 150 + 50 + 81 + 22 + + + + + 250 + + + + + 500 + + + + + 600 + + + + + + + 20 + 50 + 121 + 20 + + + + Tipo de Aço - CA + + + + + + + 570 + 40 + 261 + 471 + + + + Armadura Transversal + + + + + 0 + 140 + 271 + 91 + + + + Modelo de Cálculo + + + + + 20 + 20 + 211 + 21 + + + + Modelo I - α = 90º e θ = 45º + + + true + + + + + + 20 + 40 + 221 + 21 + + + + Modelo II - α = 90º e 30º < θ < 45º + + + + + + 170 + 60 + 42 + 22 + + + + 30 + + + 45 + + + + + + 140 + 60 + 47 + 21 + + + + θ : + + + + + + + 30 + 20 + 221 + 131 + + + + + + + esquema_bielas.png + + + true + + + + + + 30 + 240 + 47 + 16 + + + + Vsd [KN] + + + + + + 110 + 240 + 113 + 20 + + + + + + + 30 + 270 + 47 + 16 + + + + Vrd2 [KN] + + + + + + 110 + 270 + 113 + 20 + + + + + + + + + + 110 + 300 + 113 + 20 + + + + + + + + + + 30 + 300 + 47 + 16 + + + + Vc [KN] + + + + + + 30 + 330 + 47 + 16 + + + + Vsw[KN] + + + + + + 110 + 330 + 113 + 20 + + + + + + + + + + 0 + 360 + 270 + 81 + + + + Área de Aço + + + + + 122 + 20 + 101 + 20 + + + + + + + + + + 10 + 20 + 81 + 16 + + + + As/s [mm²/m] + + + + + + 122 + 50 + 101 + 20 + + + + + + + + + + 10 + 50 + 101 + 16 + + + + As.min/s [mm²/m] + + + + + + + 127 + 447 + 121 + 20 + + + + Gerar Detalhamento + + + + + + + 660 + 520 + 75 + 23 + + + + Calcular + + + + + + 750 + 520 + 75 + 23 + + + + Limpar + + + + + + + + 720 + 0 + 6 + 16 + + + + + + + navier_logo_mini_alt.png + + + + + + + 0 + 0 + 871 + 22 + + + + + + + + diff --git a/app/vigas_alt_ui.py b/app/vigas_alt_ui.py new file mode 100644 index 0000000..864f089 --- /dev/null +++ b/app/vigas_alt_ui.py @@ -0,0 +1,494 @@ +# Form implementation generated from reading ui file 'd:\Python\Navier\app\vigas_alt.ui' +# +# Created by: PyQt6 UI code generator 6.9.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(871, 634) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget) + self.tabWidget.setGeometry(QtCore.QRect(0, 30, 861, 571)) + self.tabWidget.setObjectName("tabWidget") + self.tab_viga_retangular = QtWidgets.QWidget() + self.tab_viga_retangular.setObjectName("tab_viga_retangular") + self.stacked_viga_modelo_armacao = QtWidgets.QStackedWidget(parent=self.tab_viga_retangular) + self.stacked_viga_modelo_armacao.setGeometry(QtCore.QRect(-1, 39, 551, 511)) + self.stacked_viga_modelo_armacao.setObjectName("stacked_viga_modelo_armacao") + self.page_viga_armacao_dupla = QtWidgets.QWidget() + self.page_viga_armacao_dupla.setObjectName("page_viga_armacao_dupla") + self.group_viga_armacao_dupla_dimensoes = QtWidgets.QGroupBox(parent=self.page_viga_armacao_dupla) + self.group_viga_armacao_dupla_dimensoes.setGeometry(QtCore.QRect(20, 180, 251, 291)) + self.group_viga_armacao_dupla_dimensoes.setObjectName("group_viga_armacao_dupla_dimensoes") + self.ledit_viga_armacao_dupla_lagura = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dimensoes) + self.ledit_viga_armacao_dupla_lagura.setGeometry(QtCore.QRect(130, 30, 101, 20)) + self.ledit_viga_armacao_dupla_lagura.setObjectName("ledit_viga_armacao_dupla_lagura") + self.ledit_viga_armacao_dupla_altura = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dimensoes) + self.ledit_viga_armacao_dupla_altura.setGeometry(QtCore.QRect(130, 60, 101, 20)) + self.ledit_viga_armacao_dupla_altura.setObjectName("ledit_viga_armacao_dupla_altura") + self.ledit_viga_armacao_dupla_altura_util = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dimensoes) + self.ledit_viga_armacao_dupla_altura_util.setGeometry(QtCore.QRect(131, 90, 100, 20)) + self.ledit_viga_armacao_dupla_altura_util.setObjectName("ledit_viga_armacao_dupla_altura_util") + self.label_viga_armacao_dupla_largura = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dimensoes) + self.label_viga_armacao_dupla_largura.setGeometry(QtCore.QRect(20, 30, 101, 16)) + self.label_viga_armacao_dupla_largura.setObjectName("label_viga_armacao_dupla_largura") + self.label_viga_armacao_dupla_altura = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dimensoes) + self.label_viga_armacao_dupla_altura.setGeometry(QtCore.QRect(20, 60, 81, 16)) + self.label_viga_armacao_dupla_altura.setObjectName("label_viga_armacao_dupla_altura") + self.label_viga_armacao_dupla_altura_util = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dimensoes) + self.label_viga_armacao_dupla_altura_util.setGeometry(QtCore.QRect(20, 90, 101, 16)) + self.label_viga_armacao_dupla_altura_util.setObjectName("label_viga_armacao_dupla_altura_util") + self.group_viga_armacao_dupla_dominio = QtWidgets.QGroupBox(parent=self.group_viga_armacao_dupla_dimensoes) + self.group_viga_armacao_dupla_dominio.setGeometry(QtCore.QRect(0, 150, 260, 141)) + self.group_viga_armacao_dupla_dominio.setObjectName("group_viga_armacao_dupla_dominio") + self.radio_viga_dominio_3 = QtWidgets.QRadioButton(parent=self.group_viga_armacao_dupla_dominio) + self.radio_viga_dominio_3.setGeometry(QtCore.QRect(140, 20, 82, 21)) + self.radio_viga_dominio_3.setObjectName("radio_viga_dominio_3") + self.radio_viga_dominio_2 = QtWidgets.QRadioButton(parent=self.group_viga_armacao_dupla_dominio) + self.radio_viga_dominio_2.setGeometry(QtCore.QRect(30, 20, 82, 21)) + self.radio_viga_dominio_2.setChecked(True) + self.radio_viga_dominio_2.setObjectName("radio_viga_dominio_2") + self.label_viga_linha_neutra = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dominio) + self.label_viga_linha_neutra.setGeometry(QtCore.QRect(30, 50, 81, 21)) + self.label_viga_linha_neutra.setObjectName("label_viga_linha_neutra") + self.ledit_viga_linha_neutra = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dominio) + self.ledit_viga_linha_neutra.setGeometry(QtCore.QRect(130, 50, 81, 20)) + self.ledit_viga_linha_neutra.setObjectName("ledit_viga_linha_neutra") + self.label_viga_d_limite = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dominio) + self.label_viga_d_limite.setGeometry(QtCore.QRect(30, 80, 71, 21)) + self.label_viga_d_limite.setObjectName("label_viga_d_limite") + self.ledit_viga_d_limite = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dominio) + self.ledit_viga_d_limite.setGeometry(QtCore.QRect(130, 80, 81, 20)) + self.ledit_viga_d_limite.setObjectName("ledit_viga_d_limite") + self.ledit_viga_x_limite = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dominio) + self.ledit_viga_x_limite.setGeometry(QtCore.QRect(131, 110, 81, 20)) + self.ledit_viga_x_limite.setObjectName("ledit_viga_x_limite") + self.label_viga_armacao_dupla_x_limite = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dominio) + self.label_viga_armacao_dupla_x_limite.setGeometry(QtCore.QRect(30, 110, 91, 21)) + self.label_viga_armacao_dupla_x_limite.setObjectName("label_viga_armacao_dupla_x_limite") + self.label_viga_armacao_dupla_d_linha = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_dimensoes) + self.label_viga_armacao_dupla_d_linha.setGeometry(QtCore.QRect(19, 120, 91, 16)) + self.label_viga_armacao_dupla_d_linha.setObjectName("label_viga_armacao_dupla_d_linha") + self.ledit_viga_armacao_dupla_d_linha = QtWidgets.QLineEdit(parent=self.group_viga_armacao_dupla_dimensoes) + self.ledit_viga_armacao_dupla_d_linha.setGeometry(QtCore.QRect(130, 120, 100, 20)) + self.ledit_viga_armacao_dupla_d_linha.setReadOnly(True) + self.ledit_viga_armacao_dupla_d_linha.setObjectName("ledit_viga_armacao_dupla_d_linha") + self.group_viga_armacao_dupla_secao = QtWidgets.QGroupBox(parent=self.page_viga_armacao_dupla) + self.group_viga_armacao_dupla_secao.setGeometry(QtCore.QRect(290, 0, 261, 141)) + self.group_viga_armacao_dupla_secao.setObjectName("group_viga_armacao_dupla_secao") + self.label_viga_armacao_dupla_secao = QtWidgets.QLabel(parent=self.group_viga_armacao_dupla_secao) + self.label_viga_armacao_dupla_secao.setGeometry(QtCore.QRect(71, 6, 110, 131)) + self.label_viga_armacao_dupla_secao.setText("") + self.label_viga_armacao_dupla_secao.setPixmap(QtGui.QPixmap("d:\\Python\\Navier\\app\\navier_viga_dupla.png")) + self.label_viga_armacao_dupla_secao.setScaledContents(True) + self.label_viga_armacao_dupla_secao.setObjectName("label_viga_armacao_dupla_secao") + self.group_viga_armadura_longitudinal = QtWidgets.QGroupBox(parent=self.page_viga_armacao_dupla) + self.group_viga_armadura_longitudinal.setGeometry(QtCore.QRect(290, 150, 261, 321)) + self.group_viga_armadura_longitudinal.setObjectName("group_viga_armadura_longitudinal") + self.label_viga_momento_2 = QtWidgets.QLabel(parent=self.group_viga_armadura_longitudinal) + self.label_viga_momento_2.setGeometry(QtCore.QRect(10, 50, 101, 21)) + self.label_viga_momento_2.setObjectName("label_viga_momento_2") + self.ledit_viga_momento_2 = QtWidgets.QLineEdit(parent=self.group_viga_armadura_longitudinal) + self.ledit_viga_momento_2.setGeometry(QtCore.QRect(150, 50, 100, 20)) + self.ledit_viga_momento_2.setObjectName("ledit_viga_momento_2") + self.group_viga_areas_aco = QtWidgets.QGroupBox(parent=self.group_viga_armadura_longitudinal) + self.group_viga_areas_aco.setGeometry(QtCore.QRect(0, 90, 260, 231)) + self.group_viga_areas_aco.setObjectName("group_viga_areas_aco") + self.ledit_viga_as_compressao = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_as_compressao.setGeometry(QtCore.QRect(150, 20, 91, 20)) + self.ledit_viga_as_compressao.setObjectName("ledit_viga_as_compressao") + self.label_viga_as_compressao = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_as_compressao.setGeometry(QtCore.QRect(20, 18, 121, 21)) + self.label_viga_as_compressao.setObjectName("label_viga_as_compressao") + self.label_viga_area_sobre_apoio = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_area_sobre_apoio.setGeometry(QtCore.QRect(20, 78, 111, 21)) + self.label_viga_area_sobre_apoio.setObjectName("label_viga_area_sobre_apoio") + self.ledit_viga_area_sobre_apoio = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_area_sobre_apoio.setGeometry(QtCore.QRect(150, 80, 91, 20)) + self.ledit_viga_area_sobre_apoio.setObjectName("ledit_viga_area_sobre_apoio") + self.ledit_viga_as_pele = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_as_pele.setGeometry(QtCore.QRect(149, 108, 91, 20)) + self.ledit_viga_as_pele.setObjectName("ledit_viga_as_pele") + self.label_viga_as_pele = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_as_pele.setGeometry(QtCore.QRect(20, 108, 91, 21)) + self.label_viga_as_pele.setObjectName("label_viga_as_pele") + self.label_viga_as_max = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_as_max.setGeometry(QtCore.QRect(21, 170, 91, 21)) + self.label_viga_as_max.setObjectName("label_viga_as_max") + self.ledit_viga_as_max = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_as_max.setGeometry(QtCore.QRect(150, 170, 91, 20)) + self.ledit_viga_as_max.setObjectName("ledit_viga_as_max") + self.ledit_viga_as_tracao = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_as_tracao.setGeometry(QtCore.QRect(150, 50, 91, 20)) + self.ledit_viga_as_tracao.setObjectName("ledit_viga_as_tracao") + self.label_viga_as_tracao = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_as_tracao.setGeometry(QtCore.QRect(20, 48, 111, 21)) + self.label_viga_as_tracao.setObjectName("label_viga_as_tracao") + self.label_viga_as_min = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_as_min.setGeometry(QtCore.QRect(21, 200, 91, 21)) + self.label_viga_as_min.setObjectName("label_viga_as_min") + self.ledit_viga_as_min = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_as_min.setGeometry(QtCore.QRect(150, 200, 91, 20)) + self.ledit_viga_as_min.setObjectName("ledit_viga_as_min") + self.label_viga_as_total = QtWidgets.QLabel(parent=self.group_viga_areas_aco) + self.label_viga_as_total.setGeometry(QtCore.QRect(21, 140, 91, 21)) + self.label_viga_as_total.setObjectName("label_viga_as_total") + self.ledit_viga_as_total = QtWidgets.QLineEdit(parent=self.group_viga_areas_aco) + self.ledit_viga_as_total.setGeometry(QtCore.QRect(150, 140, 91, 20)) + self.ledit_viga_as_total.setObjectName("ledit_viga_as_total") + self.ledit_viga_momento_limite = QtWidgets.QLineEdit(parent=self.group_viga_armadura_longitudinal) + self.ledit_viga_momento_limite.setGeometry(QtCore.QRect(150, 20, 100, 20)) + self.ledit_viga_momento_limite.setObjectName("ledit_viga_momento_limite") + self.label_viga_momento_limite = QtWidgets.QLabel(parent=self.group_viga_armadura_longitudinal) + self.label_viga_momento_limite.setGeometry(QtCore.QRect(10, 20, 131, 21)) + self.label_viga_momento_limite.setObjectName("label_viga_momento_limite") + self.stacked_viga_modelo_armacao.addWidget(self.page_viga_armacao_dupla) + self.page_viga_armacao_simples = QtWidgets.QWidget() + self.page_viga_armacao_simples.setObjectName("page_viga_armacao_simples") + self.group_viga_armacao_simples_dimensoes = QtWidgets.QGroupBox(parent=self.page_viga_armacao_simples) + self.group_viga_armacao_simples_dimensoes.setGeometry(QtCore.QRect(20, 180, 251, 151)) + self.group_viga_armacao_simples_dimensoes.setObjectName("group_viga_armacao_simples_dimensoes") + self.ledit_viga_armacao_simples_largura = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_dimensoes) + self.ledit_viga_armacao_simples_largura.setGeometry(QtCore.QRect(130, 30, 101, 20)) + self.ledit_viga_armacao_simples_largura.setObjectName("ledit_viga_armacao_simples_largura") + self.ledit_viga_armacao_simples_altura = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_dimensoes) + self.ledit_viga_armacao_simples_altura.setGeometry(QtCore.QRect(130, 60, 101, 20)) + self.ledit_viga_armacao_simples_altura.setObjectName("ledit_viga_armacao_simples_altura") + self.ledit_viga_armacao_simples_altura_util = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_dimensoes) + self.ledit_viga_armacao_simples_altura_util.setGeometry(QtCore.QRect(131, 90, 100, 20)) + self.ledit_viga_armacao_simples_altura_util.setObjectName("ledit_viga_armacao_simples_altura_util") + self.label_viga_armacao_simples_largura = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_dimensoes) + self.label_viga_armacao_simples_largura.setGeometry(QtCore.QRect(20, 30, 81, 16)) + self.label_viga_armacao_simples_largura.setObjectName("label_viga_armacao_simples_largura") + self.label_viga_armacao_simples_altura = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_dimensoes) + self.label_viga_armacao_simples_altura.setGeometry(QtCore.QRect(20, 60, 81, 16)) + self.label_viga_armacao_simples_altura.setObjectName("label_viga_armacao_simples_altura") + self.label_viga_armacao_simples_altura_util = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_dimensoes) + self.label_viga_armacao_simples_altura_util.setGeometry(QtCore.QRect(20, 90, 91, 16)) + self.label_viga_armacao_simples_altura_util.setObjectName("label_viga_armacao_simples_altura_util") + self.label_viga_armacao_simples_d_linha = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_dimensoes) + self.label_viga_armacao_simples_d_linha.setGeometry(QtCore.QRect(19, 120, 91, 16)) + self.label_viga_armacao_simples_d_linha.setObjectName("label_viga_armacao_simples_d_linha") + self.ledit_viga_armacao_simples_d_linha = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_dimensoes) + self.ledit_viga_armacao_simples_d_linha.setGeometry(QtCore.QRect(130, 120, 100, 20)) + self.ledit_viga_armacao_simples_d_linha.setReadOnly(True) + self.ledit_viga_armacao_simples_d_linha.setObjectName("ledit_viga_armacao_simples_d_linha") + self.group_viga_armacao_simples_secao = QtWidgets.QGroupBox(parent=self.page_viga_armacao_simples) + self.group_viga_armacao_simples_secao.setGeometry(QtCore.QRect(20, 340, 251, 141)) + self.group_viga_armacao_simples_secao.setObjectName("group_viga_armacao_simples_secao") + self.label_viga_armacao_simples_secao = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_secao) + self.label_viga_armacao_simples_secao.setGeometry(QtCore.QRect(70, 6, 111, 131)) + self.label_viga_armacao_simples_secao.setText("") + self.label_viga_armacao_simples_secao.setPixmap(QtGui.QPixmap("d:\\Python\\Navier\\app\\secao_viga.png")) + self.label_viga_armacao_simples_secao.setScaledContents(True) + self.label_viga_armacao_simples_secao.setObjectName("label_viga_armacao_simples_secao") + self.group_viga_armacao_simples_armadura_longitudinal = QtWidgets.QGroupBox(parent=self.page_viga_armacao_simples) + self.group_viga_armacao_simples_armadura_longitudinal.setGeometry(QtCore.QRect(290, 2, 251, 351)) + self.group_viga_armacao_simples_armadura_longitudinal.setObjectName("group_viga_armacao_simples_armadura_longitudinal") + self.label_viga_armacao_simples_md = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.label_viga_armacao_simples_md.setGeometry(QtCore.QRect(10, 20, 91, 21)) + self.label_viga_armacao_simples_md.setObjectName("label_viga_armacao_simples_md") + self.ledit_viga_armacao_simples_md = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.ledit_viga_armacao_simples_md.setGeometry(QtCore.QRect(130, 20, 111, 20)) + self.ledit_viga_armacao_simples_md.setObjectName("ledit_viga_armacao_simples_md") + self.label_viga_armacao_simples_kmd = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.label_viga_armacao_simples_kmd.setGeometry(QtCore.QRect(10, 80, 91, 21)) + self.label_viga_armacao_simples_kmd.setObjectName("label_viga_armacao_simples_kmd") + self.ledit_viga_armacao_simples_kmd = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.ledit_viga_armacao_simples_kmd.setGeometry(QtCore.QRect(130, 80, 111, 20)) + self.ledit_viga_armacao_simples_kmd.setObjectName("ledit_viga_armacao_simples_kmd") + self.label_viga_armacao_simples_kx = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.label_viga_armacao_simples_kx.setGeometry(QtCore.QRect(10, 110, 91, 21)) + self.label_viga_armacao_simples_kx.setObjectName("label_viga_armacao_simples_kx") + self.ledit_viga_armacao_simples_kx = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.ledit_viga_armacao_simples_kx.setGeometry(QtCore.QRect(130, 110, 111, 20)) + self.ledit_viga_armacao_simples_kx.setObjectName("ledit_viga_armacao_simples_kx") + self.label_viga_armacao_simples_kz = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.label_viga_armacao_simples_kz.setGeometry(QtCore.QRect(10, 140, 91, 21)) + self.label_viga_armacao_simples_kz.setObjectName("label_viga_armacao_simples_kz") + self.ledit_viga_armacao_simples_kz = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.ledit_viga_armacao_simples_kz.setGeometry(QtCore.QRect(130, 140, 111, 20)) + self.ledit_viga_armacao_simples_kz.setObjectName("ledit_viga_armacao_simples_kz") + self.group_viga_armacao_simples_areas_aco = QtWidgets.QGroupBox(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.group_viga_armacao_simples_areas_aco.setGeometry(QtCore.QRect(0, 170, 260, 181)) + self.group_viga_armacao_simples_areas_aco.setObjectName("group_viga_armacao_simples_areas_aco") + self.ledit_viga_armacao_simples_as = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_areas_aco) + self.ledit_viga_armacao_simples_as.setGeometry(QtCore.QRect(150, 30, 91, 20)) + self.ledit_viga_armacao_simples_as.setObjectName("ledit_viga_armacao_simples_as") + self.label_viga_armacao_simples_as = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_areas_aco) + self.label_viga_armacao_simples_as.setGeometry(QtCore.QRect(20, 30, 91, 21)) + self.label_viga_armacao_simples_as.setObjectName("label_viga_armacao_simples_as") + self.label_viga_armacao_simples_area_sobre_apoio = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_areas_aco) + self.label_viga_armacao_simples_area_sobre_apoio.setGeometry(QtCore.QRect(20, 60, 121, 21)) + self.label_viga_armacao_simples_area_sobre_apoio.setObjectName("label_viga_armacao_simples_area_sobre_apoio") + self.ledit_viga_armacao_simples_area_sobre_apoio = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_areas_aco) + self.ledit_viga_armacao_simples_area_sobre_apoio.setGeometry(QtCore.QRect(150, 60, 91, 20)) + self.ledit_viga_armacao_simples_area_sobre_apoio.setObjectName("ledit_viga_armacao_simples_area_sobre_apoio") + self.ledit_viga_armacao_simples_as_pele = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_areas_aco) + self.ledit_viga_armacao_simples_as_pele.setGeometry(QtCore.QRect(150, 90, 91, 20)) + self.ledit_viga_armacao_simples_as_pele.setObjectName("ledit_viga_armacao_simples_as_pele") + self.label_viga_armacao_simples_as_pele = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_areas_aco) + self.label_viga_armacao_simples_as_pele.setGeometry(QtCore.QRect(20, 90, 91, 21)) + self.label_viga_armacao_simples_as_pele.setObjectName("label_viga_armacao_simples_as_pele") + self.label_viga_armacao_simples_as_max = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_areas_aco) + self.label_viga_armacao_simples_as_max.setGeometry(QtCore.QRect(21, 120, 91, 21)) + self.label_viga_armacao_simples_as_max.setObjectName("label_viga_armacao_simples_as_max") + self.ledit_viga_armacao_simples_as_max = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_areas_aco) + self.ledit_viga_armacao_simples_as_max.setGeometry(QtCore.QRect(150, 120, 91, 20)) + self.ledit_viga_armacao_simples_as_max.setObjectName("ledit_viga_armacao_simples_as_max") + self.ledit_viga_armacao_simples_as_min = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_areas_aco) + self.ledit_viga_armacao_simples_as_min.setGeometry(QtCore.QRect(150, 150, 91, 20)) + self.ledit_viga_armacao_simples_as_min.setObjectName("ledit_viga_armacao_simples_as_min") + self.label_viga_armacao_simples_as_min = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_areas_aco) + self.label_viga_armacao_simples_as_min.setGeometry(QtCore.QRect(20, 150, 91, 21)) + self.label_viga_armacao_simples_as_min.setObjectName("label_viga_armacao_simples_as_min") + self.ledit_viga_armacao_simples_dominio_ruptura = QtWidgets.QLineEdit(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.ledit_viga_armacao_simples_dominio_ruptura.setGeometry(QtCore.QRect(130, 50, 111, 20)) + self.ledit_viga_armacao_simples_dominio_ruptura.setObjectName("ledit_viga_armacao_simples_dominio_ruptura") + self.label_viga_armacao_simples_dominio_ruptura = QtWidgets.QLabel(parent=self.group_viga_armacao_simples_armadura_longitudinal) + self.label_viga_armacao_simples_dominio_ruptura.setGeometry(QtCore.QRect(10, 50, 111, 21)) + self.label_viga_armacao_simples_dominio_ruptura.setObjectName("label_viga_armacao_simples_dominio_ruptura") + self.stacked_viga_modelo_armacao.addWidget(self.page_viga_armacao_simples) + self.btn_viga_armacao_simples = QtWidgets.QPushButton(parent=self.tab_viga_retangular) + self.btn_viga_armacao_simples.setGeometry(QtCore.QRect(540, 10, 131, 23)) + self.btn_viga_armacao_simples.setObjectName("btn_viga_armacao_simples") + self.btn_viga_armacao_dupla = QtWidgets.QPushButton(parent=self.tab_viga_retangular) + self.btn_viga_armacao_dupla.setGeometry(QtCore.QRect(690, 10, 141, 23)) + self.btn_viga_armacao_dupla.setObjectName("btn_viga_armacao_dupla") + self.group_viga_solicitacoes = QtWidgets.QGroupBox(parent=self.tab_viga_retangular) + self.group_viga_solicitacoes.setGeometry(QtCore.QRect(20, 130, 251, 81)) + self.group_viga_solicitacoes.setObjectName("group_viga_solicitacoes") + self.ledit_viga_momento_fletor = QtWidgets.QLineEdit(parent=self.group_viga_solicitacoes) + self.ledit_viga_momento_fletor.setGeometry(QtCore.QRect(150, 20, 81, 20)) + self.ledit_viga_momento_fletor.setObjectName("ledit_viga_momento_fletor") + self.ledit_viga_cortante = QtWidgets.QLineEdit(parent=self.group_viga_solicitacoes) + self.ledit_viga_cortante.setGeometry(QtCore.QRect(150, 50, 81, 20)) + self.ledit_viga_cortante.setObjectName("ledit_viga_cortante") + self.label_viga_momento_fletor = QtWidgets.QLabel(parent=self.group_viga_solicitacoes) + self.label_viga_momento_fletor.setGeometry(QtCore.QRect(20, 20, 141, 20)) + self.label_viga_momento_fletor.setObjectName("label_viga_momento_fletor") + self.label_viga_cortante = QtWidgets.QLabel(parent=self.group_viga_solicitacoes) + self.label_viga_cortante.setGeometry(QtCore.QRect(20, 49, 111, 21)) + self.label_viga_cortante.setObjectName("label_viga_cortante") + self.group_viga_materiais = QtWidgets.QGroupBox(parent=self.tab_viga_retangular) + self.group_viga_materiais.setGeometry(QtCore.QRect(20, 40, 251, 81)) + self.group_viga_materiais.setObjectName("group_viga_materiais") + self.label_viga_concreto_fck = QtWidgets.QLabel(parent=self.group_viga_materiais) + self.label_viga_concreto_fck.setGeometry(QtCore.QRect(20, 20, 121, 20)) + self.label_viga_concreto_fck.setObjectName("label_viga_concreto_fck") + self.combo_viga_concreto_fck = QtWidgets.QComboBox(parent=self.group_viga_materiais) + self.combo_viga_concreto_fck.setGeometry(QtCore.QRect(150, 20, 81, 22)) + self.combo_viga_concreto_fck.setObjectName("combo_viga_concreto_fck") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_concreto_fck.addItem("") + self.combo_viga_aco_classe = QtWidgets.QComboBox(parent=self.group_viga_materiais) + self.combo_viga_aco_classe.setGeometry(QtCore.QRect(150, 50, 81, 22)) + self.combo_viga_aco_classe.setObjectName("combo_viga_aco_classe") + self.combo_viga_aco_classe.addItem("") + self.combo_viga_aco_classe.addItem("") + self.combo_viga_aco_classe.addItem("") + self.label_viga_aco_classe = QtWidgets.QLabel(parent=self.group_viga_materiais) + self.label_viga_aco_classe.setGeometry(QtCore.QRect(20, 50, 121, 20)) + self.label_viga_aco_classe.setObjectName("label_viga_aco_classe") + self.group_viga_armacao_transversal = QtWidgets.QGroupBox(parent=self.tab_viga_retangular) + self.group_viga_armacao_transversal.setGeometry(QtCore.QRect(570, 40, 261, 471)) + self.group_viga_armacao_transversal.setObjectName("group_viga_armacao_transversal") + self.group_viga_armacao_modelo_calculo = QtWidgets.QGroupBox(parent=self.group_viga_armacao_transversal) + self.group_viga_armacao_modelo_calculo.setGeometry(QtCore.QRect(0, 140, 271, 91)) + self.group_viga_armacao_modelo_calculo.setObjectName("group_viga_armacao_modelo_calculo") + self.radio_viga_modelo_calculo_1 = QtWidgets.QRadioButton(parent=self.group_viga_armacao_modelo_calculo) + self.radio_viga_modelo_calculo_1.setGeometry(QtCore.QRect(20, 20, 211, 21)) + self.radio_viga_modelo_calculo_1.setChecked(True) + self.radio_viga_modelo_calculo_1.setObjectName("radio_viga_modelo_calculo_1") + self.radio_viga_modelo_calculo_2 = QtWidgets.QRadioButton(parent=self.group_viga_armacao_modelo_calculo) + self.radio_viga_modelo_calculo_2.setGeometry(QtCore.QRect(20, 40, 221, 21)) + self.radio_viga_modelo_calculo_2.setObjectName("radio_viga_modelo_calculo_2") + self.spin_viga_angulo_theta = QtWidgets.QSpinBox(parent=self.group_viga_armacao_modelo_calculo) + self.spin_viga_angulo_theta.setGeometry(QtCore.QRect(170, 60, 42, 22)) + self.spin_viga_angulo_theta.setMinimum(30) + self.spin_viga_angulo_theta.setMaximum(45) + self.spin_viga_angulo_theta.setObjectName("spin_viga_angulo_theta") + self.label_viga_angulo_theta = QtWidgets.QLabel(parent=self.group_viga_armacao_modelo_calculo) + self.label_viga_angulo_theta.setGeometry(QtCore.QRect(140, 60, 47, 21)) + self.label_viga_angulo_theta.setObjectName("label_viga_angulo_theta") + self.label_32 = QtWidgets.QLabel(parent=self.group_viga_armacao_transversal) + self.label_32.setGeometry(QtCore.QRect(30, 20, 221, 131)) + self.label_32.setText("") + self.label_32.setPixmap(QtGui.QPixmap("d:\\Python\\Navier\\app\\esquema_bielas.png")) + self.label_32.setScaledContents(True) + self.label_32.setObjectName("label_32") + self.label_viga_vsd = QtWidgets.QLabel(parent=self.group_viga_armacao_transversal) + self.label_viga_vsd.setGeometry(QtCore.QRect(30, 240, 47, 16)) + self.label_viga_vsd.setObjectName("label_viga_vsd") + self.ledit_viga_vsd = QtWidgets.QLineEdit(parent=self.group_viga_armacao_transversal) + self.ledit_viga_vsd.setGeometry(QtCore.QRect(110, 240, 113, 20)) + self.ledit_viga_vsd.setObjectName("ledit_viga_vsd") + self.label_viga_vrd2 = QtWidgets.QLabel(parent=self.group_viga_armacao_transversal) + self.label_viga_vrd2.setGeometry(QtCore.QRect(30, 270, 47, 16)) + self.label_viga_vrd2.setObjectName("label_viga_vrd2") + self.ledit_viga_vrd2 = QtWidgets.QLineEdit(parent=self.group_viga_armacao_transversal) + self.ledit_viga_vrd2.setGeometry(QtCore.QRect(110, 270, 113, 20)) + self.ledit_viga_vrd2.setText("") + self.ledit_viga_vrd2.setObjectName("ledit_viga_vrd2") + self.ledit_viga_vc = QtWidgets.QLineEdit(parent=self.group_viga_armacao_transversal) + self.ledit_viga_vc.setGeometry(QtCore.QRect(110, 300, 113, 20)) + self.ledit_viga_vc.setText("") + self.ledit_viga_vc.setObjectName("ledit_viga_vc") + self.label_viga_vc = QtWidgets.QLabel(parent=self.group_viga_armacao_transversal) + self.label_viga_vc.setGeometry(QtCore.QRect(30, 300, 47, 16)) + self.label_viga_vc.setObjectName("label_viga_vc") + self.label_viga_vsw = QtWidgets.QLabel(parent=self.group_viga_armacao_transversal) + self.label_viga_vsw.setGeometry(QtCore.QRect(30, 330, 47, 16)) + self.label_viga_vsw.setObjectName("label_viga_vsw") + self.ledit_viga_vsw = QtWidgets.QLineEdit(parent=self.group_viga_armacao_transversal) + self.ledit_viga_vsw.setGeometry(QtCore.QRect(110, 330, 113, 20)) + self.ledit_viga_vsw.setText("") + self.ledit_viga_vsw.setObjectName("ledit_viga_vsw") + self.group_viga_area_aco = QtWidgets.QGroupBox(parent=self.group_viga_armacao_transversal) + self.group_viga_area_aco.setGeometry(QtCore.QRect(0, 360, 270, 81)) + self.group_viga_area_aco.setObjectName("group_viga_area_aco") + self.ledit_viga_as_s = QtWidgets.QLineEdit(parent=self.group_viga_area_aco) + self.ledit_viga_as_s.setGeometry(QtCore.QRect(122, 20, 101, 20)) + self.ledit_viga_as_s.setText("") + self.ledit_viga_as_s.setObjectName("ledit_viga_as_s") + self.label_viga_as_s = QtWidgets.QLabel(parent=self.group_viga_area_aco) + self.label_viga_as_s.setGeometry(QtCore.QRect(10, 20, 81, 16)) + self.label_viga_as_s.setObjectName("label_viga_as_s") + self.ledit_viga_as_min_s = QtWidgets.QLineEdit(parent=self.group_viga_area_aco) + self.ledit_viga_as_min_s.setGeometry(QtCore.QRect(122, 50, 101, 20)) + self.ledit_viga_as_min_s.setText("") + self.ledit_viga_as_min_s.setObjectName("ledit_viga_as_min_s") + self.label_viga_as_min_s = QtWidgets.QLabel(parent=self.group_viga_area_aco) + self.label_viga_as_min_s.setGeometry(QtCore.QRect(10, 50, 101, 16)) + self.label_viga_as_min_s.setObjectName("label_viga_as_min_s") + self.btn_viga_gerar_detalhamento = QtWidgets.QPushButton(parent=self.group_viga_armacao_transversal) + self.btn_viga_gerar_detalhamento.setGeometry(QtCore.QRect(127, 447, 121, 20)) + self.btn_viga_gerar_detalhamento.setObjectName("btn_viga_gerar_detalhamento") + self.btn_viga_calcular = QtWidgets.QPushButton(parent=self.tab_viga_retangular) + self.btn_viga_calcular.setGeometry(QtCore.QRect(660, 520, 75, 23)) + self.btn_viga_calcular.setObjectName("btn_viga_calcular") + self.btn_viga_limpar = QtWidgets.QPushButton(parent=self.tab_viga_retangular) + self.btn_viga_limpar.setGeometry(QtCore.QRect(750, 520, 75, 23)) + self.btn_viga_limpar.setObjectName("btn_viga_limpar") + self.tabWidget.addTab(self.tab_viga_retangular, "") + self.label_45 = QtWidgets.QLabel(parent=self.centralwidget) + self.label_45.setGeometry(QtCore.QRect(720, 0, 6, 16)) + self.label_45.setText("") + self.label_45.setPixmap(QtGui.QPixmap("d:\\Python\\Navier\\app\\navier_logo_mini_alt.png")) + self.label_45.setObjectName("label_45") + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 871, 22)) + self.menubar.setObjectName("menubar") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + + self.retranslateUi(MainWindow) + self.tabWidget.setCurrentIndex(0) + self.stacked_viga_modelo_armacao.setCurrentIndex(0) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) + self.group_viga_armacao_dupla_dimensoes.setTitle(_translate("MainWindow", "Dimensões")) + self.ledit_viga_armacao_dupla_lagura.setText(_translate("MainWindow", "0")) + self.ledit_viga_armacao_dupla_altura.setText(_translate("MainWindow", "0")) + self.ledit_viga_armacao_dupla_altura_util.setText(_translate("MainWindow", "0")) + self.label_viga_armacao_dupla_largura.setText(_translate("MainWindow", "Largura - bw [cm]")) + self.label_viga_armacao_dupla_altura.setText(_translate("MainWindow", "Altura - h [cm]")) + self.label_viga_armacao_dupla_altura_util.setText(_translate("MainWindow", "Altura Útil - d [cm]")) + self.group_viga_armacao_dupla_dominio.setTitle(_translate("MainWindow", "Projeção de Domínio")) + self.radio_viga_dominio_3.setText(_translate("MainWindow", "Domínio 3")) + self.radio_viga_dominio_2.setText(_translate("MainWindow", "Domínio 2")) + self.label_viga_linha_neutra.setText(_translate("MainWindow", "Linha Neutra ξ ")) + self.ledit_viga_linha_neutra.setText(_translate("MainWindow", "0.450")) + self.label_viga_d_limite.setText(_translate("MainWindow", "d limite [m]")) + self.label_viga_armacao_dupla_x_limite.setText(_translate("MainWindow", "X-limite [m]")) + self.label_viga_armacao_dupla_d_linha.setText(_translate("MainWindow", " d\' [cm]")) + self.ledit_viga_armacao_dupla_d_linha.setText(_translate("MainWindow", "0")) + self.group_viga_armacao_dupla_secao.setTitle(_translate("MainWindow", "Seção")) + self.group_viga_armadura_longitudinal.setTitle(_translate("MainWindow", "Armadura Longitudinal")) + self.label_viga_momento_2.setText(_translate("MainWindow", "Momento2 [KN.m]")) + self.group_viga_areas_aco.setTitle(_translate("MainWindow", "Áreas de Aço")) + self.label_viga_as_compressao.setText(_translate("MainWindow", "As Compressão [mm²]")) + self.label_viga_area_sobre_apoio.setText(_translate("MainWindow", "Asobre-apoio [mm²]")) + self.label_viga_as_pele.setText(_translate("MainWindow", "As.pele [mm²]")) + self.label_viga_as_max.setText(_translate("MainWindow", "As.máx [mm²]")) + self.label_viga_as_tracao.setText(_translate("MainWindow", "As Tração [mm²]")) + self.label_viga_as_min.setText(_translate("MainWindow", "As.mín [mm²]")) + self.label_viga_as_total.setText(_translate("MainWindow", "As.total [mm²]")) + self.label_viga_momento_limite.setText(_translate("MainWindow", "Momento-limite [KN.m]")) + self.group_viga_armacao_simples_dimensoes.setTitle(_translate("MainWindow", "Dimensões")) + self.ledit_viga_armacao_simples_largura.setText(_translate("MainWindow", "0")) + self.ledit_viga_armacao_simples_altura.setText(_translate("MainWindow", "0")) + self.ledit_viga_armacao_simples_altura_util.setText(_translate("MainWindow", "0")) + self.label_viga_armacao_simples_largura.setText(_translate("MainWindow", "Base - bw [cm]")) + self.label_viga_armacao_simples_altura.setText(_translate("MainWindow", "Altura - h [cm]")) + self.label_viga_armacao_simples_altura_util.setText(_translate("MainWindow", "Altura Útil - d [cm]")) + self.label_viga_armacao_simples_d_linha.setText(_translate("MainWindow", " d\' [cm] ")) + self.ledit_viga_armacao_simples_d_linha.setText(_translate("MainWindow", "0")) + self.group_viga_armacao_simples_secao.setTitle(_translate("MainWindow", "Seção")) + self.group_viga_armacao_simples_armadura_longitudinal.setTitle(_translate("MainWindow", "Armadura Longitudinal")) + self.label_viga_armacao_simples_md.setText(_translate("MainWindow", "Md [KN.m]")) + self.label_viga_armacao_simples_kmd.setText(_translate("MainWindow", "Kmd")) + self.label_viga_armacao_simples_kx.setText(_translate("MainWindow", "Kx")) + self.label_viga_armacao_simples_kz.setText(_translate("MainWindow", "Kz")) + self.group_viga_armacao_simples_areas_aco.setTitle(_translate("MainWindow", "Áreas de Aço")) + self.label_viga_armacao_simples_as.setText(_translate("MainWindow", "As [mm²]")) + self.label_viga_armacao_simples_area_sobre_apoio.setText(_translate("MainWindow", "Asobre-apoio [mm²]")) + self.label_viga_armacao_simples_as_pele.setText(_translate("MainWindow", "As.pele [mm²]")) + self.label_viga_armacao_simples_as_max.setText(_translate("MainWindow", "As.máx [mm²]")) + self.label_viga_armacao_simples_as_min.setText(_translate("MainWindow", "As.mín [mm²]")) + self.label_viga_armacao_simples_dominio_ruptura.setText(_translate("MainWindow", "Domínio de Ruptura:")) + self.btn_viga_armacao_simples.setText(_translate("MainWindow", "Simplesmente Armada")) + self.btn_viga_armacao_dupla.setText(_translate("MainWindow", "Duplamente Armada")) + self.group_viga_solicitacoes.setTitle(_translate("MainWindow", "Solicitações")) + self.ledit_viga_momento_fletor.setText(_translate("MainWindow", "0")) + self.ledit_viga_cortante.setText(_translate("MainWindow", "0")) + self.label_viga_momento_fletor.setText(_translate("MainWindow", "Momento Fletor [KN.m]")) + self.label_viga_cortante.setText(_translate("MainWindow", "Cortante [KN]")) + self.group_viga_materiais.setTitle(_translate("MainWindow", "Concreto")) + self.label_viga_concreto_fck.setText(_translate("MainWindow", "Resistência - fck [MPa]")) + self.combo_viga_concreto_fck.setItemText(0, _translate("MainWindow", "20")) + self.combo_viga_concreto_fck.setItemText(1, _translate("MainWindow", "25")) + self.combo_viga_concreto_fck.setItemText(2, _translate("MainWindow", "30")) + self.combo_viga_concreto_fck.setItemText(3, _translate("MainWindow", "35")) + self.combo_viga_concreto_fck.setItemText(4, _translate("MainWindow", "40")) + self.combo_viga_concreto_fck.setItemText(5, _translate("MainWindow", "45")) + self.combo_viga_concreto_fck.setItemText(6, _translate("MainWindow", "50")) + self.combo_viga_aco_classe.setItemText(0, _translate("MainWindow", "250")) + self.combo_viga_aco_classe.setItemText(1, _translate("MainWindow", "500")) + self.combo_viga_aco_classe.setItemText(2, _translate("MainWindow", "600")) + self.label_viga_aco_classe.setText(_translate("MainWindow", "Tipo de Aço - CA")) + self.group_viga_armacao_transversal.setTitle(_translate("MainWindow", "Armadura Transversal")) + self.group_viga_armacao_modelo_calculo.setTitle(_translate("MainWindow", "Modelo de Cálculo")) + self.radio_viga_modelo_calculo_1.setText(_translate("MainWindow", "Modelo I - α = 90º e θ = 45º")) + self.radio_viga_modelo_calculo_2.setText(_translate("MainWindow", "Modelo II - α = 90º e 30º < θ < 45º")) + self.label_viga_angulo_theta.setText(_translate("MainWindow", " θ :")) + self.label_viga_vsd.setText(_translate("MainWindow", "Vsd [KN]")) + self.label_viga_vrd2.setText(_translate("MainWindow", "Vrd2 [KN]")) + self.label_viga_vc.setText(_translate("MainWindow", "Vc [KN]")) + self.label_viga_vsw.setText(_translate("MainWindow", "Vsw[KN]")) + self.group_viga_area_aco.setTitle(_translate("MainWindow", "Área de Aço")) + self.label_viga_as_s.setText(_translate("MainWindow", "As/s [mm²/m]")) + self.label_viga_as_min_s.setText(_translate("MainWindow", "As.min/s [mm²/m]")) + self.btn_viga_gerar_detalhamento.setText(_translate("MainWindow", "Gerar Detalhamento")) + self.btn_viga_calcular.setText(_translate("MainWindow", "Calcular")) + self.btn_viga_limpar.setText(_translate("MainWindow", "Limpar")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_viga_retangular), _translate("MainWindow", "Seção Retangular")) From 280edfd12f2fecbe622a9d8880a1f109eb14fa5f Mon Sep 17 00:00:00 2001 From: Vivian Giulia Fernandes Date: Sat, 18 Oct 2025 12:41:20 -0300 Subject: [PATCH 4/4] docs: add legal attribution and clear fork notice --- LEGAL.md | 16 ++++++++++++++++ README.md | 11 ++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 LEGAL.md diff --git a/LEGAL.md b/LEGAL.md new file mode 100644 index 0000000..fb9a261 --- /dev/null +++ b/LEGAL.md @@ -0,0 +1,16 @@ +# Aviso Legal - Fork de Navier + +## Direitos Autorais +- **Projeto Original**: [Anderson3/Navier](https://github.com/Anderson3/Navier) +- **Autor Original**: Anderson3 +- **Direitos**: Todos os direitos do código original pertencem ao autor Anderson3 + +## Propósito deste Fork +Este fork foi criado para: +- Manter o projeto atualizado +- Corrigir issues e bugs +- Adicionar novas funcionalidades +- Enviar melhorias via Pull Request para o projeto original + +## Status +Aguardando resposta do autor original para coordenação de contribuições. \ No newline at end of file diff --git a/README.md b/README.md index 1b470fa..79312f9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,12 @@ -# Navier -Software de cálculo de peças de concreto armado, baseado na NBR 6118/14. Desenvolvido com Python 3.7 + PyQt5. +# Navier - Fork de Contribuição -![image](https://user-images.githubusercontent.com/17939997/70842933-d2987580-1e08-11ea-824c-51b98e1c73d8.png) +> **⚠️ AVISO LEGAL**: Este é um fork do projeto original [Anderson3/Navier](https://github.com/Anderson3/Navier). +> Todos os direitos do código original pertencem a Anderson3. +> Este fork tem fins de manutenção, atualização e contribuição para o projeto original. + +**Fork mantido por [viviangiulia](https://github.com/viviangiulia)** + +--- ## Pequena Descrição O Navier é um programa desenvolvido em Python com finalidade de produzir dados de dimensionamento de peças de Concreto Armado. Essa aplicação com finalidade para Desktops permite calcular Vigas, Pilares, Lajes e Sapatas analisando as peças de manaira isolada. Cada elemento estrutural é tratado no programa como um módulo de cálculo interno. O Navier se baseia nas condições normativas brasileiras de Concreto Armado, principalmente respaldadas através da ABNT NBR 6118/14.