Skip to content
Get on GitHub Autodesk App Store - coming soon

Workflow

17 nodes. Types ending in [] are lists. An input with a default is optional.

Nodes

Flow.Require

Stops with your own error message when a condition is false; when it is true the value passes through unchanged. The nodes wired after it do not run after a false condition, so put it in front of a step that must not run on bad input (replacing the open model, deleting files). Flow.When only skips quietly and Flow.Try only catches. To require that every item of a list passes, wire List.AllTrue into 'condition'.

Inputs

Input Type Default What it does
value required any — The value to pass on when the condition is true. Wire it into the step that must not run on bad input.
condition required boolean — True lets the value through; false stops here with the message. To demand that every item of a list passes, wire List.AllTrue into this input.
message string "A required condition is false." What to tell the person when the condition is false: say what is wrong and what to do about it.

Outputs

Output Type What it gives
value any The value input, unchanged, when the condition is true.

Tags: require assert guard precondition check validate must fail stop abort error raise

Flow.Then

Passes a value through unchanged AFTER the wired 'after' nodes have run — makes the execution order of side-effect nodes explicit (e.g. set a section box, THEN save the viewpoint). 'after' takes as many wires as you like, one per node that must run first; what they carry is ignored.

Inputs

Input Type Default What it does
value required any — The value to pass through unchanged.
after any number of wires required any[] — Wire any number of nodes that must run first (one wire per node; their values are ignored). A branch that a Flow.When switched off counts as nothing; the node is skipped only when every branch wired here is off.

Outputs

Output Type What it gives
value any The value input, unchanged.

Tags: sequence order passthrough wait after chain depend

Flow.Try

Carries on after a failure: gives the node's result, or your fallback plus the error text when that node failed — nothing after it turns red.

Inputs

Input Type Default What it does
value required any — The node output to try. Wire the node that might fail.
fallback any null What to output when it failed (nothing by default).

Outputs

Output Type
result any
failed boolean
error string

Returns: The "result" (the value, or the fallback after a failure), whether it "failed", and the "error" text.

Tags: try catch error recover fallback optional safe exception on error

Flow.Wait

Waits the given number of seconds (at most 600; nothing can stop the wait early, so Navisworks looks frozen meanwhile), then passes the value through unchanged - use it to pause between steps of a workflow. In a loop, wire the loop item (or something made from it) into value: a Flow.Wait with only fixed inputs belongs to no loop and waits once.

Inputs

Input Type Default What it does
value required any — The value to pass through after the pause (it is also what makes the pause happen in the right place).
seconds number 1 How long to wait, 0 to 600 seconds (fractions allowed). Nothing can stop the wait before it is over, so it is kept short.

Outputs

Output Type What it gives
value any The value input, unchanged.

Tags: wait sleep pause delay timer throttle seconds

Flow.When

Runs the nodes wired after it only when the condition is true; when false they are skipped (idle, not an error) — e.g. export only if there are clashes.

Inputs

Input Type Default What it does
value required any — The value to pass on when the condition is true. Wire the output of the node that must have run.
condition required boolean — True lets the branch run; false skips everything wired after this node.

Outputs

Output Type What it gives
value any The value input, or nothing when the condition is false.

Tags: if only skip branch gate conditional run if guard

Loop.Collect

Closes a loop and collects one value per iteration. Wire Loop.Item's 'loop' output into 'loop' and the per-item value into 'value'; 'results' is the list of collected values, available after the loop. Downstream of 'results' runs once. An iteration that a Flow.When switched off adds nothing to 'results'. When some iterations fail, their place in 'results' is empty and this node shows a warning that counts them and names the first failure.

Interactive node: it has its own controls on the canvas.

Inputs

Input Type Default What it does
loop required any — Loop handle from Loop.Item.
value required any — The value to collect this iteration.

Outputs

Output Type What it gives
results any[] One collected value per item.

Tags: for each foreach iterate repeat per item batch collect gather end

Loop.Item

Yields the current item of a loop. Wire a list into 'items', wire 'item' into the nodes that should run per item, and wire 'loop' into a Loop.Collect to close the loop. The engine runs everything between here and Loop.Collect once per item, in order. If the list comes from a node that failed, or from a Flow.When that is false, the loop does not run and the nodes after it wait, like after any failed or switched-off node. Use a loop when the work per item is built from ordinary nodes; use Workflow.ForEach with Action.* nodes when it is a fixed list of steps such as isolate, zoom, save viewpoint.

Interactive node: it has its own controls on the canvas.

Inputs

Input Type Default What it does
items required any[] — The list to iterate.

Outputs

Output Type What it gives
item any The current item (per iteration).
index integer The current 0-based index.
count integer The total number of items.
loop any Loop handle — wire into Loop.Collect to close the loop.

Tags: for each foreach iterate repeat per item batch loop each

Workflow.ForEach

Runs a sequence of actions on each item, one item fully before the next (zoom, isolate, save viewpoint, then the next item), the per-item ordered loop that wiring and lacing cannot express. Wire the items and the Action.* nodes into 'actions' (several wires run in the order they were made; a List.Create of them works too). 'results' has one entry per item: what its actions collected (one value as it is, several as a list, the item itself if the actions collect nothing), or empty when that item failed. By default a failing item is skipped and the node ends amber with one line that names the items and actions that failed; set onError to stop to end with an error at the first failure instead (what was already done stays done). Press Stop to end it between two actions. Use this node for a fixed, readable list of actions with {name} and {index1} naming (one viewpoint per item); use Loop.Item and Loop.Collect when the work per item is built from ordinary nodes.

