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:
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.
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:
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.
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 and clicking the Open Ruleset for Editing button. Then any changes made to the ruleset in the Ruleset Manager are instantly reflected in the Checking view of SMC and vice versa.
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.
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.
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.
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.