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
Postar um comentário