Extension Manager: Creating and Managing Your Own Company Extensions

Solibri Model Checker version 9.7 introduced a new tool to create, save, export and open company-specific extensions (Extension Manager) from the Rule Set Manager (RSM) view. This new capability makes it possible for more advanced SMC users to build and share company, location, or project-specific rulesets and extensions.

Additional information on the Extension Manager and company extensions can be found here: Extension Manager View

For pricing or other related inquiries, please contact sales@solibri.com.

As you become more familiar with the RSM and running checks in SMC, you’ll create your own specific rulesets based on a role or use case, such as accessibility checking or coordination.  If you have multiple users of SMC at your company, you’ll wish to share these roles, rules, and classification with those users while keeping these resources up-to-date on their machines when changes are made.  Company Extensions provide a simple method to package and store your own extensions in the Solibri Solution Center (SSC) that are available for users to install on their own machines.

In the following text, we’ll walk through creating our own company extension based on the “BIM Validation – Architectural ruleset”.

 

Open SMC v9.7.

Click File >  Roles > and click the Open button.

Select the “BIM Validation – Architectural.xml” role and click the Open button.

File > Roles > Open Role > BIM Validation - Architectural

By selecting this role, we’ve set the default resources in SMC to automatically load based on the BIM Validation – Architectural.xml role when opening an IFC.  This will also allow these resources to be loaded automatically in the Extension Manager view when creating the company extension. You can reset the interface to ask which role you wish to load upon opening an IFC by marking the “Show Role Selection” box under File > Settings > General.  For more information on roles and role selection, please see: Roles in Solibri Model Checker/

While in the File layout, click “Ruleset Manager.”

File > Ruleset Manager

Select “Extension Manager.”

File > Ruleset Manager > Extension Manager

In the “Account Extensions” view click the  New Company Account Extension button.

Account Extensions

A dialog box will open, asking whether or not you wish to include resources of role “BIM Validation – Architectural.xml”. Click the “Include” button to include the resources that are part of this role.

New Extension - BIM Validation

The “Extension Manager” view will now display the Roles, Rulesets, Information Takeoff Definitions, Classifications, and other templates that are part of the “BIM Validation – Architectural.xml” role.

Extension Manager

Notice the message “Some Links are Broken” at the top of the Extension Manager view.

There are icons to the left of listed resources that indicate whether or not those resources link to other files. A working link is indicated by a   working link icon, while a broken link is indicated by a  broken link icon.

The out-of-the-box General Space Check ruleset is missing a “Building Elements – Uniformat” classification referenced in one of its rules, which is indicated by a  broken link icon.

In the Classifications list, click the  Add Classification button.

Browse to the “Building Elements – Uniformat” classification and click the Open button.

Extension Manager - BIM Validation Fixed

The link to the “Building Elements -Uniformat” classification referenced in the “Space Validation” rule within the “General Space Check” ruleset is no longer broken now that the classification has been added.

In the Rulesets list, click the  Add Rulesets button.

Add the “Egress Analysis.cset” ruleset.

Again, notice the “Some Links are Broken” at the top of the Extension Manager view, along with the  Broken Link icon next to the newly added ruleset.  The Egress Analysis ruleset relies on the “Exits” and “Vertical Access” classification files to determine egress routes.

In the Classifications list, click the  Add Classification button, and add the “Exits” and “Vertical Access” classification files to resolve the issue of broken links.

In the Account Extensions view, click the  Export SRE as a JAR button and save your newly created Extension to your machine.  In this example, we saved the file named “My Extension.jar” to the desktop.

This extension is now able to be uploaded to your company’s Solibri Solution Center (SSC) account.

Login to your SSC account as an administrator at https://solution.solibri.com/

In the Administrator view, click the Company Extensions tab

Click the Add Company Extension button

Solibri Solution Center - Company Extensions

A window will open prompting you to browse to your extension, provide a short description, provide a custom logo, and version number.  Browse to the .jar file of the extension you created, provide a description and version number and click the Generate Extension button.

Add New Extension Window

A window will open stating that the extension will be processed and an email will be sent to your SSC email address once the extension is available.

When completed, you’ll see the extension listed under your company extensions in the SSC.

SSC - Company Extensions - My Extension

You can now assign your company extension to users in your company’s SSC account. Click the License Assignment Tab, select the Extensions radio button,

Click the License Assignment Tab, select the Extensions radio button, Select the newly added “My Extension” extension from the list and click the Refresh button.

Mark the users you wish to have access to your company extension.  For this example, ensure you mark your own user account so that the extension will be available in your install of SMC. Importantly, scroll down in the window and click the Assign button so that the update takes effect.

 

In SMC, click File > Solution Center.   You’ll find the “My Extension” extension you created available to install.  Click Install.

SMC - Solution Center

Close and reopen SMC.

Click File > Roles and click the Open Button.

Click the Resources tab, and you’ll find the role of your newly created company extension.  This role will include the resources of your company extension.

