VentoApp â NBR 6123:2023
Status (jul/2026): 8/8 marcos concluĂdos. 100% de cobertura da NBR 6123:2023. PrĂłximas melhorias: ver
../PROGRESS.mdseção "Roadmap pós-Marco 8".
Aplicativo para cĂĄlculo de cargas de vento conforme a norma brasileira ABNT NBR 6123:2023 â Forças devidas ao vento em edificaçÔes.
đŻ Cobertura
Implementa 100% das seçÔes e anexos normativos:
- Sec. 5 â Velocidade caracterĂstica (Vâ, Sâ, Sâ, Sâ, mudança de rugosidade)
- Sec. 6.1 â EdificaçÔes paralelepipĂ©dicas (Tabelas 6â12, excentricidade, atrito, alta turbulĂȘncia)
- Sec. 6.2 â SuperfĂcies curvas: cilindros, abĂłbadas, cĂșpulas (Tabelas 13â22)
- Sec. 6.3 â PressĂŁo interna (Cpi) â mĂ©todo simplificado + detalhado
- Sec. 6.4 â Efeitos de vizinhança (fᔄ)
- Sec. 7 â Muros, placas, coberturas isoladas (Tabelas 23â25)
- Sec. 8 â Barras prismĂĄticas, reticulados, torres (Tabelas 26â30 + Figs 12â18)
- Sec. 9 â Efeitos dinĂąmicos em estruturas alteadas, conforto humano
- Sec. 10 â Vibração por desprendimento de vĂłrtices (Vcr, Scruton)
- Sec. 11 â Ação de vento em pontes (Pse, flutter, galope)
- Anexos A, B, C â Sâ(qualquer t), Sâ(Pâ, vida Ăștil), 49 estaçÔes meteorolĂłgicas
đ Stack
- React 19 + TypeScript + Vite 8
- Tailwind v4 + shadcn/ui (new-york)
- Zustand (estado)
- @react-three/fiber + drei (3D)
- @react-pdf/renderer (PDF)
- Vitest (testes) â 38/38 passando
đ§Ș Scripts
cd app
npm run dev # desenvolvimento (HMR)
npm run build # tsc + vite build
npm run lint # oxlint
npm test # vitest run (38 testes)
npm run test:watch # vitest watch
Atenção: Os binårios em
node_modules/.bin/perdem o bit de execução. Se reclamarPermission denied, rodechmod +x node_modules/.bin/<bin>antes.
đ Estrutura
app/src/
âââ lib/
â âââ wind-kernel.ts Motor matemĂĄtico
â âââ bilinear-interp.ts Interpolação bilinear (sec. 3.2)
â âââ log-interp.ts Interpolação log-linear
â âââ wind-direction.ts Mudança de rugosidade (sec. 5.5)
â âââ internal-pressure.ts Cpi (sec. 6.3)
â âââ neighborhood.ts fᔄ (sec. 6.4)
â âââ coefficients.ts Cpe paredes/telhados (Tab. 6-12)
â âââ excentricity.ts ea, eb (sec. 6.1.4)
â âââ friction.ts Força de atrito (sec. 6.1.5)
â âââ drag.ts Ca baixa/alta turbulĂȘncia (Figs 4-5)
â âââ comfort.ts a_lim ISO 10137
â âââ storage.ts PersistĂȘncia IndexedDB
â âââ theme.tsx Dark/light mode
â âââ i18n.ts Strings pt-BR/en-US
â âââ stations-lookup.ts 49 estaçÔes Anexo C
â âââ export-pdf.tsx PDF didĂĄtico
â âââ export-csv.ts CSV estruturado
â âââ modules/ Strategy pattern (7 mĂłdulos)
â âââ nbr-tables/ 36 tabelas + 3 anexos
â âââ hooks/useProjects.ts Hook React
â âââ __tests__/ Vitest (5 suites, 38 testes)
âââ components/
â âââ ui/ shadcn/ui
â âââ three/
â â âââ Cylinder3D.tsx
â â âââ Vault3D.tsx
â â âââ Dome3D.tsx
â âââ Warehouse3D.tsx GalpĂŁo com zonas A-J
â âââ ExportMenu.tsx
âââ pages/ 10 pĂĄginas
âââ store/ Zustand
âââ App.tsx Rotas + ThemeProvider + Layout
đ MĂłdulos (pĂĄginas ativas)
| Rota | MĂłdulo | Tabelas/Figs |
|---|---|---|
/galpao |
GalpĂŁo retangular com 3D zonas AâJ | 6, 7 |
/cilindro |
Silos, chaminés, reservatórios | 13 + Reynolds |
/abobada |
AbĂłbadas cilĂndricas | 15â20 |
/cupula |
CĂșpulas (terreno/parede) | 21, 22 + F sust |
/muros |
Muros e placas retangulares | 23 |
/cobertura-isolada |
Cob. isoladas (uma e duas ĂĄguas) | 24, 25 |
/barras |
Barras (faces planas/circulares) | 26â28 |
/pontes |
Pontes (Pse, Cx/Cz, flutter, galope) | 35, 36 + sec. 11 |
/dinamica |
DinĂąmica + vĂłrtices + conforto | 31â34 |
/settings |
Tema, persistĂȘncia, estado | â |
đ FĂłrmula central
Vâ = Vâ · Sâ · Sâ · Sâ
q = 0,613 · VâÂČ / 1000 [kN/mÂČ]
p = q · (Cpe â Cpi) [kN/mÂČ]
đ§Ș Testes (38/38 â )
npm test
Cobrem:
- Motor matemĂĄtico (classe, Sâ, Vâ, q, Sâ) â 14 testes
- Interpolação bilinear e log â 5 testes
- Cpi simplificado + clamp â 9 testes
- Vizinhança â 4 testes
- Reynolds + regime de escoamento â 6 testes
đŸ PersistĂȘncia
Projetos salvos em IndexedDB (browser local). ConfiguraçÔes de tema também em localStorage.
đ Temas
- Light, Dark, System (segue
prefers-color-scheme) - Toggle em
/settings
đ Documentação adicional
../PROGRESS.mdâ Estado atual + roadmap de melhorias futuras../PLAN.mdâ Plano histĂłrico dos 8 marcos../AGENTS.mdâ Guia para IAs continuarem o trabalho../NBR-6123-2023.pdfâ Norma oficial
đ§ PrĂłximas melhorias (resumo)
| ID | Item | Esforço | Impacto |
|---|---|---|---|
| M9.1 | Refinar tabelas a partir do PDF real | 3 dias | Alto |
| M9.2 | Cargas lineares (kN/m) por barra | 2 dias | Alto |
| M9.3 | Screenshot 3D no PDF | 1 dia | Médio |
| M9.4 | Export Ftool (.txt) | 2 dias | Médio |
| M9.5 | Refatoração TypeScript (eliminar void) |
1 dia | Baixo |
| M9.6 | 3D para muros/torres/pontes/barras | 3 dias | Médio |
| M9.7 | Import JSON de projetos | 1 dia | Médio |
| M9.8 | i18n completo (en-US) | 2 dias | Baixo |
| M9.9 | Validação contra Blessmann | 2 dias | Alto |
| M9.10 | Dark mode em grĂĄficos SVG | 0.5 dia | Baixo |
| M9.11 | PersistĂȘncia em servidor (especulativo) | â | â |
| M9.12 | Testes E2E com Playwright | 2 dias | Médio |
Detalhes e contexto em ../PROGRESS.md.
Aviso: Esta ferramenta é auxiliar. O projetista é responsåvel pela validação final dos resultados conforme a NBR 6123:2023 e pela emissão de ART.