pip install flask mezzanine_calculator/ ├── app.py ├── templates/ │ └── index.html from flask import Flask, render_template, request app = Flask(__name__) def calculate_mezzanine(width, length, beamX, beamY, beam_weight_X, beam_weight_Y, beam_cost, u_beam_cost, floor_cost, labor_cost, add_pillars): import math spacing = 1.25 # Espaçamento entre vigas em metros # Cálculo do número total de vigas total_length_beams_X = math.ceil(width / spacing) * length total_length_beams_Y = math.ceil(length / spacing) * width # Cálculo da área total do piso total_area_floor = width * length # Cálculo do peso total das vigas total_weight_beams_X = total_length_beams_X * beam_weight_X total_weight_beams_Y = total_length_beams_Y * beam_weight_Y # Cálculo do custo das vigas cost_beams_X = total_weight_beams_X * (u_beam_cost if beamX == "Viga U" else beam_cost) cost_beams_Y = total_weight_beams_Y * (u_beam_cost if beamY == "Viga U" else beam_cost) # Cálculo do custo do piso e mão de obra cost_floor = total_area_floor * floor_cost cost_labor = total_area_floor * labor_cost total_cost = cost_beams_X + cost_beams_Y + cost_floor + cost_labor if add_pillars: # Adicionando custo dos pilares total_cost += 4 * 500 # 500 é o custo aproximado por pilar # Cálculo do peso da estrutura por metro quadrado weight_per_square_meter = (total_weight_beams_X + total_weight_beams_Y) / total_area_floor return { "total_cost": total_cost, "cost_beams_X": cost_beams_X, "cost_beams_Y": cost_beams_Y, "cost_floor": cost_floor, "cost_labor": cost_labor, "weight_per_square_meter": weight_per_square_meter } @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': width = float(request.form['width']) length = float(request.form['length']) beamX = request.form['beamX'] beamY = request.form['beamY'] beam_weight_X = float(request.form['beam_weight_X']) beam_weight_Y = float(request.form['beam_weight_Y']) beam_cost = float(request.form['beam_cost']) u_beam_cost = float(request.form['u_beam_cost']) floor_cost = float(request.form['floor_cost']) labor_cost = float(request.form['labor_cost']) add_pillars = 'add_pillars' in request.form result = calculate_mezzanine(width, length, beamX, beamY, beam_weight_X, beam_weight_Y, beam_cost, u_beam_cost, floor_cost, labor_cost, add_pillars) return render_template('index.html', result=result) return render_template('index.html', result=None) if __name__ == '__main__': app.run(debug=True) Calculadora de Orçamento de Mezanino

Calculadora de Orçamento de Mezanino













{% if result %}

Resultado

Custo Total: R$ {{ result.total_cost }}

Custo das Vigas X: R$ {{ result.cost_beams_X }}

Custo das Vigas Y: R$ {{ result.cost_beams_Y }}

Custo do Piso: R$ {{ result.cost_floor }}

Custo de Mão de Obra: R$ {{ result.cost_labor }}

Peso da Estrutura: {{ result.weight_per_square_meter }} kg/m²

{% endif %}

Comentários