Solibri API - Solibri Superrun Actions
Since: 26.9.0
All actions on this page are available in Solibri 26.9.0 and later.
Solibri Superrun has a list of specific actions you can perform. These correspond to actions you can also do manually in Solibri. Most actions have parameters you need to specify (for example, the parameter file specifies an input file path). Some parameters are optional, so you can leave them out if you don't need them.
In a .superrun file each action is a JSON object with a type, a params object, and an optional enabled flag:
{
"type": "OPEN_MODEL",
"params": {
"file": "C:\\Users\\Models\\ifc\\MyModel.ifc",
"discipline": "Architectural"
},
"enabled": true
}
The value of type is the action identifier listed for each action below. Actions are executed in the order they appear in the file. Disabled actions ("enabled": false) are skipped. See Solibri Superrun File Format for the surrounding file structure and for the value types used by parameters.
Actions
The actions you can perform with Solibri Superrun are:
- Models
- Classifications
- Checking
- Presentations
- Information Takeoff
- Visualizations
- System
The categories above are the same categories used by the action picker in the Superrun view.
Prerequisites
Most actions need something to already be available in the session, for example an open model or existing checking results. Each action below lists its prerequisites:
| Prerequisite | Meaning |
|---|---|
| Model | At least one open model |
| Ruleset | At least one open ruleset |
| Checking results | Checking has been run |
| Presentation | A presentation exists |
| Information Takeoff | An Information Takeoff is open |
| Classification | A classification is open |
Prerequisites can be satisfied by an earlier action in the same workflow, or by the state of the session when the workflow starts. Validation warns about prerequisites that may be missing, but it does not prevent the workflow from running. See Validation.
|
|---|
| If you open an existing SMC model with Solibri Superrun, it may also include rules and rulesets, which are used in checking. Likewise, if a role is selected in Solibri, the resources related to it, such as classifications and rulesets, are loaded when Solibri starts and are used in checking in addition to the ones your workflow opens. |
Here are the detailed descriptions of the actions:
Models
OPEN_MODEL
- Opens an IFC, SMC, PDF, or DWG model file.
- Provides: Model.
-
Parameters:
-
file: (Required) Path to the model file.
-
Optional parameters:
-
discipline: Model discipline. Choose a predefined discipline or use a custom name. See openmodel for the localized discipline names.
- short_name: Short model name.
- grid_visible: (
true|false) Show IFC grids after opening the model. Default:true. - categories: Model categories, as a JSON array of strings.
Example:
{
"type": "OPEN_MODEL",
"params": {
"file": "C:\\Users\\Models\\ifc\\MyElModel.ifc",
"discipline": "Electrical",
"short_name": "ELE",
"grid_visible": true,
"categories": ["CATEGORY_NAME1", "CATEGORY_NAME2"]
}
}
UPDATE_MODEL
- Updates a single open model from another file.
- Prerequisites: Model.
- Provides: Model.
-
Parameters:
-
existing: (Required) The open model file to update. The file must be part of the model opened earlier in the workflow or already open in the session.
-
Optional parameters:
-
with: Path to the new version of the file. Leave empty to update from the same file.
- auto_update: (
true|false) Whentrue, the model is updated only if the source file is newer than the previously imported version. Default:false.
Example:
{
"type": "UPDATE_MODEL",
"params": {
"existing": "C:\\Users\\Models\\ifc\\Solibri Building.ifc",
"with": "C:\\Users\\Models\\ifc\\Solibri Building - modified.ifc",
"auto_update": true
}
}
UPDATE_MODELS
-
Updates all outdated IFC, PDF, and DWG models from their source files.
-
Optional parameters:
-
file: File name or path pattern limiting which models are updated. Supports
*and?wildcards. Leave empty to update all outdated models.
Example: { "type": "UPDATE_MODELS", "params": {} }
SET_MODEL_SETTINGS
- Updates the discipline, short name, or categories of an open model. Leave a parameter out to keep its current value.
- Prerequisites: Model.
-
Optional parameters:
-
model: The model to update. Leave empty to apply to all open models.
- discipline: New discipline.
- short_name: New short name.
- categories: Categories, as a JSON array of strings.
- replace_categories: (
true|false) Whentrue, the given categories replace the existing ones instead of being appended. Default:false.
TRANSFORM_MODELS
- Moves and rotates an open model using the same values as the Move Model or Rotate Model dialog.
- Prerequisites: Model.
-
Optional parameters:
-
model: The model to transform. Leave empty to apply to all open models.
- delta_x, delta_y, delta_z: Movement along each axis. Values are stored in millimeters. Default:
0.0. - delta_rotation: Rotation around the Z axis in degrees. Default:
0.0. - pivot_x, pivot_y: Pivot point for the rotation. Values are stored in millimeters. Default:
0.0.
SAVE_MODEL
- Saves the current model to an SMC file.
- Prerequisites: Model.
-
Parameters:
-
output_path: (Required) Target
.smcpath.
Example: { "type": "SAVE_MODEL", "params": { "output_path": "C:\\Superrun\\models\\Building_saved.smc" } }
CLOSE_MODEL
- Closes open models.
- Prerequisites: Model.
-
Optional parameters:
-
scope: (
all|matching) Close every open model, or only models matchingfile. Default:all. - file: Model path or pattern used when
scopeismatching. Supports*and?wildcards.
Examples:
{ "type": "CLOSE_MODEL", "params": { "scope": "all" } }{ "type": "CLOSE_MODEL", "params": { "scope": "matching", "file": "*MyModel.ifc" } }
LIST_MODELS
- Writes a list of the open models to a text file.
- Prerequisites: Model.
-
Parameters:
-
output_path: (Required) Text file to write the model list to.
Classifications
OPEN_CLASSIFICATION
- Opens a classification file.
- Provides: Classification.
-
Parameters:
-
file: (Required) Path to the
.classificationfile.
CLOSE_CLASSIFICATION
- Closes open classifications.
- Prerequisites: Classification.
-
Optional parameters:
-
scope: (
all|matching) Close every open classification, or only classifications matchingname. Default:all. - name: Classification name or pattern used when
scopeismatching. Supports*and?wildcards.
LIST_CLASSIFICATIONS
- Writes a list of the open classifications to a text file.
- Prerequisites: Classification.
-
Parameters:
-
output_path: (Required) Text file to write the classification list to.
Checking
OPEN_RULESET
- Opens a ruleset file. An already open ruleset with the same file name is closed first.
- Provides: Ruleset.
-
Parameters:
-
file: (Required) Path to the
.csetfile.
OPEN_IDS_RULESET
- Opens an IDS file as a ruleset. An already open ruleset with the same file name is closed first.
- Provides: Ruleset.
-
Parameters:
-
file: (Required) Path to the
.idsfile.
UPDATE_RULE_PARAMETERS
- Updates every compatible open rule from its external source. Currently supported only by the Clash Detection Matrix rule.
- Prerequisites: Model, Ruleset.
- This action has no parameters.
CHECK
- Checks the open models using the open rulesets.
- Prerequisites: Model, Ruleset.
- Provides: Checking results.
-
Optional parameters:
-
scope: (
all|filtered) Check all components, or only components matchingfilter_json. Default:all. - filter_json: Component filter used when
scopeisfiltered. See Component filters.
Example: { "type": "CHECK", "params": { "scope": "all" } }
AUTO_COMMENT
- Creates comments and snapshots for checking results.
- Prerequisites: Model, Ruleset, Checking results.
-
Optional parameters:
-
name: Rule or ruleset name pattern. Use
/between tree levels and\/for a slash inside a name. Supports*and?wildcards. Leave empty to include all open rulesets. - max_snapshots_in_category: Maximum number of snapshots per category. Default:
10. - zoom: (
true|false) Zoom towards the components before taking snapshots. Default:false. - critical: (
true|false) Include results with critical severity. Default:true. - moderate: (
true|false) Include results with moderate severity. Default:true. - low: (
true|false) Include results with low severity. Default:true. - accepted: (
true|false) Include accepted results. Default:false. - rejected: (
true|false) Include rejected results. Default:true. - undefined: (
true|false) Include results with an undefined decision state. Default:true.
Example: Comment only critical issues that have not been accepted:
{
"type": "AUTO_COMMENT",
"params": {
"zoom": true,
"critical": true,
"moderate": false,
"low": false,
"accepted": false,
"rejected": true,
"undefined": true
}
}
WRITE_REPORT
- Writes a checking report to a PDF or RTF file.
- Prerequisites: Model, Ruleset, Checking results.
-
Parameters:
-
output_path: (Required) Path to the generated PDF or RTF file.
-
Optional parameters:
-
critical: (
true|false) Include results with critical severity. Default:true. - moderate: (
true|false) Include results with moderate severity. Default:true. - low: (
true|false) Include results with low severity. Default:true. - rejected: (
true|false) Include rejected results. Default:true. - accepted: (
true|false) Include accepted results. Default:false.
RESULT_SUMMARY_REPORT
- Writes a result summary report from a template, in Excel format.
- Prerequisites: Model, Ruleset, Checking results.
-
Parameters:
-
output_path: (Required) Path and file name for the generated report.
- template_file: (Required) Path to the template to use.
-
Optional parameters:
-
title: Report title.
Example:
{
"type": "RESULT_SUMMARY_REPORT",
"params": {
"output_path": "C:\\Superrun\\reports\\Building_result_summary.xlsx",
"template_file": "C:\\Users\\Public\\Solibri\\SOLIBRI\\Report Templates\\Summary Report\\CheckingSummaryTemplate.xlsx",
"title": "Checking Summary"
}
}
SAVE_RULESET
- Saves a ruleset to a file.
- Prerequisites: Ruleset.
-
Parameters:
-
output_path: (Required) Path to the saved
.csetfile. -
Optional parameters:
-
name_pattern: Name pattern selecting which ruleset to save.
CLOSE_RULESET
- Closes open rulesets.
- Prerequisites: Model, Ruleset.
-
Optional parameters:
-
scope: (
all|matching) Close every open ruleset, or only rulesets matchingname. Default:all. - name: Ruleset name or pattern used when
scopeismatching. Supports*and?wildcards.
LIST_RULESETS
- Writes a list of the open rulesets to a text file.
- Prerequisites: Ruleset.
-
Parameters:
-
output_path: (Required) Text file to write the ruleset list to.
Presentations
CREATE_PRESENTATION
- Creates a presentation. Optionally creates slides from checking results.
- Prerequisites: Model.
- Provides: Presentation.
-
Parameters:
-
name: (Required) Presentation name.
-
Optional parameters:
-
tracking_prefix: Tracking prefix for the issues.
- from_checking_results: (
true|false) Create slides from checking result viewpoints. Default:false. - rule_uuid: Rule or ruleset path used when creating slides from checking results. Leave empty to include all checking results.
Example:
{
"type": "CREATE_PRESENTATION",
"params": {
"name": "Coordination",
"from_checking_results": true
}
}
ADD_SLIDES
- Adds a slide to a presentation.
- Prerequisites: Presentation.
-
Parameters:
-
presentation_name: (Required) Target presentation name.
- title: (Required) Title for the new slide.
-
Optional parameters:
-
description: Description for the new slide.
UPDATE_PRESENTATION
- Updates presentations, either from the current checking results or from a BCF file.
- Prerequisites: Presentation.
-
Optional parameters:
-
file: Path to a BCF file (
.bcfzip,.bcf) to update from. Leave empty to update from the current checking results. - name: Presentation name. Leave empty to update all presentations.
- remove_absent: (
true|false) When a BCF file is given, remove issues that are not in the BCF. Default:false. - remove_slides_without_result: (
true|false) When updating from checking results, remove slides that have no corresponding checking result. Default:false.
|
|---|
If you need to retain issues that have been resolved from the checking results, do not run UPDATE_PRESENTATION immediately after rechecking. When updating from a BCF file, you can keep issues that are not present in the BCF by leaving remove_absent unset or false. |
EXPORT_BCF
- Exports presentation issues to a BCF file.
- Prerequisites: Model, Ruleset, Checking results.
-
Parameters:
-
output_path: (Required) Path to the exported BCF file. Use
.bcfzipfor versions 1.0 and 2.0, and.bcffor versions 2.1 and 3.0. - version: (Required) BCF file format version:
1.0,2.0,2.1, or3.0. Default:3.0. - scope: (Required) Issues to export:
all,selected, ormarked. Default:all.
Example:
{
"type": "EXPORT_BCF",
"params": {
"output_path": "C:\\Superrun\\reports\\Found issues.bcf",
"version": "3.0",
"scope": "all"
}
}
GENERAL_REPORT
- Writes a general checking report from the Presentation view to a PDF or RTF file.
- Prerequisites: Model, Ruleset, Checking results, Presentation.
-
Parameters:
-
output_path: (Required) Path to the generated PDF or RTF file.
COORDINATION_REPORT
- Writes a coordination report from a template, in Excel format.
- Prerequisites: Model, Ruleset, Checking results.
-
Parameters:
-
output_path: (Required) Path and file name for the generated report.
- template_file: (Required) Path to the template to use.
-
Optional parameters:
-
presentation_name: Presentation to report. Leave empty to include all presentations.
- title: Report title.
LIST_PRESENTATIONS
- Writes a list of the presentations to a text file.
- Prerequisites: Presentation.
-
Parameters:
-
output_path: (Required) Text file to write the presentation list to.
Information Takeoff
OPEN_ITO
- Opens an Information Takeoff file.
- Provides: Information Takeoff.
-
Parameters:
-
file: (Required) Path to the
.itofile.
CALCULATE_ITO
- Calculates an open Information Takeoff.
- Prerequisites: Information Takeoff.
-
Optional parameters:
-
name: Information Takeoff name. Leave empty to calculate the current one.
REPORT_ITO
- Writes an Information Takeoff report to an Excel file. The report can be a plain Excel report or be created from a template.
- Prerequisites: Information Takeoff.
-
Parameters:
-
output_path: (Required) Path and file name for the report. The file format must be
.xlsor.xlsx. -
Optional parameters:
-
name: Information Takeoff name. Leave empty to report all Information Takeoffs.
- title: Report title.
- template_file: Template to use. The report file and the template file must have the same Excel format.
Example:
{
"type": "REPORT_ITO",
"params": {
"name": "Spaces",
"output_path": "C:\\Superrun\\reports\\Spaces.xlsx",
"template_file": "C:\\Users\\Public\\Solibri\\SOLIBRI\\Information Takeoff\\Templates\\Spaces.xlsx",
"title": "Spaces"
}
}
SAVE_ITO
- Saves an Information Takeoff to a file.
- Prerequisites: Information Takeoff.
-
Parameters:
-
output_path: (Required) Path to the saved
.itofile. -
Optional parameters:
-
name_pattern: Name pattern selecting which Information Takeoff to save.
CLOSE_ITO
- Closes open Information Takeoffs.
- Prerequisites: Information Takeoff.
-
Optional parameters:
-
scope: (
all|matching) Close every open Information Takeoff, or only the ones matchingname. Default:all. - name: Information Takeoff name or pattern used when
scopeismatching. Supports*and?wildcards.
LIST_ITOS
- Writes a list of the open Information Takeoffs to a text file.
- Prerequisites: Information Takeoff.
-
Parameters:
-
output_path: (Required) Text file to write the Information Takeoff list to.
Visualizations
All visualization actions require an open model. The actions that operate on components take a filter_json parameter that selects the components to act on. The default filter matches all components. See Component filters for the filter syntax and for how to capture a filter from the current selection or from the Filter Table.
SET_AS_SELECTION
- Sets the selection to the components matching the filter.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
ADD_TO_SELECTION
- Adds the components matching the filter to the current selection.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
REMOVE_FROM_SELECTION
- Removes the components matching the filter from the current selection.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
HIDE_COMPONENTS
- Hides the components matching the filter.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
SET_VISIBLE
- Makes the components matching the filter visible.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
ISOLATE
- Isolates the components matching the filter and hides the rest.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
MAKE_TRANSPARENT
- Makes the components matching the filter transparent.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
MAKE_OTHERS_TRANSPARENT
- Makes the components that do not match the filter transparent.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
COLOR_COMPONENTS
- Colors the components matching the filter.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
- color_hex: (Required at run time) Hex color for the matched components, with or without a leading
#.
Example:
{
"type": "COLOR_COMPONENTS",
"params": {
"filter_json": "[{ \"target\": \"ANY\", \"state\": \"INCLUDE\" }]",
"color_hex": "#FF8800"
}
}
RESET_COLORS_VISIBILITY
- Resets component colors, transparency, visibility, and highlights.
- Prerequisites: Model.
- This action has no parameters.
ZOOM_TO_COMPONENTS
- Zooms the 3D view to the components matching the filter. If no components match, the action does nothing and does not fail.
- Prerequisites: Model.
-
Parameters:
-
filter_json: (Required) Component filter.
-
Optional parameters:
-
animate: (
true|false) Animate the camera movement. Default:false.
MOVE_CAMERA
- Moves the 3D camera, either by a relative offset or to an absolute location and direction.
- Prerequisites: Model.
-
Optional parameters:
-
mode: (
relative|absolute) Default:absolute. - delta_x, delta_y, delta_z: Relative movement along each axis, used when
modeisrelative. Values are stored in millimeters. Default:0.0. - location_x, location_y, location_z: Absolute camera location, used when
modeisabsolute. Values are stored in millimeters. Default:0.0. - direction_x, direction_y, direction_z: Look direction vector, used when
modeisabsolute. Defaults:0.0,1.0,0.0. In absolute mode the direction vector must not be zero.
In the Superrun view, Capture Current View fills these values from the current 3D view.
SET_CAMERA_PROJECTION
- Sets the 3D camera to perspective or orthogonal projection.
- Prerequisites: Model.
-
Optional parameters:
-
mode: (
perspective|orthogonal) Default:perspective.
GET_CAMERA_INFO
- Writes the current camera position, direction, and projection to a text file, and to the console.
- Prerequisites: Model.
-
Parameters:
-
output_path: (Required) Text file to write the camera information to.
SET_SECTION_PLANES
- Applies section planes in the 3D view. All existing section planes are disabled first, and only planes with
"enabled": trueare applied. A maximum of six planes can be applied. - Prerequisites: Model.
-
Parameters:
-
planes_json: (Required) Section plane definitions. See Section planes.
In the Superrun view, Capture Current Planes fills this value from the current 3D view.
TAKE_SNAPSHOT
- Saves a PNG snapshot of the 3D view.
- Prerequisites: Model.
-
Parameters:
-
output_path: (Required) Path to the saved PNG file.
MEASURE_DISTANCE
- Measures the distance between two components.
- Prerequisites: Model.
-
Parameters:
-
guid1: (Required) GUID of the first component.
- guid2: (Required) GUID of the second component.
- method: (Required) How the distance is measured:
3d,vertical, orhorizontal. Default:3d. -
Optional parameters:
-
show_dimension: (
true|false) Show the measured dimension in the 3D view. Default:true.
In the Superrun view, From 2 Selected Components fills the GUIDs from the current selection.
System
CHANGE_LAYOUT
-
Activates a named layout.
-
Parameters:
-
layout_name: (Required) Name of the layout to activate.
SHOW_HIDE_VIEW
- Shows or hides a named view.
- Prerequisites: Model.
-
Parameters:
-
view: (Required) The view to show or hide.
-
Optional parameters:
-
action: (
show|hide) Default:show.
RUN_SUPERRUN
-
Runs another Superrun file. The enabled actions of the referenced file are executed in place, as part of the current run, and the referenced file does not consume an additional run from your quota.
-
Parameters:
-
file: (Required) Path to a
.superrunfile. -
Nesting is not allowed: a referenced file that itself contains a RUN_SUPERRUN action is rejected.
- In the Superrun view, Flatten into Workflow replaces this action with the actions of the referenced file. The link to the source file is then lost.
EXIT
- Closes Solibri and all models which have been opened.
- This action has no parameters.
Pattern matching
Parameters that state they support wildcards accept:
*— any sequence of characters, including an empty one.?— any single character.
Rule and ruleset name patterns (name in AUTO_COMMENT, rule_uuid in CREATE_PRESENTATION) use / to separate tree levels, and \/ for a literal slash inside a name.
Output verification
Actions that write a file—SAVE_MODEL, SAVE_ITO, SAVE_RULESET, WRITE_REPORT, GENERAL_REPORT, COORDINATION_REPORT, RESULT_SUMMARY_REPORT, REPORT_ITO, EXPORT_BCF, TAKE_SNAPSHOT, GET_CAMERA_INFO, and the LIST_* actions—verify after execution that the file at output_path exists. If the file is not created, the action fails and the run stops.