Project > Publish

Model Wipe

Removes the kinds of data you choose from the document, such as saved viewpoints, selection sets, clash tests, overrides and Playground data, after showing exactly how much will go.

Tab and panelProject > Publish
KindButton
Live whenA model is open

Status

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

Recorded on 2026-10-05. The evidence is a line in a pyNavis log.

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/Publish.panel/Model_Wipe.pushbutton/bundle.yaml
  • Project.tab/Publish.panel/Model_Wipe.pushbutton/icon.dark.png
  • Project.tab/Publish.panel/Model_Wipe.pushbutton/icon.png
  • Project.tab/Publish.panel/Model_Wipe.pushbutton/icon.small.dark.png
  • Project.tab/Publish.panel/Model_Wipe.pushbutton/icon.small.png
  • Project.tab/Publish.panel/Model_Wipe.pushbutton/script.py

Install

  1. Only this tool. In Navisworks, click pyNavis > Playground, search for Model Wipe, 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. Model Wipe is on the Project tab, Publish 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/Publish.panel/Model_Wipe.pushbutton/script.py View on GitHub
# -*- coding: utf-8 -*-
"""Removes the chosen kinds of data from the document after showing exactly how much will go."""
from pynavis import doc as navis_doc
from pynavis import forms, toast

from namo import preflight, progress, ui, wipe


def run():
    doc = navis_doc.get_doc()
    name = preflight.document_name(doc)
    found = progress.run('Model Wipe', lambda report: wipe.counts(doc, progress=report),
                         'Counting what is in the document')
    if found is progress.CANCELLED:
        return
    counts, approx = found
    values = ui.form('Model Wipe', wipe.form_fields(counts, approx, name), ok='Continue', width=520)
    if values is None:
        return
    chosen = values['chosen']
    if not chosen:
        toast.info('Nothing chosen', 'Tick what to remove, then Continue.')
        return
    if not forms.confirm(wipe.confirm_text(chosen, counts, approx, name), title='Model Wipe'):
        return
    result = wipe.execute(doc, chosen)
    level, message, detail = wipe.summary(result, counts, approx)
    if result['done']:
        # Say what was and was not written: only the open document changed.
        note = '%s on disk is unchanged until you save.' % name
        detail = ('%s %s' % (detail, note)) if detail else note
    toast.show(level, message, detail)


run()

Library modules this tool uses

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

  • namo.preflightPreflight: is this document ready to share? A profile of checks, each pass, warn or fail.
  • namo.progressGlue between pyNavis' cancellable progress window and Playground's progress callbacks.
  • namo.uiWPF building blocks for Playground tools, themed from the pyNavis design system.
  • namo.wipeModel Wipe: purge chosen kinds of data from the document, counted first, confirmed twice.

bundle.yaml

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

Project.tab/Publish.panel/Model_Wipe.pushbutton/bundle.yaml View on GitHub
title: Model\nWipe
tooltip: Removes the kinds of data you choose from the document, such as saved viewpoints, selection sets, clash tests, overrides and Playground data, after showing exactly how much will go.
context: doc