Seven Python-based architectural calculators for common design computations: area and density calculations (GFA, NGA, unit count, population, parking), thermal U-value analysis for multi-layer constructions, daylight factor estimation using BRE methodology, egress compliance checking (occupant load, exit width, travel distance), structural gravity load and tributary area calculations, annual energy demand estimation via degree-day method, and construction cost estimation by building type, quality, and region.
name
architect-calculator
description
Seven Python-based architectural calculators for common design computations: area and density calculations (GFA, NGA, unit count, population, parking), thermal U-value analysis for multi-layer constructions, daylight factor estimation using BRE methodology, egress compliance checking (occupant load, exit width, travel distance), structural gravity load and tributary area calculations, annual energy demand estimation via degree-day method, and construction cost estimation by building type, quality, and region.
Architect Calculator
A suite of seven command-line Python calculators for rapid architectural
design computations. Each calculator accepts parameters via command-line
arguments, validates inputs, and produces either human-readable or
JSON-structured output.
All scripts are located in the
scripts/
directory and can be run with:
python scripts/<calculator_name>.py [arguments]
Add
--json
to any command for structured JSON output suitable for
piping into other tools or automation workflows.
Area Calculator (
area_calculator.py
)
Calculates development density metrics from site area and floor area
ratio (FAR), including gross floor area, net usable area, residential
unit count, estimated population, and parking requirement.
Parameters
Parameter
Flag
Default
Unit
Description
Site Area
--site-area
Required
m2
Total site/plot area
Floor Area Ratio
--far
Required
ratio
Permitted FAR / plot ratio
Net-to-Gross Ratio
--ntg-ratio
0.80
ratio
NGA as fraction of GFA (0.0-1.0)
Avg Unit Size
--avg-unit-size
85
m2
Average residential unit area
Persons per Unit
--persons-per-unit
2.5
persons
Average household size
Parking Ratio
--parking-ratio
1.0
spaces
Parking spaces per dwelling unit
Example
python scripts/area_calculator.py --site-area 5000 --far 2.5 --ntg-ratio 0.82
Sample Output
=== Area & Density Calculator ===
Site Area: 5,000.00 m2
Floor Area Ratio: 2.50
Passive House target (wall): 0.15 W/m2K -- DOES NOT MEET
Typical code target (wall): 0.30 W/m2K -- MEETS TARGET
3. Daylight Calculator (
daylight_calculator.py
)
Estimates average daylight factor for a side-lit room using the BRE
simplified formula.
Parameters
Parameter
Flag
Default
Unit
Room Width
--room-width
Required
m
Room Depth
--room-depth
Required
m
Room Height
--room-height
Required
m
Window Width
--window-width
Required
m
Window Height
--window-height
Required
m
Window Sill Height
--window-sill-height
Required
m
Glazing Transmittance
--glazing-transmittance
0.65
ratio
Average Reflectance
--average-reflectance
0.50
ratio
Example
python scripts/daylight_calculator.py
--room-width 4.0 --room-depth 6.0 --room-height 3.0
--window-width 2.5 --window-height 1.8 --window-sill-height 0.9
Sample Output
=== Daylight Factor Calculator ===
Room: 4.00m W x 6.00m D x 3.00m H
Window: 2.50m W x 1.80m H (sill at 0.90m)
Assessment: ADEQUATE (target >= 2.0% for habitable rooms)
4. Egress Calculator (
egress_calculator.py
)
Calculates occupant load, required number of exits, minimum exit widths,
and travel distance compliance per IBC.
Parameters
Parameter
Flag
Default
Description
Floor Area
--floor-area
Required
Net floor area in m2
Occupancy Type
--occupancy-type
Required
IBC occupancy (A-1 to U)
Sprinklered
--sprinklered
False
Flag: building is sprinklered
Num Stories
--num-stories
1
Number of stories
Example
python scripts/egress_calculator.py --floor-area 800 --occupancy-type B --sprinklered --num-stories 4
Sample Output
=== Egress Calculator ===
Floor Area: 800.00 m2
Occupancy Type: B (Business)
Sprinklered: Yes
Number of Stories: 4
Required Exits: 2
Min Exit Width (total): 1,376 mm
Width per Exit: 688 mm
Min Door Width: 813 mm (32 inches)
Max Travel Distance: 91.0 m (300 ft) [sprinklered]
Max Common Path: 23.0 m (75 ft)
Max Dead End: 15.0 m (50 ft)
COMPLIANCE: Review travel distances on plans.
5. Structural Load Calculator (
structural_load_calculator.py
)
Calculates tributary area gravity loads for preliminary structural sizing.
Parameters
Parameter
Flag
Default
Unit
Description
Tributary Area
--tributary-area
Required
m2
Column tributary area
Num Floors
--num-floors
Required
integer
Number of supported floors
Dead Load
--dead-load
4.5
kN/m2
Dead load per floor
Live Load
--live-load
auto
kN/m2
Live load (auto per occ.)
Occupancy Type
--occupancy-type
office
string
For auto live load selection
Example
python scripts/structural_load_calculator.py --tributary-area 36 --num-floors 8 --occupancy-type office
Sample Output
=== Structural Load Calculator ===
Tributary Area: 36.00 m2
Number of Floors: 8
Dead Load: 4.50 kN/m2 per floor
Live Load: 2.50 kN/m2 per floor (office)
Total per Floor: 7.00 kN/m2
Load per Floor: 252.00 kN
Total Column Load: 2,016.00 kN (8 floors)
Factored Load: 2,822.40 kN (1.2D + 1.6L)
Preliminary Column: ~400x400 mm RC (fc'=35 MPa)
6. Energy Calculator (
energy_calculator.py
)
Estimates annual heating and cooling energy demand using the degree-day
method.
Parameters
Parameter
Flag
Default
Unit
Description
Floor Area
--floor-area
Required
m2
Conditioned floor area
Envelope Area
--envelope-area
Required
m2
Total envelope area
Average U-value
--average-u-value
Required
W/m2K
Area-weighted average U
Heating Degree Days
--heating-degree-days
Required
Kd
Annual HDD (base 18C)
Cooling Degree Days
--cooling-degree-days
Required
Kd
Annual CDD (base 24C)
Ventilation Rate
--ventilation-rate
0.5
ACH
Air changes per hour
Internal Gains
--internal-gains
5.0
W/m2
Internal heat gains
Example
python scripts/energy_calculator.py
--floor-area 500 --envelope-area 800 --average-u-value 0.35
--heating-degree-days 3000 --cooling-degree-days 500
Sample Output
=== Energy Calculator ===
Floor Area: 500.00 m2
Envelope Area: 800.00 m2
Average U-value: 0.35 W/m2K
Total Demand: 10,936.00 kWh/yr
EUI: 21.87 kWh/m2/yr
Passive House target: 15 kWh/m2/yr -- DOES NOT MEET
7. Cost Calculator (
cost_calculator.py
)
Estimates construction cost based on building type, quality level, and
geographic region.
Parameters
Parameter
Flag
Default
Description
GFA
--gfa
Required
Gross floor area in m2
Building Type
--building-type
Required
residential/office/retail/hospital/school/hotel
Quality
--quality
standard
basic/standard/premium
Region
--region
north-america
north-america/europe/middle-east/asia/australia
Include External
--include-external
False
Flag: include site works
Example
python scripts/cost_calculator.py --gfa 5000 --building-type office --quality premium --region europe
Sample Output
=== Construction Cost Calculator ===
Gross Floor Area: 5,000.00 m2
Building Type: Office
Quality Level: Premium
Region: Europe
Base Cost Rate: 2,800.00 USD/m2
Construction Cost: 14,000,000 USD
Total Development Cost: 16,730,000 USD
Cost per m2 (total): 3,346.00 USD/m2
Methodology Reference
Detailed formulas and methodology for each calculator are documented in
references/calculator-reference.md
.
Error Handling
All calculators validate inputs and provide clear error messages:
Missing required parameters display usage help
Out-of-range values are rejected with explanatory messages
Invalid occupancy types list accepted values
Malformed JSON input shows expected format
Integration
JSON output (
--json
flag) enables integration with:
Other scripts in the pipeline
Spreadsheet tools (parse JSON)
Web dashboards
Automated reporting systems
BIM parameter injection