🚀 Auto-deploy: BrainWind atualizado em 13/07/2026 18:05:59
This commit is contained in:
+12
-11
@@ -9,6 +9,7 @@ import {
|
||||
getDragForce,
|
||||
} from './line-loads';
|
||||
import { getWallCpeOfficial, getRoofCpeOfficial } from './coefficients';
|
||||
import { appendKgf } from './export-generic-pdf';
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
page: {
|
||||
@@ -138,7 +139,7 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
q = 0,613 × (Vₖ)²
|
||||
</Text>
|
||||
<Text style={{ fontSize: 10, fontFamily: 'Courier', color: '#4b5563' }}>
|
||||
q = 0,613 × ({wind.vk.toFixed(2)})² = {(0.613 * Math.pow(wind.vk, 2) / 1000).toFixed(4)} kN/m²
|
||||
{appendKgf(`q = 0,613 × (${wind.vk.toFixed(2)})² = ${(0.613 * Math.pow(wind.vk, 2) / 1000).toFixed(4)} kN/m²`)}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
@@ -201,14 +202,14 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
<Text style={styles.tableCellFirst}>Elemento / Região</Text>
|
||||
<Text style={styles.tableCell}>Cpe</Text>
|
||||
<Text style={styles.tableCell}>Cpi</Text>
|
||||
<Text style={styles.tableCell}>p [kN/m²]</Text>
|
||||
<Text style={styles.tableCell}>p [kN/m² (kgf/m²)]</Text>
|
||||
</View>
|
||||
{Object.entries(wCpe).map(([face, cpeVal]) => (
|
||||
<View style={styles.tableRow} key={`wall-${face}`}>
|
||||
<Text style={styles.tableCellFirst}>Parede — {face}</Text>
|
||||
<Text style={styles.tableCell}>{(cpeVal as number).toFixed(2)}</Text>
|
||||
<Text style={styles.tableCell}>{cpi}</Text>
|
||||
<Text style={styles.tableCell}>{pressure(cpeVal as number)}</Text>
|
||||
<Text style={styles.tableCell}>{pressure(cpeVal as number)} ({(parseFloat(pressure(cpeVal as number)) * 101.9716).toFixed(1)})</Text>
|
||||
</View>
|
||||
))}
|
||||
{Object.entries(rCpe).map(([face, cpeVal]) => (
|
||||
@@ -216,7 +217,7 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
<Text style={styles.tableCellFirst}>Telhado — {face}</Text>
|
||||
<Text style={styles.tableCell}>{(cpeVal as number).toFixed(2)}</Text>
|
||||
<Text style={styles.tableCell}>{cpi}</Text>
|
||||
<Text style={styles.tableCell}>{pressure(cpeVal as number)}</Text>
|
||||
<Text style={styles.tableCell}>{pressure(cpeVal as number)} ({(parseFloat(pressure(cpeVal as number)) * 101.9716).toFixed(1)})</Text>
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
@@ -224,7 +225,7 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
|
||||
<View style={styles.section}>
|
||||
<Text style={styles.sectionTitle}>
|
||||
{secBase + 1}. Cargas Lineares (kN/m)
|
||||
{secBase + 1}. Cargas Lineares (kN/m (kgf/m))
|
||||
</Text>
|
||||
<Text style={{ fontSize: 9, marginBottom: 6 }}>
|
||||
Pórticos: {FRAME_SPACING} m | Terças: {PURLIN_SPACING} m
|
||||
@@ -234,7 +235,7 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
<View style={[styles.tableRow, styles.tableHeader]}>
|
||||
<Text style={styles.tableCellFirst}>Pilar</Text>
|
||||
<Text style={styles.tableCell}>Cpe</Text>
|
||||
<Text style={styles.tableCell}>w [kN/m]</Text>
|
||||
<Text style={styles.tableCell}>w [kN/m (kgf/m)]</Text>
|
||||
</View>
|
||||
{([
|
||||
['Barlavento', angle === 0 ? wCpe.C : wCpe.A, colLoads.windward],
|
||||
@@ -245,7 +246,7 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
<View style={styles.tableRow} key={`col-${label}`}>
|
||||
<Text style={styles.tableCellFirst}>{label}</Text>
|
||||
<Text style={styles.tableCell}>{cpeVal.toFixed(2)}</Text>
|
||||
<Text style={styles.tableCell}>{fmtSigned(w)}</Text>
|
||||
<Text style={styles.tableCell}>{fmtSigned(w)} ({fmtSigned(w * 101.9716, 1)})</Text>
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
@@ -254,20 +255,20 @@ const ReportDocument = ({ galpao, wind, sceneImage }: ReportProps) => {
|
||||
<View style={[styles.tableRow, styles.tableHeader]}>
|
||||
<Text style={styles.tableCellFirst}>Terça (Zona)</Text>
|
||||
<Text style={styles.tableCell}>Cpe</Text>
|
||||
<Text style={styles.tableCell}>w [kN/m]</Text>
|
||||
<Text style={styles.tableCell}>w [kN/m (kgf/m)]</Text>
|
||||
</View>
|
||||
{(['E', 'F', 'G', 'H', 'I', 'J'] as const).map((z) => (
|
||||
<View style={styles.tableRow} key={`roof-${z}`}>
|
||||
<Text style={styles.tableCellFirst}>{z}</Text>
|
||||
<Text style={styles.tableCell}>{rCpe[z].toFixed(2)}</Text>
|
||||
<Text style={styles.tableCell}>{fmtSigned(rLoads[z])}</Text>
|
||||
<Text style={styles.tableCell}>{fmtSigned(rLoads[z])} ({fmtSigned(rLoads[z] * 101.9716, 1)})</Text>
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
|
||||
<View style={{ marginTop: 6, fontSize: 9 }}>
|
||||
<Text>Reação global na base: <Text style={{ fontWeight: 'bold' }}>{fmtSigned(rxns.total, 3)} kN</Text></Text>
|
||||
<Text>Força de arrasto global (Cₐ): <Text style={{ fontWeight: 'bold' }}>{dForce.forceKN.toFixed(3)} kN</Text></Text>
|
||||
<Text>Reação global na base: <Text style={{ fontWeight: 'bold' }}>{fmtSigned(rxns.total, 3)} kN ({fmtSigned(rxns.total * 101.9716, 1)} kgf)</Text></Text>
|
||||
<Text>Força de arrasto global (Cₐ): <Text style={{ fontWeight: 'bold' }}>{dForce.forceKN.toFixed(3)} kN ({(dForce.forceKN * 101.9716).toFixed(1)} kgf)</Text></Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
Reference in New Issue
Block a user