Dev > Reports

Scheduled Reports

Runs report templates on a model on a timetable through Windows Task Scheduler and the pyNavis command line runner, then mails or copies the results.

Tab and panelDev > Reports
KindButton

Status

Untested Never executed inside Navisworks. Passed the headless checks only.

The public ask

No public source is on record for this tool.

Events it listens to

None. It runs only when you click it.

Files

Paths are relative to the Playground.extension folder.

  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/bundle.yaml
  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/icon.dark.png
  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/icon.png
  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/icon.small.dark.png
  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/icon.small.png
  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/scheduled_runner.py
  • Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/script.py

Install

  1. Only this tool. In Navisworks, click pyNavis > Playground, search for Scheduled Reports, 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. Scheduled Reports is on the Dev tab, Reports 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.

Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/script.py View on GitHub
# -*- coding: utf-8 -*-
"""Creates, runs and removes Windows scheduled tasks that run report templates on a model with no one at the desk."""
from pynavis import script

from namo import sched_ui, xchg_common


def run():
    if xchg_common.under_runner():
        return
    try:
        from pynavis import doc as nwdoc
        document = nwdoc.get_doc()
    except Exception:
        document = None                 # no model open: schedules can still be managed
    sched_ui.open_window(document, script.get_bundle_file('scheduled_runner.py'))


run()

Library modules this tool uses

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

  • namo.sched_uiThe Scheduled Reports windows: the list of schedules, the schedule form and the mail profiles. Pure helpers (rows, form fields, schedule from form values) are tested; the windows are built in smoke tests and only shown inside Navisworks.
  • namo.xchg_commonSmall pieces the Geometry and IFC exporters share: where files go, default names, and the list of skipped objects in the output window.

bundle.yaml

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

Dev.tab/Reports.panel/Scheduled_Reports.pushbutton/bundle.yaml View on GitHub
title: Scheduled\nReports
tooltip: Runs report templates on a model on a timetable through Windows Task Scheduler and the pyNavis command line runner, then mails or copies the results.