diff --git a/app/src/pages/PiperackModule.tsx b/app/src/pages/PiperackModule.tsx index 11212b4..c7db9d7 100644 --- a/app/src/pages/PiperackModule.tsx +++ b/app/src/pages/PiperackModule.tsx @@ -115,9 +115,108 @@ const PiperackModule: React.FC = () => { -
- {/* Painel Esquerdo: 3D */} -
+
+ + {/* Coluna Esquerda: Entradas */} +
+
+

Geometria da Estrutura

+
+
+
+ Largura (b) + {width} m +
+ setWidth(v[0])} /> +
+
+
+ Altura do pórtico (h) + {height} m +
+ setHeight(v[0])} /> +
+
+
+ Elevação (z) + {elevation} m +
+ setElevation(v[0])} /> +
+
+
+ Espaçamento (e) + {spacing} m +
+ setSpacing(v[0])} /> +
+
+
+ Número de Pórticos (n) + {numFrames} +
+ setNumFrames(v[0])} /> +
+
+
+
+ Índice de Solidez (φ str) + + + + + + +

O índice de solidez (φ) representa a relação entre a área efetivamente bloqueada pelos perfis do reticulado e a área total contornada pelo pórtico. Quanto mais "fechado" for o pórtico estrutural, maior o arrasto aerodinâmico (ref. Tabela 28 da NBR 6123).

+
+
+
+
+ {phiStruct.toFixed(2)} +
+ setPhiStruct(v[0])} /> +
+
+
+ +
+
+

Tubulações (Bloqueio)

+ +
+ + {pipes.length === 0 ? ( +
+ Nenhuma tubulação adicionada. +
+ ) : ( +
+ {pipes.map((pipe, index) => ( +
+ + updatePipe(pipe.id, Number(e.target.value))} + step={0.1} + min={0.1} + className="h-7 text-xs font-mono" + /> + m + +
+ ))} +
+ )} +
+
+ + {/* Coluna Central: 3D */} +
{ />
- {/* Painel Direito: Controles */} -
-
- - - - Forças Calculadas - {result.globalForce.toFixed(1)} kN (Global) - - - -
- φ efetivo - {result.phiTotal.toFixed(2)} -
-
- Ca frontal (Tab. 26 adaptada) - {result.caFrontal.toFixed(2)} -
-
- Fator η (Tab. 28) - {result.eta.toFixed(2)} -
-
- Carga Pórtico 1 - {result.linearLoadFront.toFixed(2)} kN/m -
-
- Carga Pórticos {numFrames > 1 ? `2 a ${numFrames}` : '-'} - {result.linearLoadBack.toFixed(2)} kN/m -
- -
-

Reações Simplificadas nas Bases

-
+ {/* Coluna Direita: Resultados */} +
+ + + + Forças Calculadas + {result.globalForce.toFixed(1)} kN (Global) + + + +
+ φ efetivo + {result.phiTotal.toFixed(2)} +
+
+ Ca frontal (Tab. 26 adaptada) + {result.caFrontal.toFixed(2)} +
+
+ Fator η (Tab. 28) + {result.eta.toFixed(2)} +
+
+ Carga Pórtico 1 + {result.linearLoadFront.toFixed(2)} kN/m +
+
+ Carga Pórticos {numFrames > 1 ? `2 a ${numFrames}` : '-'} + {result.linearLoadBack.toFixed(2)} kN/m +
+ +
+

Reações Simplificadas nas Bases

+
+ + + - - - - - C1 (Barlavento) - - Tração + + C1 (Barlavento) + + Tração - - C2 (Sotavento) - - Comp. + + C2 (Sotavento) + + Comp. - - - - Vento (F) - - - - - - - - - - - - - + + + + Vento (F) + + + + + + + + + + + + + -
+
+
+
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ó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
+
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
- {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
-
- )} -
-
-
- - - -
-
-

Geometria da Estrutura

-
-
-
- Largura (b) - {width} m -
- setWidth(v[0])} /> -
-
-
- Altura do pórtico (h) - {height} m -
- setHeight(v[0])} /> -
-
-
- Elevação (z) - {elevation} m -
- setElevation(v[0])} /> -
-
-
- Espaçamento (e) - {spacing} m -
- setSpacing(v[0])} /> -
-
-
- Número de Pórticos (n) - {numFrames} -
- setNumFrames(v[0])} /> -
-
-
-
- Índice de Solidez (φ str) - - - - - - -

O índice de solidez (φ) representa a relação entre a área efetivamente bloqueada pelos perfis do reticulado e a área total contornada pelo pórtico. Quanto mais "fechado" for o pórtico estrutural, maior o arrasto aerodinâmico (ref. Tabela 28 da NBR 6123).

-
-
-
-
- {phiStruct.toFixed(2)} -
- setPhiStruct(v[0])} /> + )}
- -
-
-

Tubulações (Bloqueio)

- -
- - {pipes.length === 0 ? ( -
- Nenhuma tubulação adicionada. -
- ) : ( -
- {pipes.map((pipe, index) => ( -
- - updatePipe(pipe.id, Number(e.target.value))} - step={0.1} - min={0.1} - className="h-7 text-xs font-mono" - /> - m - -
- ))} -
- )} -
-
- - -
+
+
+ +