🚀 Auto-deploy: BrainWind atualizado em 21/07/2026 15:36:29
This commit is contained in:
@@ -21,9 +21,8 @@ const LinearLoadsTable: React.FC = () => {
|
||||
const wind = useWindStore();
|
||||
const { t } = useI18n();
|
||||
const { width: b, length: a, height: h, roofPitch, wallCpe, roofCpe } = galpao;
|
||||
const { q, cpi, windAngle } = wind;
|
||||
const { q, cpi, windAngle, frameSpacing, setFrameSpacing } = wind;
|
||||
|
||||
const [frameSpacing, setFrameSpacing] = useState<number>(6.0);
|
||||
const [purlinSpacing, setPurlinSpacing] = useState<number>(1.5);
|
||||
|
||||
const columnLoads = useMemo(
|
||||
|
||||
@@ -84,13 +84,12 @@ export function buildFtoolModel(): FtoolModel {
|
||||
const galpao = useGalpaoStore.getState();
|
||||
const wind = useWindStore.getState();
|
||||
const { width: b, height: h, roofPitch, wallCpe, roofCpe } = galpao;
|
||||
const { q, cpi, windAngle } = wind;
|
||||
const { q, cpi, windAngle, frameSpacing } = wind;
|
||||
|
||||
const FRAME_SPACING = 6.0;
|
||||
const PURLIN_SPACING = 1.5;
|
||||
|
||||
const columnLoads = getColumnLinearLoads(cpi, q, wallCpe, FRAME_SPACING, windAngle);
|
||||
const roofLoads = getRoofLinearLoads(cpi, q, roofCpe, PURLIN_SPACING, roofPitch);
|
||||
const columnLoads = getColumnLinearLoads(cpi, q, wallCpe, frameSpacing, windAngle);
|
||||
// Para Ftool (análise 2D de pórtico principal), a viga de cobertura (rafter)
|
||||
// também recebe a carga baseada no espaçamento entre pórticos.
|
||||
const roofLoads = getRoofLinearLoads(cpi, q, roofCpe, frameSpacing, roofPitch);
|
||||
|
||||
const rise = (b / 2) * Math.tan((roofPitch * Math.PI) / 180);
|
||||
|
||||
|
||||
@@ -51,6 +51,10 @@ export interface GlobalWindState {
|
||||
authorName: string;
|
||||
projectRev: string;
|
||||
setProjectMetadata: (data: Partial<{projectName: string, clientName: string, authorName: string, projectRev: string}>) => void;
|
||||
|
||||
// Cargas Lineares (M9.2)
|
||||
frameSpacing: number; // Espaçamento entre pórticos em metros
|
||||
setFrameSpacing: (spacing: number) => void;
|
||||
}
|
||||
|
||||
function calcCpi(permeabilityCase: PermeabilityCase, ratio: number, windAngle: 0 | 90): number {
|
||||
@@ -118,6 +122,9 @@ export const useWindStore = create<GlobalWindState>((set, get) => {
|
||||
projectRev: 'R0',
|
||||
setProjectMetadata: (data) => set((state) => ({ ...state, ...data })),
|
||||
|
||||
frameSpacing: 5.0,
|
||||
setFrameSpacing: (val) => set({ frameSpacing: val }),
|
||||
|
||||
updateCalculations: () => set((state) => recalc(state)),
|
||||
|
||||
setV0: (val) => {
|
||||
|
||||
Reference in New Issue
Block a user