Find the button to show and hide the Prompt command input box in the Prompt Tab in the Revit Ribbon. This panel can be docked to the top or bottom of your screen.
Once shown, the following commands can be entered. Begin entering a command a drop-down autocomplete allows for selection amongst all matching commands.
Execute commands by pressing the Return key or clicking the “Enter” button.
The following is a list of commands, give in the following style:
command items example command
Description of command
id
select
filter
parameter-set
parameter-clear
parameter-list
parameter-validate
parameter-compare
parameter-merge
parameter-map
parameter-normalize
parameter-normalize-uppercase
parameter-normalize-lowercase
snapshot-instance
snapshot-type
snapshot-all
snapshot
snapshot-load
snapshot-compare
preflight-types
preflight-parameters
runscript
privacy
help
eula
id id
Returns the Revit ID of the current selection.
select id “Element Id” select id “12345”
Selects the element with matching Revit Id
select category select walls
Selects all elements of category
select category “property=value” select walls “Comments=replace”
Selects all elements of category, where the specified parameter has a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.
select “property=value” select “Comments=replace”
Selects all elements where the specified parameter has a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.
filter category filter walls
Modifies the current selection – unselects all elements that aren’t of the specified category
filter category “property=value” filter walls “Comments=replace”
Modifies the current selection – unselects all elements that aren’t of the specified category or where the specified parameter does not have a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.
filter “property=value” filter “Comments=replace”
Modifies the current selection – unselects all elements where the specified parameter does not have a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.
parameter-set “ParameterName” “Value” parameter-set “Type Make” “X01”
Sets the value of the specified parameter to “Value” – Type or Instance.
Operates on selected elements. If no selection, will show all parameter occurrences.
parameter-set-auto “ParameterName” “Text-{ParameterName}-{0000}” parameter-set “Mark” “AB-{Type Mark}-{Level}-{00}”
Sets the value of the specified parameter, including auto-generated fields:
– To include the value of another parameter: Use {ParameterName} where ParameterName is the name of the other Parameter
– To include an automatically generated sequential number {0000} – the number of zeros will pad values, e.g. 0001 instead of 1.
The example above will produce values like: “AB-C01-Level 1-06”
Operates on selected elements. If no selection, will show all parameter occurrences.
parameter-clear “ParameterName” parameter-clear “Type Mark”
Clears the value of the specified parameter – Type or Instance.
Operates on selected elements. If no selection, will show all parameter occurrences.
parameter-list parameter-list
Shows information about all parameters relevant to current selection, including: name, storage type, value and others.
Operates on selected elements. If no selection, will show all parameter occurrences, which may take a very long time.
parameter-validate “Parameter” “$X*9*” parameter-validate “Mark” “A01”
parameter-validate category “Parameter” “$X*9*” parameter-validate doors “Mark” “A01”
If category is specified, will review parameter values for all elements of that category. If no category is specified, it will operate on current selection. If no selection, it will operate on all elements.
Will review parameter values and confirm whether the value follows the code specified. In the code:
– a letter is used to specify a single letter, e.g. “A” = A or B or C, etc.
– a number is used to specify a single number, e.g. “9” = 1 or 2 or 3 etc.
– an asterisk after is used to specify any number of the previous, e.g. “9*” = 1 or 1234 or 555 etc.
– a dollar sign before is used to specify that exact number or letter, e.g. “$W1” = W1, W2, W2, etc.
parameter-compare “ParameterName1” “ParameterName2” parameter-compare “Mark” “Type Mark”
Compares the values of the specified parameters across all elements in the model. You can include as many parameters as you wish.
No selection is required or considered.
parameter-merge “ParameterName1” “ParameterName2” parameter-merge “Intended_Use” “Intended Use”
Merges the values of multiple parameters into one. It does this by using the first parameter (ParameterName1) as the parameter, and the last parameter in the list as the value. Blank values are not copied, so in cases where “ParameterName2” has no value, “ParameterName1” will be unchanged. You will be prompted if you wish to clear the values of all parameters except ParameterName1. You can merge multiple parameters.
No selection is required or considered.
parameter-map “ParameterName” “replace this=with this” parameter-map “FireRating” “60min=60”
Replaces characters in a parameter value with others. Useful for normalising parameter values.
No selection is required or considered.
parameter-normalize “ParameterName1” parameter-normalize “Comments”
parameter-normalize “ParameterName1” “separator” parameter-normalize “Comments” “-“
For all parameter values: removes redundant whitespace and ensures no special characters.
If a separator is specified, replaces all occurrences of “-” and “_” and ” ” with the separator character.
No selection is required or considered.
parameter-normalize-uppercase parameter-normalize-uppercase “Comments”
Works as per “parameter-normalize” but changes value to entirely uppercase.
No selection is required or considered.
parameter-normalize-lowercase parameter-normalize-lowercase “Comments”
Works as per “parameter-normalize” but changes value to entirely lowercase.
No selection is required or considered.
snapshot snapshot
snapshot category snapshot walls
snapshot-all snapshot-all
snapshot-all category snapshot-all walls
Records all element metadata (Type and Instance parameter values) to an external file which can be loaded, or compared to current model at a later date. Note: this will not save geometry, location or System Family definition data.
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category
snapshot-instance snapshot-instance
snapshot-instance category snapshot-instance walls
Records all element Instance parameter values to an external file which can be loaded, or compared to current model at a later date
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category
snapshot-type snapshot-type
snapshot-type category snapshot-type walls
Records all element Type parameter values to an external file which can be loaded, or compared to current model at a later date. Note: this will not save geometry, location or System Family definition data.
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category
snapshot-compare snapshot-compare
Will show a table with element-by-element data highlighting where metadata is different between the snapshot metadata and current model. The command uses a series of information to match elements from the snapshot with those in the current model and may categorise them as: Matching, Potential Match or No Matches.
Will operate on current selection – Current model data can be filtered by making a selection before running the command
snapshot-load snapshot-load
Operates in the same manner as snapshot-compare, but then on confirming will attempt to overwrite the data in the current model with that in the Snapshot. Note: this takes no consideration as to whether a parameter is being used to control geometry (parametric) and therefore may also modify the geometry of the model.
Will operate on current selection – Current model data can be filtered by making a selection before running the command
preflight-types preflight-types
preflight-types category preflight-types walls
Reviews all occurrences of Types and detects any potentially duplicated Types (multiple Types with near-matching values), or elements that have Instance parameters with matching values (ie Instance parameters that could be Type parameters), or any Types that have not been used in the model. It also reports on duplicate Type Marks.
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category
preflight-parameters preflight-parameters
preflight-parameters “ParameterName” preflight-parameters “RequiredParameter”
If no parameter names are specified in the command line, it will ask to open a text file that should contain a list of parameter names and generates a report on how extensively these parameters have been applied and filled in the project.
No selection is required or considered.
runscript runscript
Loads a text file that should contain a list of commands (any of the above). The app will sequentially run through these commands.
No selection is required or considered.
help help
Shows a list of commands, syntax and explanations.
privacy privacy
Shows the privacy statement. Also found here.
eula eula
Shows the End User Licence Agreement (EULA). Also found here.
How Prompt Works
Discover the step-by-step guide to integrating Prompt with your Revit workflow for maximum efficiency.
Step One: Installation
Begin by installing the Prompt plug-in, setting the stage for a streamlined metadata operations in Revit.
Step Two: Using Commands
Learn how to input commands in Prompt to inspect, refactor, and fix model metadata.
Step Three: Enhancing Workflow
Finalize by creating custom workflows of commands that can be run automatically in sequence.