Inputs

Input Type Default What it does
items required any[] — The items to iterate. Each element becomes the current item for one pass; an element may itself be a group (a sub-list).
actions any number of wires required any[] — The actions to run per item, in order. Wire the Action.* nodes straight in (several wires run in the order they were made), or one List.Create of them. An element that is not an action is skipped with a warning.
onError string "continue" What a failing item does: "continue" (the default) records an empty result for it and goes on with the next item; "stop" ends the node with an error at the first failure (the items before it stay done).

Outputs

Output Type What it gives
results any[] One entry per item: the value that item's actions collected (unwrapped when a single value, a list when several, the item itself when none, empty when the item failed). For a per-item Save Viewpoint workflow this is the list of created viewpoints.

Tags: workflow foreach for each loop iterate sequence per item batch each

Actions

Action.Ghost

Per item: applies a TEMPORARY transparency to the given items (wire the whole found set) so the highlighted item reads against a faded context. Captured per viewpoint. Put before Action.Highlight; reset each item with Action.ResetTemporaryAppearance.

Inputs

Input Type Default What it does
items any number of wires required ModelItem[] — The items to fade each iteration (usually the whole found set — the current item is made solid again by Action.Highlight).
transparency number 0.85 0 = opaque, 1 = invisible (0.85 fades to a faint context).

Outputs

Output Type What it gives
action IWorkflowAction A ghost action for Workflow.ForEach.

Tags: action ghost fade transparency temporary workflow foreach context

Action.Highlight

Per item: applies a TEMPORARY color to the current item so it stands out — captured per viewpoint by Action.SaveViewpoint, so each view keeps its own highlight. Pair with Action.Ghost to fade the rest.

Inputs

Input Type Default What it does
color required any — A Color, a "#RRGGBB" string, or a list of three numbers.
transparency number 0.0 Transparency for the highlighted item (0 = solid, so it stands out of the ghosted rest).

Outputs

Output Type What it gives
action IWorkflowAction A highlight action for Workflow.ForEach.

Tags: action highlight color temporary workflow foreach spotlight

Action.Isolate

Per item: shows the current item and hides everything else (Appearance.Isolate). Place before Save Viewpoint to bake the isolation into each view.

No inputs.

Outputs

Output Type What it gives
action IWorkflowAction An isolate action for Workflow.ForEach.

Tags: action isolate workflow foreach only focus

Action.OverrideColor

Per item: overrides the current item's color (Appearance.OverrideColor).

Inputs

Input Type Default What it does
color required any — A Color, a "#RRGGBB" string, or a list of three numbers.

Outputs

Output Type What it gives
action IWorkflowAction A recolor action for Workflow.ForEach.

Tags: action color override workflow foreach paint tint

Action.ResetAppearance

Per item: removes color and transparency overrides from the current item (Appearance.Reset).

No inputs.

Outputs

Output Type What it gives
action IWorkflowAction A reset-appearance action for Workflow.ForEach.

Tags: action reset appearance workflow foreach restore original

Action.ResetTemporaryAppearance

Per item: clears all TEMPORARY color/transparency overrides (Appearance.ResetTemporary) — put first in the sequence so the previous item's highlight/ghost doesn't linger into this view.

No inputs.

Outputs

Output Type What it gives
action IWorkflowAction A reset-temporary-appearance action for Workflow.ForEach.

Tags: action reset temporary appearance workflow foreach clear clean

Action.SaveViewpoint

Per item: saves the current view as a saved viewpoint named from the item. The name is a template: {name} (or {item}) is the item's name, {index} its position from 0, {index1} (or {n}) its position from 1 and {count} the number of items, so 'View {index1} of {count}: {name}' numbers the views; an empty name uses the item's name, and a viewpoint with the same name in the same folder is replaced. With bakeOverrides on, the current isolation AND temporary color/transparency are stored in the view, so recalling it restores that exact look. Collected as the loop's per-item result.

Inputs

Input Type Default What it does
name string "{name}" Viewpoint name. Tokens: {name} or {item} = the item's name, {index} = its position counting from 0, {index1} or {n} = counting from 1, {count} = how many items there are. An empty name uses the item's name. Default {name}.
folder string "CamelGraph Views" Viewpoint folder to file them under (null/empty stores at the top level).
bakeOverrides boolean true True to capture the current hidden AND temporary color/transparency overrides into the viewpoint, so recalling it restores that exact isolation and highlighting.

Outputs

Output Type What it gives
action IWorkflowAction A save-viewpoint action that collects the created viewpoint.

Tags: action viewpoint view save workflow foreach capture snapshot

Action.ShowAll

Per item: un-hides every item in the model (Appearance.ShowAll) — a reset step, e.g. before re-isolating.

No inputs.

Outputs

Output Type What it gives
action IWorkflowAction A show-all action for Workflow.ForEach.

Tags: action showall workflow foreach reveal reset unhide

Action.ZoomTo

Per item: frames the current item in the view (Camera.ZoomToItems). Place before Save Viewpoint so each view is centred on its item.

Inputs

Input Type Default What it does
paddingFactor number 1.5 Space to leave around the item (1 = tight fit).

Outputs

Output Type What it gives
action IWorkflowAction A zoom action for Workflow.ForEach.

Tags: action zoom workflow foreach frame fit focus