import React from 'react'; import Warehouse3DViewer from '../components/Warehouse3D'; import Heatmap2D from '../components/Heatmap2D'; import LinearLoadsTable from '../components/LinearLoadsTable'; import SceneCapturePanel from '../components/SceneCapturePanel'; import FtoolExportCard from '../components/FtoolExportCard'; import { CpiSettingsCard } from '../components/CpiSettingsCard'; import { useGalpaoStore } from '../store/galpaoStore'; import { useWindStore } from '../store/appStore'; import { getWallCpeOfficial as getWallCpe, getRoofCpeOfficial as getRoofCpe } from '../lib/coefficients'; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@/components/ui/card'; import { Slider } from '@/components/ui/slider'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Badge } from '@/components/ui/badge'; import { Separator } from '@/components/ui/separator'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs'; import { Button } from '@/components/ui/button'; import { AlertCircle, Lightbulb, Box, Wind } from 'lucide-react'; import ExportMenu from '../components/ExportMenu'; import { EducationalManual } from '@/components/EducationalManual'; import { PressureLegend } from '@/components/PressureLegend'; import { SaveModuleDialog } from '@/components/SaveModuleDialog'; import { WindParametersSummary } from '@/components/WindParametersSummary'; import { useHydrationStore } from '@/store/hydrationStore'; const GalpaoModule: React.FC = () => { const { width, length, height, roofPitch, template, extraHeight, skirtHeight, setTemplate, setExtraHeight, setSkirtHeight, setWidth, setLength, setHeight, setRoofPitch, viewMode, setViewMode, } = useGalpaoStore(); const { q, cpi, windAngle, setWindAngle, } = useWindStore(); const pendingLoad = useHydrationStore((s) => s.pendingLoad); const clearPendingLoad = useHydrationStore((s) => s.clearPendingLoad); React.useEffect(() => { if (pendingLoad && pendingLoad.module === 'galpao') { const p = pendingLoad.inputs as any; if (p.width !== undefined) setWidth(p.width); if (p.length !== undefined) setLength(p.length); if (p.height !== undefined) setHeight(p.height); if (p.roofPitch !== undefined) setRoofPitch(p.roofPitch); clearPendingLoad(); } }, [pendingLoad, clearPendingLoad, setWidth, setLength, setHeight, setRoofPitch]); return (
A platibanda bloqueia o fluxo. Calcule os esforços nela no módulo de Muros/Placas.
Galpão aberto funciona como uma Cobertura Isolada.
Altura adicional modelada visualmente no topo.
Altura da saia fechada lateral (de cima para baixo).
Determina as proporções em planta (a/b)
usadas nas Tabelas 4 e 5 da NBR 6123.
Usado nas proporções a/b e b/a (Tabelas 4 e 5).
Importante também para o cálculo de Atrito.
Altura total. Define a proporção h/b para S₂ (Tabela 1).
Influencia nas Tabelas 4 e 5 para cálculo do Cpe.
Ângulo do telhado (Tabela 5).
Acima de 60° interpola para Cpe de paredes.
Define a face barlavento. Tabelas da NBR são lidas para 0° e 90° separadamente.