← Back to Downloads

ArchDATUM Takeoff — Installation & Usage Guide

Complete setup guide for the ArchiCAD BIM Takeoff & Construction Estimate Exporter. Covers Python installation, ArchiCAD API connection, model preparation, running the script, and reading the Excel output.

v6.0 ArchiCAD 29 Python 3.8+ May 2026
Contents
What this script does Prerequisites Enabling the ArchiCAD JSON API Model preparation Running the script Reading the Excel output Division 21 — Fire suppression lines Adjusting unit costs for your market Troubleshooting Version history

What this script does

The script connects to a live ArchiCAD session, reads your BIM model, extracts element quantities by CSI division, and builds a formatted Excel estimate workbook. It covers Divisions 02 through 26 — site through electrical. You get two output tabs: a summary by CSI division and a detailed line-item estimate with unit costs, quantities, and totals.

Quantities come from the model directly where ArchiCAD can supply them — wall areas, floor areas, door and window counts, roof area, MEP fixture counts. Line items the model cannot quantify get area-based defaults from your total heated floor area. Those cells are flagged yellow in the output so you know which numbers came from the model and which are estimates.

Prerequisites

1. Python 3.8 or later

Check your version first:

python3 --version

If Python is not installed:

2. The archicad and openpyxl packages

The script installs these automatically on first run. To install manually:

pip install archicad openpyxl # On some systems use pip3 instead: pip3 install archicad openpyxl

3. ArchiCAD 29 running

The script connects to ArchiCAD via the JSON API (localhost, port 19723 by default). ArchiCAD must be open with a project loaded before you run the script.

Quick connection test. Open a Python terminal and run:
from archicad import ACConnection conn = ACConnection.connect() print(conn)
If you get a connection object back, you are ready. A connection error means ArchiCAD is not running or the API port is not active. See the next section.

Enabling the ArchiCAD JSON API

ArchiCAD 29 includes the JSON API as a built-in add-on. It should be active by default, but if the connection test above fails, check the following:

Model preparation

Do these four things before running to get clean output:

Running the script

Step 1 — Download and save the script

Save ArchDATUM_Takeoff.py to a folder you can find easily. A dedicated scripts folder works well:

Step 2 — Open Terminal (Mac) or Command Prompt (Windows)

Navigate to the folder containing the script:

# Mac: cd ~/Documents/ArchiCAD\ Scripts # Windows: cd C:\Users\YourName\Documents\ArchiCAD Scripts

Step 3 — Run with default output

python3 ArchDATUM_Takeoff.py

Output saves to the same folder as the script with a timestamped filename: ArchDATUM_Takeoff_YYYYMMDD_HHMMSS.xlsx

Step 4 — Or specify an output folder

# Mac: python3 ArchDATUM_Takeoff.py --output ~/Desktop/ProjectTakeoffs # Windows: python ArchDATUM_Takeoff.py --output C:\Users\YourName\Desktop\ProjectTakeoffs
First run. The first run installs archicad and openpyxl automatically if they are missing. This takes 15–30 seconds and only happens once. Subsequent runs start immediately.

The script prints progress to the terminal as it runs. A typical model takes 15 to 60 seconds depending on complexity.

Reading the Excel output

Tab 1 — Summary

One row per CSI division. Shows total estimated cost and percentage of the overall hard cost budget. Use it to sanity-check division proportions against your own cost benchmarks or historical project data.

Tab 2 — Estimate (line-item detail)

ColumnWhat it shows
CSIDivision number, e.g. 06 00 00
DescriptionLine item name
UnitUnit of measure — SF, LF, EA, LS
QuantityModel-extracted or area-based estimate
Unit Cost2025–2026 benchmark national average unit cost
Waste FactorApplied waste percentage (0.10 = 10%)
Adj. QtyQuantity × (1 + waste factor)
TotalAdjusted quantity × unit cost
Yellow cells mean the quantity was not extracted from the model — it was estimated from floor area. These are the line items that most benefit from your GC's actual numbers. Treat them as placeholders until you have real bids.
White cells mean the quantity came directly from the model. Verify the unit costs against your region and current market before presenting to an owner.

Division 21 — Fire suppression lines

The script includes three fire suppression lines, all using the building's total heated floor area as the quantity. Delete the two lines that do not apply to your project type before presenting the estimate.

Line itemUnit costStandardUse for
Fire Sprinkler System - Commercial $6.50/SF NFPA 13 Commercial and institutional occupancies
Fire Sprinkler System - Multifamily $4.25/SF NFPA 13R Multifamily, 4 stories and under
Fire Sprinkler System - Residential $3.25/SF NFPA 13D One- and two-family residential

Unit costs are 2025–2026 benchmark national averages for a complete wet-pipe system including main, branch lines, heads, and inspector's test. Regional multipliers are not applied — adjust for your market.

Adjusting unit costs for your market

All unit costs are 2025–2026 benchmark national averages. Multiply by a city cost index for your market to regionalize. Common adjustments:

MarketApproximate multiplier
New York City1.35 – 1.45×
San Francisco / Bay Area1.30 – 1.40×
Chicago1.10 – 1.20×
Southeast (Atlanta, Nashville, Charlotte)0.85 – 0.95×
Jackson, MS / rural South0.78 – 0.88×
Rural areas generally0.78 – 0.90×

City cost index multipliers are approximate. Update the unit cost column in the Excel output directly — changes carry through to the totals automatically.

Troubleshooting

"Connection refused" or "Cannot connect to ArchiCAD"

ArchiCAD is not running, the JSON API add-on is not enabled, or the port does not match. Confirm ArchiCAD 29 is open and the API is active. See the Enabling the ArchiCAD JSON API section above.

Script runs but all quantities are zero

The model may not have elements matching the expected property names. This happens most often with projects started in ArchiCAD 24 or earlier. Check that your template uses standard ArchiCAD built-in property names.

Excel file opens but is blank

The script completed but found no elements. Check that the model is not in a hidden or filtered view state. Confirm you are connected to the correct project — the API connects to the frontmost open ArchiCAD window.

ModuleNotFoundError: No module named 'archicad'

pip3 install archicad

If you are using a virtual environment, activate it first, then install.

Permission error writing the Excel file

The output folder is write-protected or does not exist. Use the --output flag to point to a folder you own.

Questions or issues

Email seaboldarch@gmail.com. Include the error message from the terminal and your ArchiCAD version.

Version history

VersionDateNotes
v6.0 May 2026 Full CSI Division 02–26 coverage. Composite name parser. Doors and windows by name and size. Finish allowances. MEP fixture counts from objects. NFPA 13 / 13R / 13D fire suppression lines added.
v5.x 2025 Door and window counts by type. Basic CSI summary. Materials by composite type (not parsed). Not distributed through this platform.
v4.x 2024 Wall and slab quantities only.
Script maintained by Jeff Seabold, FAIA — The Seabold Companies.
Unit costs: Arch Datum Cost Benchmark 2025–2026 national averages. Cost benchmark synthesized from published industry references including RSMeans Building Construction Cost Data 2025–2026 (Gordian), with regional adjustment. Verify with local GC before using for owner budgets.