Open Role

In addition, if you click File > Settings > General and mark the “Show Role Selection” box, when you add a ruleset to a new project, the role of your company extension will be listed.  Notice in the screenshot below, the role BIM Validation – Architectural at the bottom.  This is the role of the company extension.  There is another “BIM Validation – Architecture” role listed above, which was the original role we modified to create our customized company extension from.

Please Choose a Role

 

Extension Manager: Creating and Managing Your Own Company Extensions

Self-Configuring Rulesets: Gatekeeper Rules

In the article Self-Configuring Rulesets with User Input, we introduced self-configuring rulesets through the use of user input, which allows rulesets to configure themselves based on a property of a model set by the user in Solibri Model Checker (SMC).  These self-configuring rulesets are also called “Gatekeeper” rules, as these rules have the ability to pass only specific components based on some condition to sub rules for further checking.

In the following example, we will check a requirement that any space over 500 sq. ft. and that contains a boiler, incinerator, or furnace must have 2 doors to exit from.  No individual rule template can check for all three of these conditions.  Instead, we will use three different rule templates and create a nested self-configuring “gatekeeper” ruleset to pass the components based on specific conditions to sub rules to further check each condition.

You can download this example as a .smc file from the link here: Boiler_Rooms.smc

Example 1 – Creating Nested Gatekeeper Rules

In this example, we’ll show how nested gatekeeper rules can be used to check components for multiple conditions using multiple rule templates:

  1. Open the Boiler_Rooms.smc file in SMC and click the Checking Layout tab.
  2. In the Checking View, expand the Example 1 ruleset folder, select Space must reference 2 or more doors, and look at the results in the Results View:
    Space must reference 2 or more doors - Results
    Space must reference 2 or more doors – Results

    Rooms 1, 3, and 7 only have a single door and fail this check.

  3. Open the rule parameters for this rule:
    Space must reference 2 or more doors - Rule Parameters
    Space must reference 2 or more doors – Rule Parameters

    The SOL/231 – Comparison Between Property Values rule template was used to check that at least two doors have a Referencing relation to a space.  Remember, in the Components to Check Filter Parameters table, we exclude any spaces that have a space group classification defined, as those spaces are areas rather than rooms.

  4. In the Checking View, select Space must not contain a boiler, incinerator, or furnace and look at the results in the Results View:
    Space must not contain a boiler, incinerator, or furnace - Results
    Space must not contain a boiler, incinerator, or furnace – Results

    Rooms 1, 2, 3, 7, 8, and 9 all contain boiler components and fail this check.

  5. Open the rule parameters for this rule:
    Space must not contain a boiler, incinerator, or furnace - Rule Parameters
    Space must not contain a boiler, incinerator, or furnace – Rule Parameters

    The SOL/225 – Number of Components in Space rule template was used to ensure that there is a maximum of 0 components classified as Boilers, Furnaces, or Incinerators in all spaces.  The Space Usage classification is used in the rule parameters; however, since the cells have the asterisks (*) wildcard matching character, all spaces will be checked.  The Boilers, Incinerators, and Furnaces classification is simply classifying any component as such based on the name of the component, as seen in the classification rules:

    Boilers, Incinerators, and Furnaces - Classification Rules
    Boilers, Incinerators, and Furnaces – Classification Rules
  6. In the Checking View, select Space area must be less than 500 sq ft and look at the results in the Results View:
    Space area must be less than 500 sq ft - Results
    Space area must be less than 500 sq ft – Results

    Rooms 1, 2, 3, 4, 5, and 6 all have an area of 625 sq ft and fail this check.

  7. Open the rule parameters for this rule:
    Space area must be less than 500 sq ft - Rule Parameters
    Space area must be less than 500 sq ft – Rule Parameters

    The SOL/132 – Space Area rule template was used to check that all spaces have a maximum area of 500 sq ft.

  8. Click File > Ruleset Manager
  9. In the Ruleset Folders View, expand Rulesets Open in SMC > Gatekeeper Example > Example 1 and select Space must not contain a boiler, incinerator, or furnace

    Rulesets Folder - Rulesets Open in SMC
    Rulesets Folder – Rulesets Open in SMC

    A self-configuring rule is created by dragging another rule or ruleset onto the rule within the Workspace View that acts as the self-configuring rule.  The Sub Rule Options in the Info View is then set to one of the four options.  The last two options, Check only failed components and Check only passed components, are used for “Gatekeeper” rules, as these rules will only pass specific components to sub rules based on whether those components pass or fail the check.

    In this example, the gatekeeper rule was created by dragging the Space must reference 2 or more doors rule from the Ruleset Folders View onto the Space must not contain a boiler, incinerator, or furnace rule in the Workspace View. The Space Area must be less than 500 sq ft rule from the Ruleset Folders View was then dragged onto the Space must reference 2 or more doors rule in the Workspace View.  The Sub Rule Options for both nested gatekeeper rules were set to Check only failed components.

    Creating Self-Configuring Rules
    Creating Self-Configuring Rules
  10. In the Info View, you see this is a self-configuring gatekeeper rule with the sub rule option set to Check only failed components.

    Check Only Failed Components
    Check Only Failed Components

    Therefore, the sub rules will only check the spaces 1, 2, 3, 7, 8, and 9 that have a boiler, incinerator, or furnaces and fail this check.  If you look at Info View for the sub rule Space must reference 2 or more doors, it too is a gatekeeper that passes the spaces 1 and 7 that only have a single door and fail the check to its sub rule. That sub rule checks spaces 1 and 7 to ensure that they are less than 500 sq ft, and space 1 then fails the overall check as it is 625 sq ft.

  11. Click the Return to Solibri Model Checker Return to Solibri Model Checker button button, and in the Checking View, select the sub rule Space area must be less than 500 sq ft.
    Space area must be less than 500 sq ft - Sub Rule Results
    Space area must be less than 500 sq ft – Sub Rule Results

    In the Results View, only space 1 fails all three conditions.

  12. Expand the remaining two gatekeeper rules and check their results.  The same space 1 is returned as a result; however, the description of the issue in the Info View depends on the leaf sub rule that is checked:
    Space must reference 2 or more doors - Sub Rule Results
    Space must reference 2 or more doors – Sub Rule Results

    Space must not contain a boiler, incinerator, or furnace  - Sub Rule Results
    Space must not contain a boiler, incinerator, or furnace – Sub Rule Results

