PROJECT_PHASES = {
"pre_design": {
"activities": ["Feasibility study", "Site selection", "Budget estimate"],
"deliverable": "Project charter"
},
"design": {
"activities": ["Schematic design", "Design development", "Construction documents"],
"deliverable": "Drawings, specifications"
},
"procurement": {
"activities": ["Bidding", "Contractor selection", "Material ordering"],
"deliverable": "Contracts"
},
"construction": {
"activities": ["Site preparation", "Foundation", "Structure", "MEP", "Finishes"],
"deliverable": "Completed facility"
},
"closeout": {
"activities": ["Testing", "Commissioning", "Training", "Documentation"],
"deliverable": "Final project"
}
}
# Grading calculations
def cut_fill_volumes(grid, target_elevation):
"""Calculate cut and fill volumes from grid"""
cut_volume = 0
fill_volume = 0
for cell in grid:
elevation_diff = cell.elevation - target_elevation
volume = elevation_diff * cell.area
if elevation_diff > 0:
cut_volume += volume
else:
fill_volume += abs(volume)
return {"cut": cut_volume, "fill": fill_volume}