From dc764d8c39c259a4e5aeb25ca22c7d5f3a959fc6 Mon Sep 17 00:00:00 2001 From: Marcos Date: Mon, 13 Jul 2026 18:50:57 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Auto-deploy:=20BrainWind=20atual?= =?UTF-8?q?izado=20em=2013/07/2026=2018:50:57?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/pages/PiperackModule.tsx | 76 +++++++++++++++++++------------- 1 file changed, 45 insertions(+), 31 deletions(-) diff --git a/app/src/pages/PiperackModule.tsx b/app/src/pages/PiperackModule.tsx index cc88542..3baf4b0 100644 --- a/app/src/pages/PiperackModule.tsx +++ b/app/src/pages/PiperackModule.tsx @@ -73,24 +73,23 @@ const PiperackModule: React.FC = () => { ], }, { - title: 'Forças e Cargas', + title: 'Forças e Momentos Globais', type: 'grid', gridItems: [ { label: 'Carga Linear Pórtico Frontal', value: `${result.linearLoadFront.toFixed(2)} kN/m` }, - { label: 'Carga Linear Pórtico Traseiros (cada)', value: `${result.linearLoadBack.toFixed(2)} kN/m` }, + { label: 'Carga Linear Pórticos Traseiros (cada)', value: `${result.linearLoadBack.toFixed(2)} kN/m` }, { label: 'Força Global Total', value: `${result.globalForce.toFixed(2)} kN` }, + { label: 'Momento Total de Tombamento', value: `${(result.linearLoadFront * width * elevation + (numFrames > 1 ? (numFrames - 1) * result.linearLoadBack * width * elevation : 0)).toFixed(2)} kN·m` }, ], }, { - title: 'Reações Simplificadas na Base (Binário de Tombamento)', + title: 'Reações Globais Simplificadas (Ação de Conjunto)', type: 'grid', - gridItems: [ - { label: 'Pórtico Frontal - Momento (M)', value: `${(result.linearLoadFront * width * elevation).toFixed(2)} kN·m` }, - { label: 'Pórtico Frontal - C1 (Tração) / C2 (Compressão)', value: `±${((result.linearLoadFront * width * elevation) / spacing).toFixed(2)} kN` }, - ...(numFrames > 1 ? [ - { label: 'Pórtico Traseiro - Momento (M)', value: `${(result.linearLoadBack * width * elevation).toFixed(2)} kN·m` }, - { label: 'Pórtico Traseiro - C1 (Tração) / C2 (Compressão)', value: `±${((result.linearLoadBack * width * elevation) / spacing).toFixed(2)} kN` }, - ] : []) + gridItems: numFrames > 1 ? [ + { label: 'Braço de Alavanca Total (L)', value: `${((numFrames - 1) * spacing).toFixed(2)} m` }, + { label: `Reação nas Extremidades (C1 / C${numFrames})`, value: `±${((result.linearLoadFront * width * elevation + (numFrames - 1) * result.linearLoadBack * width * elevation) / ((numFrames - 1) * spacing)).toFixed(2)} kN` }, + ] : [ + { label: 'Momento Fletor na Base (Pórtico Único)', value: `${(result.linearLoadFront * width * elevation).toFixed(2)} kN·m` } ], } ]; @@ -259,12 +258,20 @@ const PiperackModule: React.FC = () => { Carga Pórticos {numFrames > 1 ? `2 a ${numFrames}` : '-'} {result.linearLoadBack.toFixed(2)} kN/m - -
-

Reações Simplificadas (Vista Lateral)

-
+ + {(() => { + const mFrontal = result.linearLoadFront * width * elevation; + const mTraseiro = numFrames > 1 ? result.linearLoadBack * width * elevation : 0; + const mTotal = mFrontal + (numFrames - 1) * mTraseiro; + const braco = (numFrames - 1) * spacing; + const reacaoGlobal = braco > 0 ? mTotal / braco : 0; - + return ( +
+

Reações Simplificadas (Vista Lateral)

+
+ + {/* Linha do chão */} @@ -354,24 +361,31 @@ const PiperackModule: React.FC = () => { -
-
-
Pórtico Frontal
-
F (Transv.): {(result.linearLoadFront * width).toFixed(2)} kN
-
Momento: {(result.linearLoadFront * width * elevation).toFixed(2)} kN·m
-
Reação (C1/C2): ±{((result.linearLoadFront * width * elevation) / spacing).toFixed(2)} kN
-
- {numFrames > 1 && ( -
-
Pórticos Traseiros
-
F (Transv.): {(result.linearLoadBack * width).toFixed(2)} kN
-
Momento: {(result.linearLoadBack * width * elevation).toFixed(2)} kN·m
-
Reação (C1/C2): ±{((result.linearLoadBack * width * elevation) / spacing).toFixed(2)} kN
+
+
+
Forças e Momentos
+
F. Frontal: {(result.linearLoadFront * width).toFixed(2)} kN
+ {numFrames > 1 &&
F. Traseiros (Total): {((numFrames - 1) * result.linearLoadBack * width).toFixed(2)} kN
} +
Momento Global: {mTotal.toFixed(2)} kN·m
+
+
+
Reações Globais (Conjunto)
+ {numFrames > 1 ? ( + <> +
Alavanca Total (L): {braco.toFixed(2)} m
+
Reação (C1/C{numFrames}): ±{reacaoGlobal.toFixed(2)} kN
+ + ) : ( +
+ Pórtico único. O momento de {mTotal.toFixed(2)} kN·m é absorvido como momento fletor engastado nas bases das colunas. +
+ )} +
- )} +
-
-
+ ); + })()}