Example 2 – Input and Output of Gatekeeper Rules

In this example, we’ll show that gatekeeper rules have specific input and output components that can be passed in from parent rules and passed out to sub rules.  We add an additional requirement to check for boilers, incinerators, and furnaces that are greater than 600 000 Btu.  The requirement is now: Any space that is over 500 sq ft and contains a boiler, incinerator, or furnace that exceeds 600 000 Btu must have 2 doors to exit from.

  1. In the Checking View, expand the Example 2 ruleset folder, select Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) , and look at the results in the Results View:
    Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) - Results
    Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) – Results

    All six boilers in the model are greater than 11.95 bhp and fail this check.

    Note: 11.95 bhp = 600,000 Btu.

  2. Open the rule parameters for this rule:
    Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) -Rule Parameters
    Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) -Rule Parameters

    This rule checks to ensure the BHP property of the Mechanical property set is less than or equal to 11.95 for all components classified as a Boiler, Furnace, and Incinerator.

  3. In the Checking View, expand the first gatekeeper rule Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) and select the leaf sub rule Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) to view its results in the Results View:

    Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) - Sub Rule Results
    Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) – Sub Rule Results

    In the Checking View, and Results View, this rule passed the check even though space 1 should obviously still fail as the boiler in that space is greater than 11.95 bhp.  If you click the Add View ADD_VIEW button and select the Checked Components View, you’ll see why.  In the Checked Components View, select Show All Checked and the view shows that no components were checked. Therefore, the rule, passes the check, since there are no components with issues.  Its parent gatekeeper rule, Space must not contain a boiler, incinerator, or furnace, only passes Space components to the leaf sub rule. However, that leaf sub rule is not checking Space components.  It is checking any component that was classified as a Boiler, Incinerator, or Furnace, and none of these components were passed into it as input.

    This is a very important concept to understand when setting up your gatekeeper rules:  If you use the Check all failed components or Check all passed component sub rule options, the output component type of the parent gatekeeper rule must match the input of the child sub rule.

  4. In the Checking View, expand the Example 1 ruleset folder and select the Space must not contain a boiler, incinerator, or furnace rule.  In the Checked Components view, click the Switch to Component Hierarchy COMPONENT_HIERARCHY button, and you’ll see that only Space components are listed as results that failed:

    Space must not contain a boiler, incinerator, or furnace - Failed Components
    Space must not contain a boiler, incinerator, or furnace – Failed Components
  5. In the Checking View, expand the Example 2 ruleset folder, expand the second gatekeeper rule Boiler, incinerator, or furnace must be less than 11.95 bhp (400,000 Btu) and select the leaf sub rule Space must not contain a boiler, incinerator, or furnace >400,000 Btu to view its results in the Results View:

    Space must not contain a boiler, incinerator, or furnace > 400,000 Btu - Sub Rule Results
    Space must not contain a boiler, incinerator, or furnace > 400,000 Btu – Sub Rule Results


    It is correctly reporting space 1 as an issue.

  6. Open the rule parameters for this rule:
    Space must not contain a boiler, incinerator, or furnace > 400,000 Btu - Rule Parameters
    Space must not contain a boiler, incinerator, or furnace > 400,000 Btu – Rule Parameters

    The problem in checking was resolved by using a Component Classification named Boilers, Incinerators, and Furnaces with Power that not only classifies these components based on their Name, but also classifies them based on their BHP property:

    Boilers, Incinerators, and Furnaces with Power - Classification Rules
    Boilers, Incinerators, and Furnaces with Power – Classification Rules

    Only boilers, incinerators, or furnaces that have a BHP value greater than 11.95 are checked if they are contained in the spaces 1 and 4 passed in as input.  As only space 1 has one of those boilers, it fails and is the result listed in the Results View.

