This article describes the Clash Detection Matrix rule that has been developed by Solibri UK Ltd. The rule is available for Solibri Office 9.13.7 or later via a Solibri Extension, which can be downloaded from Solibri Solution Center.
The rule identifies clashes between specific groups of components based on an external Clash Matrix definition. The rule automatically creates results that are categorised by their disciplines inline with the Matrix definition, and, as a by-product, generates heat map and cumulative issue reports.
The article covers the following topics:
Related articles:
The Clash Detection Matrix Extension provides a recognised industry process for clashing groups of building components against one another to test the design coordination of elements in different consultants models. The required groupings used to to create clash groups can be created in line with IFC Types/Entities, Classifications, or a mixture of the two.
This logic of checking specific groups of components against others naturally creates a matrix. The intersecting cells in a spreadsheet indicate whether the check is required and can determine the tolerances, along with other more advanced logic, that might be required at specific project stages.
Before this extension was released, creating results based on a clash matrix meant manually configuring the General Intersection rule (#1), creating a separate instance for each matrix intersection. Although users are able to copy a singular instance of the General Intersection rule, each rule requires the user to name, define the components to to be checked and configure the tolerances.
The Clash Detection Matrix Extension allows the user to create the Clash Matrix in Excel. Groupings can be created either by using standardised IFC definitions, predefined classifications already established within Solibri, or a mixture of the two. This provides a flexible solution which facilitates easy updates when required. More stringent checks at later project stages can be achieved by simply changing values in the current sheet or providing a different version for the right project stage.
Adopting a strategy for IFC and validating the models for conformance to this standard would naturally allow fully automated clash checks to be carried out.
Example files to help understand the configuration of both the rule in Solibri and also the external clash requirement spreadsheet along with blank template files and the progression report for user based projects are listed below.
-
Example files
-
Clash Matrix Extension Demo.smc
-
ClashDetectionRequirement_EXAMPLE.xlsx
-
-
Template files
-
ClashDetectionRequirement
-
ClashDetectionProgressionReport
-
Note
You can download these resources below this article.
To utilise the new rule within your own projects once the extension is installed you can access the rule from the library Clash Detection Matrix (UK) from within Rule Set Manager. The process to add a rule to a new ruleset can be seen in the movie Creating Ruleset 2/6 from Solibri Inc you tube channel and the rule series playlist.
Reset Issues: Click to reset the rule results. This will allow the rule to be re-run without changes to the model.
Requirements File Path: Browse and select the Requirements file that provides the Clash Matrix to be used within the rule. A blank Requirements file can be downloaded from the bottom of this article
Heat Map Report Directory Path: Browse and select the report directory to the be used for the Heat Map reports. An instance of the Heat Map report will be created each time the rule is run. The Clash Detection Report file created contains the time and date stamp within the file name.
Progression Report File Path: Browse and select the template file that will be used for tracking the issues the rule identifies over time. Each time the rule is run it creates another column of data, time and data stamped. A blank Progression Report file can be downloaded from the bottom of this article
Note
The Clear buttons for both the Heat Map and the Progression report allow the value to be cleared (if values exist), to prevent reports being created when the rule is run. This is useful when setting up and testing the rule with the matrix. Without these report locations and files specified within the rule, the results create an additional category to indicate that they have not been created.
Surrounding Spaces: This filter defines the spaces from the model which you want to list in the location data relative to the intersection geometry within the rule description.
Tip
The example dialogue uses a row defined as include Any, this is because this filter only accepts spaces. It then adds a second row to exclude spaces that are part of space group. If you have a classification that has a list of included spaces then a single row will suffice.
Surrounding Space Range: Enter a numerical value that the rule will use to check based on the intersection to list the relevant spaces in the result description. The rule finds any space that is within the range specified. Subsequently it compares this with the location data created using the nearest space relationship with the failed components. If the default location lists any additional spaces, these are checked using the same distance to ensure that they relate specifically to the clash intersection.
Note
The rule result intersection spaces are automatically transferred into any created issue description and subsequently are also available to users looking at these issues in a issue management system.
Show dimension measurements (slower when viewing a group of issues): Activating this setting will create dimensional text for each of the intersections. When selecting issues at a summary level, it can take a while to finalise the visualisation. Turning this value off will suppress the dimension text and allow summary level folders to show more quickly.
Warning
For dimension text values to be visible in created issues, this setting needs to be activated, rules re-run if they have already been calculated, prior to creating the issue.
Update Requirements: Click to write IFC and Classification object values to the Requirements file Clash Selector sheet. This allows easy selection of values for the rows and columns within the clash Matrix sheet and reduces the possibility of typo errors.
This section contains the following topics:
The Clash Matrix Sheet provides the main definition of the elements which will be checked.
Important
Row 2 and Column B cells, need to be kept clear of values, they are used for the Heat map report to indicate the number of components checked for each of the Matrix Items.
Rows and columns can be made up of the following:
-
A Discipline (please refer to the Clash Discipline sheet for more configuration options)
-
A Classification or IfcEntity or Type value
-
A Classification Name or Predefined Type (Type Enumeration)
Wild card values can be used for both the IFCENTITY or IFCTYPE, Predefined Type or the Classification values used in the matrix Columns or Rows.
Tip
Use of Wildcards within Clash Matrix Grouping definitions: Walls in Ifc 2x3 can be either IFCWALLSTANDARDCASE OR IFCWALL dependant on how they are created or interact with other components. Wild cards can be used logically group these eg. IFCWALL*, another example can be used for grouping sets of IFCTypes such as IFCDUCTSEGMENT and IFCDUCTFITTING to IFCDUCT*
The Clash Discipline sheet provides the categorisation of results.
The sheet allows three discipline based options for use in the Clash Matrix Sheet these prefix either an IFC or classification-based clash item.
Note
Each row can use any priority, so they can be mixed if required.
-
Model Name (can contain wildcards, 1st Priority): Utilise the file name or use wild cards to create the discipline based on ISO 19650 role container values. i.e. *-*-*-*-*-A-*
-
Model Short Name (can contain wildcards, 2nd priority): Utilise the user-based short name entered for the model files
-
Solibri Discipline (3rd Priority): Use the default discipline values from Solibri that are assigned to the models on opening.
Target Discipline (can be used in Clash Matrix): Use this column to set the value that will be used in the Clash Matrix, which will be transferred to the result category values.
The Clash Requirements sheet allows each intersection of the Clash Matrix to reference a set of tolerance, severity and System Settings.
Requirement Name: Specify the name of the Clash Requirement that will be added to the Clash Matrix Cell.
Horizontal Tolerance (mm): Specify the allowed horizontal intersection tolerance in mm.
Vertical Tolerance (mm): Specify the allowed vertical intersection tolerance in mm.
Volume Tolerance (I, empty to Ignore): Set the volume tolerance threshold that will create an issue once exceeded, even if either the Horizontal or Vertical tolerances pass. Leaving the cell empty will ignore the volume tolerance.
Severity (CRITICAL, default MODERATE, LOW): Use this cell to specify what issue severity is created for the components checked with this row definition. Leaving the cell empty will automatically set this to MODERATE.
Tip
Rows can be created with the same Tolerances but with different Severities values, allowing specific Matrix Cell Intersecting components to be created with specific severity requirements.
Check Same System (X to check, Ignore by default): Where intersections are found in the same system name these can be ignored by leaving the cell empty. Specifying an X in this field will take these intersections into account.
The Clash Selector sheet contains IFCEntity, Type, Type Enumeration and Classification values. These are extracted to this file when the Update Requirements option is clicked within the rule. The Clash Selector sheet is populated to allow users to see the available values from IFC and what is classified within the model. The sheet also provides four concatenation fields, two for IFC and two for Classifications with and without discipline functions. These enable the user to select the relevant values to build the clash header or row cells.
Concatenation Function:
The example below is based on the IfcEntity/Type with Disicipline.
-
Select one of the cells that contains the Concatenation function required, e.g. either with or without discipline (Cells B2:C3).
-
Click within the function in the edit bar. Text values in the function pop-up will appear as in the image below.
-
Based on the cell selected, the text1 field refers to the Discipline value select this from the list in column A.
-
text2 contains a link to the Clash Configurator Sheet and the delimiter value, so, by default, this will insert a Colon.
-
text 3 refers to the IfcEntity/Type value
-
text4 places a Colon for the delimiter
-
text 5 refers to the values in column C for the Predefined Type.
-
-
Once the function displays the value required, copy this value.
-
Paste values to the columns or rows in the Clash Matrix sheet.
Note
If you are not using the default discipline values in the Clash Discipline sheet, copy and custom values used in column D to be used in Column A under the discipline list. This will ensure that your Clash Matrix Headers will be using the correct values.
The Clash Configuration sheet defines Delimiter and the Comparison values.
Delimiter: Specify the delimiter character used to separate the Discipline from the IfcEntity/Type or the Classification and then the Type Enumerations or the Classification name of the component.
Comparison: Specify the text that will automatically separate the disciplines where clashes occur between to components from the different disciplines.
-
The results are automatically categorised in to three top-level categories where they occur:
-
Duplicates: Occurs where components are geometrically the same shape, size and location.
-
Insides: Occurs where one component is completely contained within another component.
-
Intersections: Occurs where the components exceed the Clash Requirements.
-
-
A second-level category is created
-
where the issues are related to one discipline they are automatically named as Discipline Top level Category.
-
where the issues are related to two disciplines they are automatically named Discipline Comparison (from Clash Configuration sheet) Discipline.
-
-
A third-level category is created grouped by the Clash Matrix Column vs row values
-
Finally, the Solibri ID is used to name the issue.
The Severity is controlled by the referenced Clash Requirements for the value entered in the Clash Matrix Intersection:
Important
Where issues are created between disciplines and duplications occur, any issues created will automatically tie these issues together. The list of issues in the Component view only shows the list of unique issues.
Two reports are automatically created from the rule.
-
Heat map: This is a copy of the Clash Matrix, but contains the number of issues, percentages and percentile options in the intersecting Matrix Cells, along with the number of components added to Column B and Row 2. These three sheets are set to make use of the conditional formatting function of Excel. Issues are graded from white (0) to red.
-
Progression report
Heat map examples:
Where the heat map reports are created, each time the rule is run (time stamped as separate files), the Progression rule simply adds additional columns with the time date stamp to get the cumulative breakdown on the issues for each iteration.
To automate and schedule the complete process, please follow this link on our Solibri Developer Platform where you can learn about what's possible.
Useful links:
-
Solibri Assist Webinar Recording
-
Graphical interface for Autorun from BIM Consult Hamborg