Dev > Team
Environment Doctor
Checks Navisworks, pyNavis, engines, extensions, shortcuts, panels, add-ins, folders and the log, and reports what needs attention. Shift+Click copies the report as text.
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 (wrote output); result not checked by a person.
The public ask
No public source is on record for this tool.
Installs with
Environment Doctor sits in a stack, so installing it also installs:
Events it listens to
None. It runs only when you click it.
Files
Paths are relative to the Playground.extension folder.
Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/bundle.yamlDev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/config.pyDev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.dark.pngDev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.pngDev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.small.dark.pngDev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.small.pngDev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/script.py
Install
- Only this tool. In Navisworks, click pyNavis > Playground, search for Environment Doctor, tick it and click Install.
- The whole extension. Download
Playground.extension.zip, unzip it, put thePlayground.extensionfolder in%APPDATA%\pyNavis\extensions\, and click pyNavis > Reload. Environment Doctor is on the Dev tab, Team 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.
ReportSource
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/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/script.py View on GitHub# -*- coding: utf-8 -*-
"""Checks everything pyNavis and Playground depend on and reports pass, warning or fail."""
from pynavis import toast
from namo import doctor
results = doctor.checks(doctor.gather())
doctor.print_report(results)
level, message = doctor.headline(results)
toast.show(level, message, 'The details are in the output window.')
config.py
The Shift+Click action.
Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/config.py View on GitHub# -*- coding: utf-8 -*-
"""Runs the Environment Doctor and copies its report as plain text (for a support email)."""
import datetime
from pynavis import toast
from namo import doctor, ui
results = doctor.checks(doctor.gather())
text = doctor.text_report(results, datetime.datetime.now().strftime('%Y-%m-%d %H:%M'))
if ui.copy(text):
level, message = doctor.headline(results)
toast.success('Environment report copied', '%s. Paste it into an email or a ticket.' % message)
else:
toast.error('The clipboard is busy', 'Another program is holding it; try again.')
Library modules this tool uses
From the shared namo library, which installs with every tool. Each name opens the module on GitHub.
namo.doctorEnvironment Doctor: everything that decides whether pyNavis and Playground can work on this machine, as pass / warning / fail lines.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.
Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/bundle.yaml View on GitHubtitle: Environment Doctor
tooltip: Checks Navisworks, pyNavis, engines, extensions, shortcuts, panels, add-ins, folders and the log, and reports what needs attention. Shift+Click copies the report as text.