Example 3 – An Alternate Method Using General Intersection

  1. In the Checking View, expand the Example 3 ruleset folder and select Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU (General Intersection Rule) to view the results in the Results View:
    Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU - Results
    Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU – Results

    Only the spaces 1, 2, and 3 that are greater than 500 sq ft and contain a boiler greater than 11.95 bhp fail the check.

  2. Open the rule parameters for this rule:
    Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU - Rule Parameters
    Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU – Rule Parameters

    This rule uses the SOL/1 – General Intersection Rule rule template that has two Filter Parameter tables.  This rule filters spaces that are greater than 500 sq ft that are not space groups in the Component 1 Filter Parameter table, and filters any components that are Boilers, Incinerators, or Furnaces that are greater than 11.95 bhp.  Any components from the Component 1 filter Parameter Table that are inside any components from the Component 2 Filter Parameter table fail and those components are returned as results.   This allows three conditions to be checked:

    1. The space area is greater than 500 sq ft
    2. The Boiler, Incinerator, or Furnace is greater than 600,000 Btu
    3. The Boiler, Incinerator, or Furnace is inside the space.
  3. Expand the gatekeeper rule Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU (General Intersection Rule) and select the leaf sub rule Space must reference 2 or more doors to view its results in the Results View:

    Space must reference 2 or more doors - General Intersection Sub Rule Results
    Space must reference 2 or more doors – General Intersection Sub Rule Results

    Of spaces 1, 2, and 3 that were passed in as input, only space 1 has a single door and fails the check.

    NOTE: Not only did the parent Space > 500 sq ft must not contain boiler, incinerator, or furnace > 400,000 BTU (General Intersection Rule) gatekeeper rule pass the intersecting spaces from the Component 1 Filter Parameter table in the rule parameters to the sub rule Space must reference 2 or more doors, it also passed the boilers, incinerators, and furnaces greater than 400,000 Btu from the Component 2 Filter Parameter table that were inside those intersecting spaces.  However, the Components to Check Filter Parameter table from the Space must reference 2 or more doors sub rule only checks space components.  Therefore, only spaces are returned as results.  Again, it is also important to understand what components are passed into rule parameters of sub rules of gatekeeper rules and what components are passed out of rule parameters from parent gatekeeper rules.

Gatekeeper Rule Template Input/Output Table

The following table provides the component types and in some cases the rule parameters of the input and output of gatekeeper rules for all rule templates in SMC.  The input column is what components are passed into a sub rule and the output column is what components are passed out from the parent gatekeeper rules:

