mcpField
A
architect-calculator

architect-calculator

github.com/abhinavbwjOther30754 installsUpdated 23w ago
Repository

About architect-calculator

Architect Calculator is a suite of seven Python command-line calculators for preliminary architectural design, intended for architects and design teams. It covers area, envelope, daylight, egress, structural loads, energy, and cost, with JSON output available.

Key features

  1. 01Calculate development density, usable area, and parking
  2. 02Calculate U-values for layered assemblies
  3. 03Estimate average daylight factor for side-lit rooms
  4. 04Calculate occupant load and exits under IBC
  5. 05Estimate structural loads, energy, and construction cost
  6. 06Provide JSON output for scripts and reporting

Use cases

  1. 01Estimate development capacity from site area and FAR
  2. 02Compare thermal performance of wall or roof assemblies
  3. 03Perform an initial check of egress and exit widths
  4. 04Estimate energy demand and construction costs at concept stage

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/abhinavbwj/skills-architects --skill architect-calculator

After installing, type/architect-calculatorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
calculator-reference.md
scripts/
area_calculator.py
cost_calculator.py
daylight_calculator.py
egress_calculator.py
energy_calculator.py
structural_load_calculator.py
uvalue_calculator.py

Details

From the project README

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.


1. 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
ParameterFlagDefaultUnitDescription
Site Area--site-areaRequiredm2Total site/plot area
Floor Area Ratio--farRequiredratioPermitted FAR / plot ratio
Net-to-Gross Ratio--ntg-ratio0.80ratioNGA as fraction of GFA (0.0-1.0)
Avg Unit Size--avg-unit-size85m2Average residential unit area
Persons per Unit--persons-per-unit2.5personsAverage household size
Parking Ratio--parking-ratio1.0spacesParking 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
---------------------------------------
Gross Floor Area:     12,500.00 m2
Net-to-Gross Ratio:   0.82
Net Gross Area:       10,250.00 m2
---------------------------------------
Average Unit Size:    85.00 m2
Estimated Units:      120
Persons per Unit:     2.50
Estimated Population: 300
---------------------------------------
Parking Ratio:        1.00 spaces/unit
Parking Spaces:       120

2. U-Value Calculator (uvalue_calculator.py)

Calculates the thermal transmittance (U-value) of a multi-layer wall, roof, or floor construction by summing thermal resistances of each layer plus surface resistances.

Parameters
ParameterFlagDefaultUnitDescription
Layers--layersRequiredJSON stringArray of layer objects
Rsi Internal--rsi-internal0.13m2K/WInternal surface resistance
Rsi External--rsi-external0.04m2K/WExternal surface resistance

Each layer object: {"name": "...", "thickness_mm": N, "conductivity": N}

Example
python scripts/uvalue_calculator.py --layers '[
  {"name": "Brick", "thickness_mm": 102, "conductivity": 0.77},
  {"name": "Cavity air gap", "thickness_mm": 50, "conductivity": 0.18},
  {"name": "Mineral wool", "thickness_mm": 100, "conductivity": 0.035},
  {"name": "Concrete block", "thickness_mm": 140, "conductivity": 1.13},
  {"name": "Plaster", "thickness_mm": 13, "conductivity": 0.16}
]'
Sample Output
=== U-Value Calculator ===
Layer                Thickness(mm)  Conductivity(W/mK)  R-value(m2K/W)
---------------------------------------------------------------------------
Rsi (internal)       --             --                   0.1300
Brick                102            0.770                0.1325
Cavity air gap       50             0.180                0.2778
Mineral wool         100            0.035                2.8571
Concrete block       140            1.130                0.1239
Plaster              13             0.160                0.0813
Rse (external)       --             --                   0.0400
---------------------------------------------------------------------------
Total R-value:       3.6425 m2K/W
U-value:             0.2745 W/m2K

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
ParameterFlagDefaultUnit
Room Width--room-widthRequiredm
Room Depth--room-depthRequiredm
Room Height--room-heightRequiredm
Window Width--window-widthRequiredm
Window Height--window-heightRequiredm
Window Sill Height--window-sill-heightRequiredm
Glazing Transmittance--glazing-transmittance0.65ratio
Average Reflectance--average-reflectance0.50ratio
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)
---------------------------------------
Window Area:             4.50 m2
Total Room Surface Area: 96.00 m2
Window-to-Floor Ratio:   18.75%
Glazing Transmittance:   0.65
Average Reflectance:     0.50
Visible Sky Angle:       60.1 deg
---------------------------------------
Average Daylight Factor: 2.34%

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
ParameterFlagDefaultDescription
Floor Area--floor-areaRequiredNet floor area in m2
Occupancy Type--occupancy-typeRequiredIBC occupancy (A-1 to U)
Sprinklered--sprinkleredFalseFlag: building is sprinklered
Num Stories--num-stories1Number 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
---------------------------------------
Occupant Load Factor:   9.3 m2/person
Occupant Load:          86 persons
---------------------------------------
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
ParameterFlagDefaultUnitDescription
Tributary Area--tributary-areaRequiredm2Column tributary area
Num Floors--num-floorsRequiredintegerNumber of supported floors
Dead Load--dead-load4.5kN/m2Dead load per floor
Live Load--live-loadautokN/m2Live load (auto per occ.)
Occupancy Type--occupancy-typeofficestringFor 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
ParameterFlagDefaultUnitDescription
Floor Area--floor-areaRequiredm2Conditioned floor area
Envelope Area--envelope-areaRequiredm2Total envelope area
Average U-value--average-u-valueRequiredW/m2KArea-weighted average U
Heating Degree Days--heating-degree-daysRequiredKdAnnual HDD (base 18C)
Cooling Degree Days--cooling-degree-daysRequiredKdAnnual CDD (base 24C)
Ventilation Rate--ventilation-rate0.5ACHAir changes per hour
Internal Gains--internal-gains5.0W/m2Internal 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
---------------------------------------
Heating Degree Days:  3,000 Kd
Cooling Degree Days:  500 Kd
Ventilation Rate:     0.50 ACH
Internal Gains:       5.00 W/m2
---------------------------------------
Transmission Loss:    6,720.00 kWh/yr
Ventilation Loss:     4,050.00 kWh/yr
Internal Gains:       -2,190.00 kWh/yr
Heating Demand:       8,580.00 kWh/yr
---------------------------------------
Cooling Demand:       2,356.00 kWh/yr
---------------------------------------
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
ParameterFlagDefaultDescription
GFA--gfaRequiredGross floor area in m2
Building Type--building-typeRequiredresidential/office/retail/hospital/school/hotel
Quality--qualitystandardbasic/standard/premium
Region--regionnorth-americanorth-america/europe/middle-east/asia/australia
Include External--include-externalFalseFlag: 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
---------------------------------------
Professional Fees (12%):  1,680,000 USD
Contingency (7.5%):       1,050,000 USD
External Works:           --
---------------------------------------
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

Comments

Markdown supported