Project > Quantities

Quick Takeoff

Counts and measures objects (length, area, volume, weight from Revit and IFC properties, or from geometry) grouped by one or two properties, with subtotals and totals. Export to Excel, select any group, or save the setup as a template.

Tab and panelProject > Quantities
KindButton
Live whenA model is open

Status

Launched Ran inside Navisworks at least once with no error logged; nobody checked the result yet.

Ran headless under pynavis run against a sample model; no selection: ran to the end: 'Takeoff of 1 object'; result not checked by a person.

Recorded on 2026-10-09. The evidence is a pynavis run transcript.

Related asks to confirm

No quote is on record yet. These threads look related, but a person still has to open and read them.

Events it listens to

None. It runs only when you click it.

Files

Paths are relative to the Playground.extension folder.

  • Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/bundle.yaml
  • Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/icon.dark.png
  • Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/icon.png
  • Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/icon.small.dark.png
  • Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/icon.small.png
  • Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/script.py

Install

  1. Only this tool. In Navisworks, click pyNavis > Playground, search for Quick Takeoff, tick it and click Install.
  2. The whole extension. Download Playground.extension.zip, unzip it, put the Playground.extension folder in %APPDATA%\pyNavis\extensions\, and click pyNavis > Reload. Quick Takeoff is on the Project tab, Quantities panel.

You need pyNavis 1.3.0 or later.

Tried it? Tell us whether it worked or not. That report is what moves a tool up the status ladder.

Report

Source

The tool's own files, word for word as published in pynavis/Playground. Paths are relative to the Playground.extension folder.

script.py

The script that runs on a click.

Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/script.py View on GitHub
# -*- coding: utf-8 -*-
"""Counts and measures objects grouped by one or two properties, with subtotals, totals and Excel export."""
from pynavis import script, toast

from namo import fourd_common, items, qty_run, qty_ui, reports, takeoff, ui

TITLE = 'Quick Takeoff'


def run():
    if ui.is_runner():
        result = reports.run('quick_takeoff', script.get_config(takeoff.default_quick_config()),
                             interactive=False)
        toast.show(result['level'], result['message'], result['detail'])
        return
    doc = fourd_common.active_doc()
    if not fourd_common.has_models(doc):
        toast.info('No model is open', 'Open or append a model first.')
        return
    values = script.get_config(takeoff.default_quick_config())
    selected = items.selected(doc)
    sample = items.objects(selected if selected else items.roots(doc), budget=300)
    choices, specs = qty_ui.group_choices(takeoff.property_options(sample))
    fields = qty_ui.quick_fields(values, bool(selected), choices)
    answer = ui.form(TITLE, fields, ok='Measure', width=560, validate=qty_ui.validate_quick)
    if answer is None:
        return
    config = qty_ui.config_from(answer, specs)
    script.save_config(config)
    qty_run.run_quick(doc, config)


run()

Library modules this tool uses

From the shared namo library, which installs with every tool. Each name opens the module on GitHub.

  • namo.fourd_commonHelpers the 4D, Quantities and Field tools share: scopes, default files, text.
  • namo.itemsModel items: walking, collecting, identifying, measuring and showing them.
  • namo.qty_runRuns a Quick or Zone Takeoff configuration and shows its result window: shared by the two takeoff buttons and Takeoff Templates.
  • namo.qty_uiForms and windows of the Quantities panel (Quick Takeoff, Zone Takeoff, Takeoff Templates, COG Calculator), built on namo.ui.
  • namo.reportsThe registry of automation-ready reports, and the helpers every report shares.
  • namo.takeoffQuantity takeoff: measures from properties (and geometry), grouping, zones, workbooks.
  • namo.uiWPF building blocks for Playground tools, themed from the pyNavis design system.

bundle.yaml

The bundle contract: the keys pyNavis reads for this tool.

Project.tab/Quantities.panel/Quick_Takeoff.pushbutton/bundle.yaml View on GitHub
title: Quick\nTakeoff
tooltip: Counts and measures objects (length, area, volume, weight from Revit and IFC properties, or from geometry) grouped by one or two properties, with subtotals and totals. Export to Excel, select any group, or save the setup as a template.
context: doc