Tag Rule Input Output
SOL/208 Accessible Door Rule Doors and Openings Doors and Openings
SOL/207 Accessible Ramp Rule Ramps Ramps
SOL/210 Accessible Stair Rule Stairs Stairs
SOL/211 Accessible Window Rule Windows Windows
SOL/209 Free Floor Space Spaces Spaces
SOL/233 Allowed Beam Intersections Beams for the Checked Components Filter Parameter table Beams from the Checked Components Filter Parameter table and any components from the Components in Allowed Area Filter Parameter table
SOL/215 Allowed Profiles Beams, Columns, and Members Beams, Columns, and Members
SOL/224 Architectural Components are Filled Any non-container components for the Architectural Building Components Filter Parameter table Any non-container components from the Architectural Building Components Filter Parameter table
SOL/212 Building Envelope Validation Building All walls from the building envelope
SOL/231 Comparison Between Property Values Any components for the Checked Components and Compared Components Filter Parameter tables Any components from the Checked Components and Compared Components Filter Parameter tables
SOL/222 Component Distance Any non-container components for the Source Component Filter Parameter table Any non-container components from the Source Component Filter Parameter table
SOL/171 Component Property Values Must Be Consistent  Any components  Any components
SOL/25 Components Must Be Connected to Spaces Windows, Doors, and Openings  Windows, Doors, and Openings
SOL/21 Components Must Have Unique Identifier  Any components  Any components
SOL/23 Components Must Touch Other Components Any non-container components for the Checked Components Filter Parameter table Any non-container components from the Checked Components Filter Parameter table
SOL/161 Distances Between Spaces Spaces Spaces
SOL/218 Element Hole Validation Rule Beams, Columns, and Members Beams, Columns, and Members
SOL/179 Escape Route Analysis Spaces Spaces
SOL/190 Fire Compartment Area Must Be within Limits Floors Floors
SOL/172 Fire Walls Must Have Correct Wall, Door, and Window Types Floors Floors
SOL/111 Floor and Gross Area Analysis Floors Floors
SOL/220 Floor Distance Any non-container components Any non-container components
SOL/228 Floor Names Must Be Consecutive Buildings Buildings
SOL/226 Free Area in Front of Components Any non-container components Any non-container components
SOL/1 General Intersection Rule Any non-container components for the Component 1 Filter Parameter table Any non-container components from the Component 1 and Component 2 Filter Parameter table
SOL/17 Layer of Component Must Be from Agreed List Any non-container components Any non-container components
SOL/232 Manual Checking Rule N/A: CHECKS ALL MODEL COMPONENTS N/A: CANNOT BE USED AS GATEKEEPER
SOL/206 Model Comparison Any components for the Checked Components Filter Parameter table Any components from the Checked Components Filter Parameter table
SOL/11 Model Should Have Components Buildings Any non-container components
SOL/176 Model Structure Buildings, Doors, Floors, and Windows Buildings, Doors, Floors, and Windows
SOL/225 Number of Components in Space Spaces Spaces
SOL/230 Property Rule Template with Component Filters Any components Any components
SOL/9 Property Values Must Be from Agreed List Any components Any components
SOL/203 Required Property Sets Any components Any components
SOL/213 Shelf Running Metre Rule Spaces Spaces
SOL/132 Space Area Spaces Spaces
SOL/38 Space Count on Each Floor Floors Floors
SOL/175 Space Group Containment Spaces Spaces
SOL/36 Space Requirements Spaces Spaces
SOL/202 Space Validation Spaces Spaces
SOL/191 Spaces Must Be Included in Fire Compartments Floors Spaces
SOL/162 Spaces Must Be Included in Space Groups Spaces Spaces
SOL/19 Spaces Must Have Enough Window Area Spaces Spaces
SOL/223 Structural Components Fit in Architectural Ones Any non-container components for the Structural Building Components Filter Parameter table Any non-container components from the Structural Building Components Filter Parameter table
SOL/37 Total Space Area on Each Floor Floors Floors
SOL/221 Wall Distance Walls Walls
SOL/216 Wall Validation Walls Walls
Self-Configuring Rulesets: Gatekeeper Rules

Self-Configuring Rulesets with User Input

Version 9 of Solibri Model Checker (SMC) introduced a powerful new feature for ruleset management: self-configuring rulesets.  These allow sub-rulesets and rules to be grouped under parent self-configuring rules, which are only checked based on the results of those self-configuring parent rules.  In addition, a user input container component was added to allow a user to specify properties of a model within SMC itself.  For example, using these two new features, a user can now specify a building type or phase of a project as user input within SMC, and the rulesets will self-configure to only check for the requirements specific to that building type or phase.

Often called “Gatekeeper” rules, these rules also have the ability to only pass specific components that pass or fail a check to sub-rules for further checking.  However, this is a topic that is discussed in the article: Self-Configuring Rulesets: Gatekeeper Rules

This article will teach you how to create user input tasks for your self-configuring rulesets, how to create the self-configuring rulesets themselves, and how to configure your rulesets by setting user input properties in the To-Do dialog.

The ruleset created through the list of steps below is available here : User Info Example.cset

Creating a User Input task

The first steps in creating a self-configuring ruleset that uses user input is to create the user input task(s) for the ruleset:

  1. Open SMC.
  2. Open any model, such as SMC Building.ifc found in the Samples folder of SMC. You can easily find this folder under Recent Model Places by selecting File > Recent.
  3. In the Ensure Model Disciplines dialog, leave the Discipline set to Architectural and click OK.
  4. Click File > Ruleset Manager.
  5. In the Ruleset Folders View of the Ruleset Manager, select Rulesets Open in SMC, which is the last listing.
  6. In the Workspace View, click the New Ruleset New Ruleset button. This creates a new ruleset that is currently open in the Checking View of the Checking Layout.
  7. In the Workspace View, select the New Ruleset that was just created.
  8. In the Info View, enter “User Info Example” in the Name box.
  9. In the Parameters View, click the Add New Task Add New Task button.
  10. In the Select Tasks to Add dialog that opens, click the Add User Input Task button.
  11. In the Add Task dialog, enter “Set Project Design Phase” for the Name and “Project Design Phase” for Property Name.
  12. In the Description box, enter “Set the Project Design Phase user input to either Schematic Design, Design Development, or Construction Documents”
  13. Add three rows to the Options list by clicking the Add a New Row Add New Row button three times. In the three <Empty> cells, enter “Schematic Design”, “Design Development”, and “Construction Documents”. The Add Task dialog should look the same as below. Click OK.

    The Add User Input Task dialog
    The Add User Input Task dialog
  14. In the Select Tasks to Add dialog, click OK.   The Project Design Phase task has now been added to the list of tasks in the Parameters View. When this ruleset is opened in the Checking View, the To-Do dialog will open and prompt the user to select a Project Design Phase.  The Name parameter set in the Add/Edit Task dialog is what will displayed in the To-Do dialog.   If you hover over the task in the To-Do dialog, a tooltip is displayed with what is provided in the Description box of the Add/Edit Task dialog.
    To-Do Dialog with a User Input Task
    To-Do Dialog with a User Input Task

    The Property Name in the Add/Edit Task is the user input property that will be used for checking in rulesets.  The items you add to the Options table in the Add/Edit Task dialog are the available choices a user can pick in the User Input Task Wizard dialog that opens after clicking the task in the To-Do dialog.

    User Input Task Wizard
    User Input Task Wizard

