Navisworks: Viewpoints¶
23 nodes. Types ending in [] are lists. An input with a default is optional.
Nodes¶
SavedViewpoint.Apply¶
Makes a saved viewpoint the current view (camera, plus any saved overrides). Over a list of viewpoints it applies each in turn, leaving the last one on screen; to take a picture of each use Export.ViewpointImage with the viewpoints wired to its own 'viewpoint' input. Wire the output of the node that must run before this one into 'after'.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
SavedViewpoint |
— | The saved viewpoint to apply. |
after |
any |
null |
Anything at all, only to run this node after the node it comes from: the view changes when this node runs, and the engine does not order nodes that share no wire. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The applied viewpoint (pass-through). |
Tags: viewpoint view apply goto camera
SavedViewpoint.ByName¶
Finds a saved viewpoint by its display name (searches folders too). When several viewpoints share the name the first one in the Saved Viewpoints window is used and the node shows a warning; give the folder path as the name ("Reviews/Week 12/Level 1") to choose one exactly. Read again on every run.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
name required |
string |
— | The viewpoint's display name, or its folder path and name such as "Reviews/Week 12/Level 1". |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The stored saved viewpoint. |
Tags: viewpoint view byname find camera path folder
SavedViewpoint.CopyOverrides¶
Copies the appearance the way one saved view looks — its colour, transparency and hidden-item overrides — onto another saved view, WITHOUT changing that view's camera. Apply one view's highlighting scheme to many others in one graph: a list of target views is handled one view at a time. Both views must have their overrides baked in (Viewpoint.Save with bakeOverrides on).
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
fromViewpoint required |
any |
— | The viewpoint whose colour/transparency/hidden overrides to copy (or its name). |
toViewpoint required |
any |
— | The viewpoint to update — keeps its own camera, gains the source's look (or its name). |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The updated target viewpoint. |
Tags: viewpoint view override appearance copy color transparency hidden apply
SavedViewpoint.Delete¶
Deletes a saved viewpoint: wire the viewpoint itself (so exactly that one goes, whatever its folder), or its name, or its folder path and name ("Reviews/Week 12/Level 1"). A list deletes one viewpoint per entry. A name shared by several viewpoints deletes the first one in the tree and shows a warning. Returns false when there is no such viewpoint, so a clean-up step can run twice.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
any |
— | The saved viewpoint (for example from Viewpoints.InFolder), or its name or folder path and name such as "Reviews/Week 12/Level 1". |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
deleted |
boolean |
True when a viewpoint was deleted; false when there is no such viewpoint. |
Tags: viewpoint view delete remove clean
SavedViewpoint.Duplicate¶
Duplicates a saved viewpoint in its folder, copying its camera and any baked appearance overrides. Names the copy "<name> copy" unless newName is given. A list of viewpoints makes one copy of each.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
any |
— | The saved viewpoint, or its display name. |
newName |
string |
null |
Name for the copy (null uses "<name> copy"). |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The new stored viewpoint copy. |
Tags: viewpoint view duplicate copy clone
SavedViewpoint.Folder¶
The folder containing a saved viewpoint: its path as "A/B" ("" for top-level viewpoints) and the folder itself — drives folder-based status workflows. A list of viewpoints gives one path and one folder per viewpoint. Read again on every run.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
any |
— | The saved viewpoint, or its display name. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
folderPath |
string |
folder |
any |
Returns: The folder path ("A/B"; "" at the top level) and the immediate folder (null at the top level).
Tags: viewpoint view folder path parent location
SavedViewpoint.Info¶
Reads a saved viewpoint: its name, folder path ("A/B", "" at the top level), whether it carries a section box, whether it has baked appearance or visibility overrides, its comment count and its camera — the position and the look-at point (one focal distance ahead of the camera, or one unit when none is stored). hasSection reads nothing on Navisworks 2025 and later (it comes back empty).
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
SavedViewpoint |
— | The saved viewpoint. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
name |
string |
folder |
string |
hasSection |
boolean |
hasOverrides |
boolean |
commentCount |
integer |
position |
Point |
lookAt |
Point |
Returns: Name, folder path, section / overrides flags, comment count, camera position and look-at point.
Tags: viewpoint view info camera folder section overrides comments position lookat
SavedViewpoint.MoveToFolder¶
Moves a saved viewpoint into a folder (appended at the end). A viewpoint already in the folder is left alone, so re-runs are clean. A list of viewpoints moves each one into the folder; a list of folders pairs with the viewpoints one to one.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
any |
— | The saved viewpoint, or its display name. |
folder required |
any |
— | The target folder (e.g. from Viewpoints.CreateFolder), or its name. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The moved stored viewpoint (pass-through for chaining). |
Tags: viewpoint view move folder organize
SavedViewpoint.Name¶
The display name of a saved viewpoint.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
SavedViewpoint |
— | The saved viewpoint. |
Outputs
| Output | Type | What it gives |
|---|---|---|
name |
string |
The viewpoint's display name. |
Tags: viewpoint view name displayname
SavedViewpoint.Rename¶
Renames a saved viewpoint (accepts the viewpoint, its current name or a folder path and name such as "Reviews/Week 12/Level 1"; searches folders too). Batch-rename by wiring a list of viewpoints and a list of new names: each viewpoint gets the new name at the same position.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
any |
— | The saved viewpoint, or its current display name. |
newName required |
string |
— | The new display name. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The renamed stored viewpoint (pass-through for chaining). |
Tags: viewpoint view rename name batch
SavedViewpoint.Update¶
Re-captures the current view into an existing saved viewpoint — the UI's "Update" — keeping its name, folder and place in the list. Set the camera first (Camera.LookAt, Camera.ZoomToItems, Camera.SetStandardView) and wire the output of the last of those nodes into 'after', because the view is read when this node runs. Compare Viewpoint.Save, which replaces a view by name with a new one.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
viewpoint required |
SavedViewpoint |
— | The saved viewpoint to refresh (or wire it by name through SavedViewpoint.ByName). |
after |
any |
null |
Anything at all, only to run this node after the node it comes from: the view is read when this node runs, and the engine does not order nodes that share no wire. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The updated stored viewpoint, still in its folder and position with its name. |
Tags: viewpoint view update refresh recapture replace camera current
Viewpoint.Save¶
Saves the current view as a saved viewpoint in the Saved Viewpoints window. folder files it in a folder (a name, or a path such as "Reviews/Week 12"; folders that do not exist are created); leave it empty for the top level. A viewpoint with the same name in that folder is replaced, so running the graph again updates it instead of piling up. Turn bakeOverrides on to save the temporary colour, transparency and hidden-item overrides (Appearance.OverrideColorTemporary and friends) with the camera, so recalling the viewpoint restores that exact look; off saves the camera only. The view is read when this node runs: set the camera and the overrides first and wire the last of those nodes into 'after'.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
name required |
string |
— | Display name for the viewpoint. |
folder |
string |
null |
Where to file it: empty for the top level, a folder name, or a path such as "Reviews/Week 12". Folders that do not exist are created. |
bakeOverrides |
boolean |
false |
True saves the temporary colour, transparency and hidden-item overrides with the camera; false saves the camera only. |
after |
any |
null |
Anything at all, only to run this node after the node it comes from: the view is read when this node runs, and the engine does not order nodes that share no wire. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoint |
SavedViewpoint |
The stored saved viewpoint. |
Tags: viewpoint view save capture camera overrides appearance isolate color freeze folder saved viewpoint savecurrent savewithoverrides
Viewpoint.VisibleItems¶
Checks which of the given items a viewpoint can see (bounding box vs the camera frustum). Feed it a list of items, a selection/search set, a set name or one item; the viewpoint input accepts a saved viewpoint, a viewpoint name, or nothing for the current view, which is read when the node runs (wire the node that sets the camera into 'after'). A list of viewpoints runs the test once per viewpoint. Note: this is a framing test — items behind other objects still count, and the viewpoint's hide overrides are ignored.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
items required |
any |
— | What to test: a list of model items, a single item, a saved selection/search set, or a set name. |
viewpoint |
any |
null |
The viewpoint to test against: a saved viewpoint, a viewpoint name, or empty for the CURRENT view. |
fullyInside |
boolean |
false |
True requires an item's whole bounding box inside the view; false (default) counts partly visible items. |
after |
any |
null |
Anything at all, only to run this node after the node it comes from (matters when the viewpoint is left empty and the current camera is tested). |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
visibleItems |
ModelItem[] |
outsideItems |
ModelItem[] |
mask |
boolean[] |
containsAny |
boolean |
report |
any |
Returns: visibleItems / outsideItems split, a boolean mask over the input order, whether anything is visible, and a diagnostic report.
Tags: viewpoint visible contains frustum camera view sees inview mask saved viewpoint
Viewpoints.All¶
All saved viewpoints in a document, including those inside folders. Read again on every run, so a viewpoint added or removed since the last run is seen.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoints |
SavedViewpoint[] |
Every saved viewpoint, including those nested in folders (animations are skipped). |
Tags: viewpoints views saved camera all
Viewpoints.FromClashResults¶
Batch-generates one saved viewpoint per clash result, camera aimed at the clash — the clash-triage staple. Existing same-named viewpoints in the folder are replaced. Navisworks numbers results per test (Clash1, Clash2 ... in every test), so when the results come from more than one test each viewpoint is named "Test - Clash1" and none replaces another; nameFormat sets the name yourself ({test}, {name}, {index}). Names that would still repeat are numbered (2), (3) and the node shows a warning.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
results required |
ClashResult[] |
— | The clash results (e.g. from ClashTest.Results). |
folderName |
string |
"Clash Views" |
Viewpoint folder to file them under: a name or a path such as "Clash Views/Week 12" (null/empty stores them at the top level). |
nameFormat |
string |
"" |
How to name each viewpoint, with {name} (the result's name), {test} (its clash test) and {index} (its position in the list, from 1). Empty names it after the result, with the test in front when the results come from more than one test. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
viewpoints |
SavedViewpoint[] |
The stored viewpoints, one per result, named after the result. |
Tags: viewpoints clash results batch generate triage name folder
Files¶
Viewpoints.ExportFile¶
Exports saved viewpoints — camera, section box and folder location — to a portable JSON package for Viewpoints.ImportFile to rebuild in ANOTHER model, even one in different units. Leave viewpoints empty to export them all, or wire specific viewpoints, folders or names. Element overrides are not carried (they only exist relative to the source model's items). A relative file path is next to the graph file; a folder gets a camelgraph-viewpoints.json inside it.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
filePath required |
string |
— | Where to write the package: a .json file path, or a folder (a camelgraph-viewpoints.json is created inside). A relative path is next to the graph file. |
viewpoints |
any |
null |
What to export: nothing = every saved viewpoint; or a viewpoint, a folder, a name (viewpoint first, then folder), or a list of these. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
filePath |
file |
count |
integer |
report |
any |
Returns: The written file path, how many viewpoints it holds, and a summary report.
Tags: viewpoints export transfer copy between models package camera section box
Viewpoints.ImportFile¶
Rebuilds the viewpoints from a Viewpoints.ExportFile package in THIS model: camera, section box and folder structure. Positions are converted automatically when the source model used different units. Re-runs update same-named views instead of duplicating (overwrite).
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
filePath required |
string |
— | The package file written by Viewpoints.ExportFile (or the folder containing its camelgraph-viewpoints.json). |
folderName |
string |
null |
Put every imported view under this folder ("A/B" nests); null/empty recreates each view's original folders. |
overwrite |
boolean |
true |
True replaces a same-named viewpoint in the same folder; false always adds. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
viewpoints |
Viewpoint[] |
count |
integer |
report |
any |
Returns: The stored viewpoints, how many were imported, and a summary report.
Tags: viewpoints import transfer copy between models package restore
Folders¶
Viewpoints.CreateFolder¶
Creates a folder in the Saved Viewpoints window, optionally nested under a parent folder. An existing same-named folder in that location is reused, so re-runs are clean.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
name required |
string |
— | The folder's display name. |
parentFolder |
FolderItem |
null |
Parent folder for nesting (null creates at the top level). |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
folder |
FolderItem |
The stored folder (an existing same-named folder in that location is reused). |
Tags: viewpoints folder create organize nested
Viewpoints.DeleteFolder¶
Deletes a Saved Viewpoints folder together with every viewpoint and sub-folder in it, or with contentsOnly on empties the folder and keeps it — the clean-up before Viewpoints.FromClashResults fills "Clash Views" again. Accepts the folder, its name or a path such as "Reviews/Week 12". Returns deleted = false when there is no such folder (or it is already empty), so a clean-up step can run twice. A list of folders deletes one folder per entry. This cannot be undone from the graph.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
folder required |
any |
— | The folder (for example from Viewpoints.CreateFolder), its name, or a path such as "Reviews/Week 12". |
contentsOnly |
boolean |
false |
True removes everything inside the folder and keeps the folder; false removes the folder with everything in it. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
deleted |
boolean |
viewpointCount |
integer |
Returns: Whether anything was deleted, and how many saved viewpoints were inside (nested folders included).
Tags: viewpoints folder delete remove clean empty clear organize
Viewpoints.DuplicateFolder¶
Duplicates a Saved Viewpoints folder — a new folder (created as a sibling) with copies of every viewpoint and nested sub-folder inside. An existing same-named target folder is reused and topped up: a viewpoint that is already in it under the same name is replaced by the copy, a missing one is added, so re-runs do not pile up. The new name must differ from the source folder's own name. A list of folders and a list of new names duplicate one folder per name.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
folder required |
any |
— | The source folder, or its name. |
newName required |
string |
— | Name for the new folder. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
folder |
FolderItem |
The new stored folder. |
Tags: viewpoints folder duplicate copy clone organize
Viewpoints.InFolder¶
All saved viewpoints inside a folder, in Saved Viewpoints window order. Give it a folder object (Viewpoints.CreateFolder / SavedViewpoint.Folder), a folder NAME, or a path like "Reviews/Week 12" to pick between same-named folders; leave it empty for the top level. Nested subfolders are included unless recursive is off. A list of folders gives one list of viewpoints per folder. Read again on every run. Feeds straight into SavedViewpoint.Apply, Export.ViewpointImage (wire the viewpoints to its own viewpoint input for a picture of each), Viewpoints.ExportFile or a Loop.Item.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
folder |
any |
null |
The folder to read: a folder object, its name, a path such as "Reviews/Week 12", or empty for the top level of the Saved Viewpoints window. |
recursive |
boolean |
true |
True (default) includes viewpoints in nested subfolders; false lists only the folder's direct children. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type |
|---|---|
viewpoints |
Viewpoint[] |
names |
string[] |
subfolders |
any |
count |
integer |
Returns: The viewpoints in tree order, their names, the subfolders met on the way, and how many viewpoints were found.
Tags: viewpoints folder contents children list inside views all
Viewpoints.RenameFolder¶
Renames a Saved Viewpoints folder (accepts the folder, its current name or a path such as "Reviews/Week 12"; searches nested folders too). A list of folders and a list of new names rename one folder per name.
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
folder required |
any |
— | The folder (e.g. from Viewpoints.CreateFolder), or its current name. |
newName required |
string |
— | The new folder name. |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
folder |
FolderItem |
The renamed stored folder (pass-through for chaining). |
Tags: viewpoints folder rename name organize
Viewpoints.SortFolder¶
Sorts a Saved Viewpoints folder's contents alphabetically by name (A→Z), ignoring case — so you never drag-and-drop views into order again. Pass no folder to sort the top level; set recursive to sort nested folders too. Folders sort among the viewpoints by name. Turn numeric on to put Clash2 before Clash10 (letter by letter, "Clash10" comes first).
Inputs
| Input | Type | Default | What it does |
|---|---|---|---|
folder |
any |
null |
The folder to sort, or its name; null/empty sorts the top level. |
recursive |
boolean |
false |
True to also sort every nested folder. |
numeric |
boolean |
false |
True sorts runs of digits by their number (Clash2 before Clash10); false sorts letter by letter (Clash10 before Clash2). |
document |
Document |
null |
The document (defaults to the active document). |
Outputs
| Output | Type | What it gives |
|---|---|---|
folder |
FolderItem |
The sorted folder (null when the top level was sorted). |
Tags: viewpoints folder sort alphabetical order organize arrange numeric natural