Creating Self-Configuring Parent Rules

Now that we have the user input task created, we can create the parent self-configuring rules that check the user input.

  1. In the Libraries View, expand Solibri Common Rules and drag the Property Rule Template with Component Filters rule template onto the User Info Example ruleset in the Workspace View to add the rule to the ruleset. This rule template is the one most commonly used to check user input.

    Adding the Property Rule Template with Component Filters Template to the User Info Example Ruleset
    Adding the Property Rule Template with Component Filters Template to the User Info Example Ruleset
  2. Select the Property Rule Template with Component Filters rule in the Workspace View to view its settings in the Info View and Parameters View.
  3. In the Parameters View, click the Add a New Filter Add a New Filter button in the Components to Check Filter Parameter table.
  4. In the Components to Check Filter Parameter table, click the cell in the Components column for the newly added row.  Click the Browse BROWSE button that appears.
  5. In the Select Component Type dialog, expand Container and select User Input. Think of User Input as a single container component within your model that has properties you can create and set yourself.

    User Input Component Type
    User Input Component Type
  6. In the Requirements Filter Parameter table, click the Browse BROWSE button in the Components column for the new row. Expand Components and select User Input. Click OK.
  7. In the Requirements Filter Parameter table, click the Browse BROWSE button in the Property column for the row.
  8. In the Select Property dialog, select the Property Sets property group.
  9. Click the Property Set Name dropdown, and notice there is nothing listed to select. This is because the User Input component hasn’t been initialized yet with a value and doesn’t currently exist in the model. Click Cancel.

    User Input Component Not Initialized with a Value
    User Input Component Not Initialized with a Value
  10. Click the Return to Solibri Model Checker Return to Solibri Model Checker button button in the top-right of the application.
  11. Click the To-Do button in the top-right of the application.
    To-Do
  12. In the To-Do dialog, click Set Project Design Phase.

    Set Project Design Phase User Input Task
    Set Project Design Phase User Input Task
  13. In the User Input Task Wizard, select Schematic Design.

    User Input Task Wizard
    User Input Task Wizard

    You are now able to select the UserInput property set and the Project Design Phase property in your rules.

  14. Click File > Ruleset Manager
  15. In the Parameters View, in the Requirements Filter Parameter table, click the Browse BROWSE button in the Property column.
  16. In the Select Property dialog, select the Property Sets property group. Notice now, the Property Set Name is already set to UserInput, the Property Name is set to Project Design Phase, and the Format is set to Text. Leave the settings as they are and click OK.

    Selecting the UserInput.Project Design Phase Property
    Selecting the UserInput.Project Design Phase Property
  17. In the Operator column of the row, select One Of.
  18. In the Value column of the row, double click and select Schematic Design in the Add Values dialog and click OK. Click OK in the Edit Selected Values dialog.

    Edit Selected Values Dialog
    Edit Selected Values Dialog
  19. In the Info View, rename this rule Schematic Design.  The settings of the rule should look the same as below:

    Schematic Design User Input Checking Rule
    Schematic Design User Input Checking Rule
  20. In the Rulesets Folders View, under Rulesets Open in SMC > User Info Example, drag the Schematic Design rule onto the User Info Example ruleset listed in the Workspace View. This creates a duplicate of the already existing rule. Repeat this a third time so Schematic Design is listed three times as below:

    Duplicating the Schematic Design Rule
    Duplicating the Schematic Design Rule
  21. In the Workspace View, select the second listing of the Schematic Design rule, and in the Info View, change the Name of the rule to Design Development.
  22. In the Parameters View, in the Requirements Filter Parameter table, double click [Schematic Design] in the Value column of the row.
  23. In the Edit Selected Values dialog, double click Schematic Design and change the value to Design Development, and click OK.
  24. In the Workspace View, select the third listing for the Schematic Design rule, and in the Info View, change the Name of the rule to Construction Documents.
  25. In the Parameters View, in the Requirements Filter Parameter table, double click [Schematic Design] in the Value column of the row.
  26. In the Edit Selected Values dialog, double click [Schematic Design] and change the value to Construction Documents, and click OK.
  27. Click the Return to Solibri Model Checker Return to Solibri Model Checker button button in the top-right of the application.
  28. Click the Checking Layout tab, and click the Check button in the Checking View. We now have the parent rules that can be used as self-configuring rules by dragging other rules and rulesets on top of them. Notice in the checking window, the only rule that has an OK status is the Schematic Design rule, since it only passes the check if the User Input.Project Design Phase property has the value Schematic Design, which is what was set in the Set Project Design Phase user input task. The Design Development rule fails if the User Input.Project Design Phase property has a value other than Design Development. In the Info View of the result you see it states “User Input component(s) have wrong value. The actual value of Property: UserInput.Project Design Phase is Schematic Design. One Of [Design Development].”

    Gatekeeper User Input Parent Rule Checking Results
    Gatekeeper User Input Parent Rule Checking Results

Adding Sub Rules to Self-Configuring Rules

With our parent self-configuring rules created, we can now add the rulesets and rules that are specific to those self-configuring rules:

  1. Click File > Ruleset Manager
  2. In the Ruleset Folders View, expand the Rulesets\Architectural Rules folder.
  3. Drag the BIM Validation – Architectural ruleset onto the Schematic Design, Design Development, and Construction Documents rules. Upon placing the ruleset onto these rules, they have now become self-configuring (gatekeeper) rulesets.
    Copying Ruleset to Gatekeeper User Input Parent Rules
    Copying Ruleset to Gatekeeper User Input Parent Rules

    Select one of the Gatekeeper User Input Parent rules, and in the Info View, you’ll find four sub rule options:

    Sub Rule Options
    Sub Rule Options
    • Check all model components, if passed – If the rule passes, then its sub rules are checked on the entire model. If the rule fails, it and its subrules are removed from the Checking View.
    • Check all model components, if failed – If the rule fails, then its sub rules are checked on the entire model. If the rule passes, it and its sub rules are removed from the Checking View.
    • Check only failed components – Only components that failed the check are passed to sub rules for further checking. If all components had passed, it and its sub rules are removed from the Checking View.
    • Check only passed components – Only components that passed the check are passed to sub rules for further checking. If all components had failed, it and its sub rules are removed from the Checking View.
  4. Leave the option set to Check all model components, if passed. The rulesets should only be listed and checked for the specific Project Design Phase set as user input.
  5. Drag General Space Check onto the Design Development, and Construction Documents rules.
  6. Drag Advanced Space Check, Space Program, and Project Specific Types and Names onto the Construction Documents rule. The self-configuring ruleset is now able to self-configure based on the Project Design Phase user input:

    Self-Configuring User Info Example Ruleset
    Self-Configuring User Info Example Ruleset

Configuring the ruleset with User Input

Now that the ruleset is complete, we can allow it to self-configure by setting the Project Design Phase user input in the To-Do dialog:

  1. Click the Return to Solibri Model Checker Return to Solibri Model Checker button button in the top-right of the application.
  2. Click the Checking Layout tab
  3. Click the To-Do button in the top-right of the application.
  4. In the To-Do dialog, click the Show Complete button to reveal the Set Project Design Phase task. It is currently hidden because we already completed the task by setting the Project Design Phase to Schematic Design earlier.
  5. Click Set Project Design Phase, and set the phase to Design Development.
  6. In the Checking View, you’ll notice the ruleset has updated itself so only the BIM Validation – Architectural and General Space Check rulesets are listed. If you set the Project Design Phase property in the To-Do dialog to Construction Documents, you’ll then see all five rulesets listed in the Checking View.
    Self-Configuring User Info Example Ruleset - Schematic Design
    User Info Example Ruleset : Project Design Phase = Schematic Design
    Self-Configuring User Info Example Ruleset - Design Development
    User Info Example Ruleset : Project Design Phase = Design Development

    Self-Configuring User Info Example Ruleset - Construction Documents
    User Info Example Ruleset : Project Design Phase = Construction Documents
Self-Configuring Rulesets with User Input

Creating Rulesets in SMC

Solibri Model Checker (SMC) comes with more than 50 out-of-the-box rulesets that can check your model. However, at some point you will want to create your own custom ruleset either from scratch or by adding to, removing from, and/or modifying the parameters of an existing ruleset. This article will describe some tips on how you can speed up the process, such as by editing the Rulesets Open in SMC folder and copying existing rules from rulesets in the Rulesets Folders view into your own ruleset open for editing in the Ruleset Manager.

TIP: START FROM AN EXISTING RULESET

The easiest starting point when creating a ruleset is to edit an existing ruleset that has similar checks to what you want to run. As an example, we will edit the BIM Validation – Architectural ruleset found in the Rulesets/Architectural ruleset folder of SMC. If you have your role set to BIM Validation – Architectural, after opening an IFC, the BIM Validation – Architectural ruleset will automatically open along with two other rulesets for checking spaces and intersections:

Rulesets included in the BIM Validation - Architectural Role
Rulesets included in the BIM Validation – Architectural Role

You can now begin editing the parameters of rules contained in this ruleset from within the Checking view by right-clicking a rule and selecting Rule Parameters.

TIP: DISABLE RULES/RULESETS THAT AREN’T BEING EDITED

Often, you’ll want to test the ruleset as you are editing by checking a model against it. Since we are only interested in the BIM Validation – Architectural ruleset, in the Checking view, we can multi-select the other two rulesets, right-click them, and select Disable to save time by ignoring these other rulesets when running a check. You can also disable rules within the ruleset you are editing if you find some are taking a while to check. Just be sure to re-enable them before saving your ruleset so they won’t be disabled by default when you open the ruleset next time.

Disabling Rulesets
Disabling Rulesets

In the Checking view, expand BIM Validation – Architectural > Deficiency Detection > Required Components, and open its Rule Parameters to find a listing of components that should exist in the model:

Rule Parameters of Required Components Rule
Rule Parameters of Required Components Rule

We want to insert a row in the Required Components table to check that Spaces are included in the model, as well. To do this, click the Insert Row button, select Space as the type of component, and click OK.  The rule will now check to ensure Spaces exist in the model.

TIP: SAVE AS A NEW RULESET IF Not SURE OF THE CHANGES Made

As the ruleset has been slightly modified, after selecting the BIM Validation – Architectural ruleset in the Checking view, the Save the Ruleset button is now enabled. At this point we could overwrite the existing out-of-the-box ruleset by clicking this button; however, as we are only experimenting, we would rather click the Save Ruleset with a New Name button to create a new ruleset.

Saving a Ruleset
Saving a Ruleset

NOTE: If you save as a new ruleset, it is not yet associated with the BIM Validation – Architectural role. To add it to the role, you can click File > Roles and click the Add Rulesets (+) button to browse to the new ruleset you created.  Don’t forget to click the Star button next to the new ruleset if you want it to open automatically as a default. You can then remove the older version of the Ruleset by selecting it and clicking Remove Rulesets (X).

TIP: Use the Checking Layout to modify Rule Parameters –
Use THE Ruleset Manager to modify Rulesets

As Spaces are an integral part of a model, rather than simply just adding the Space component to the Required Component rule, we want a separate rule in and of itself to check that spaces exist in the model. Opening the Rule Parameters from the Checking view is great for quickly making changes to a rule in terms of its parameters while running checks; however, to actually modify the ruleset, we will now use the Ruleset Manager.

In addition to modifying rule parameters, the Ruleset Manager allows you to add and remove rules and rulesets, copy rules from existing ruleset folders, rename, and modify descriptions of rules, and other tasks as well.

To open the Ruleset Manager, select File > Ruleset Manager.

TIP: Open Rulesets FOR EDITING from “Rulesets Open in SMC”

If we want to add a rule to the BIM Validation – Architectural ruleset, we could open the .cset file for editing from the Rulesets Folder view. However, when we modify the ruleset in the Workspace view, in order to have the changes reflected in the Checking view in SMC, we have to save the ruleset in the Ruleset Manager, close the existing ruleset that is currently open in the Checking view, and then reopen the ruleset we just saved.

Instead, since the ruleset we want to modify is open in the Checking view, we can open it for editing by selecting it from the Rulesets Open in SMC folder in the Ruleset Folders view. Then any changes made to the ruleset in the Ruleset Manager are instantly reflected in the Checking view of SMC and vice versa.

Opening a Ruleset Open in SMC for Editing
Opening a Ruleset Open in SMC for Editing

NOTE: You can also create a new ruleset open for editing that is open in SMC by selecting the Rulesets Open in SMC folder in the Ruleset Folders view and clicking the New Ruleset button.

Creating a New Ruleset Open in SMC
Creating a New Ruleset Open in SMC

This will create a new ruleset that is both open for editing in the Workspace view and able to be checked in the Checking view.

New Ruleset Created in the Workspace View
New Ruleset Created in the Workspace View
New Ruleset Created in the Checking View
New Ruleset Created in the Checking View

TIP: Copy Rules from Existing Rules

With the BIM Validation – Architectural ruleset open for editing, we want to add a rule to ensure spaces exist. Expanding the General Space Check ruleset, which was one of the other two rulesets that were included with the BIM Validation – Architectural role, we see the first rule listed in this other ruleset is The Model Should Have Spaces. This rule uses the same rule template as the Required Components rule, but only checks that spaces exist in a model. Rather than creating a new rule from scratch using a rule template from the Libraries view, we can simply drag the The Model Should Have Spaces rule from the General Space Check Ruleset in the Ruleset Folders view to the Deficiency Detection ruleset contained in our BIM Validation – Architectural ruleset we have open for editing in the Workspace view.

Copying Rules from Ruleset Folders to the Workspace
Copying Rules from Ruleset Folders to the Workspace

If we switch back to Solibri Model Checker and run a check, we see that the rule has been added to the ruleset and passes the check.

The Checking View After Adding a Rule
The Checking View After Adding a Rule
Creating Rulesets in SMC