Forward and Backward Relations in SMC

In Solibri Model Checker (SMC), relationships exist between components and are reflected as “Relations”.  These are similar to properties and are grouped into folders within the Relations tab of the Info view. These relationships can be termed ‘forward, backward, or forward and backward’. We’ll explain what this means to you, as an SMC user.

In the previous article, Using the Decomposes Relation Property, we used the example of a stair to explain the forward and backward Decomposes relation between the stair assembly and the stair runs, landings, and railings that make up that assembly.

In this article, we’ll focus on some other relations and explain their forward and backward direction.

For more information on relations within SMC, please see the help topic:

SMC Help – Relations

The Containment Relation

As the name suggests, the containment relation is present when one component contains another component.  For example, a Building component contains Floors, Floors contain components such as Spaces, and Spaces contain other components.

Looking at the structure of the sample model (SMC Buildng.smc) that comes with SMC, you see that the Ground floor contains a space Men[104].  That space contains two Sanitary Terminal components, which are a toilet and a sink.

If you select the Men[104] space, in the Relations tab of the Info view, you’ll see the containment relation for the space.

Notice there are arrow icons in front of the listed relations that denote the direction of the relation.  A forward direction is denoted by the  forward (pointing to the right) icon, and a backward direction is denoted by the backward (pointing to the left) icon.  Since the Space is a sub-element of the Ground floor, this containment relation has a backward direction, and since the Space contains the sanitary terminals, these containment relations have a forward direction. Essentially, as you get more granular, you have forward relations, and as you refer to those elements ‘upstream’ you are expressing backward relations.

If you select the ground floor, it will have a  forward containment relation to the Mens[104] space.

So logically, if Component A has a forward relation of some relation type to Component B, then Component B has a  backward relation of that same relation type to Component A. The result is a hierarchy of the related model components.

Relations are used in the rule Comparison Between Property Values [SOL/171], by selecting “Related Component” in the Components to Compare drop-down.

In the example of this rule below, the parameters are specified to check that there is at least 1 toilet on each floor.  Since we are checking floors, Floor is set in the Components to Check table.  We are using the Containment relation, so Related Component is selected in the Components to Compare dropdown, Containment is set as the type, and the Forward direction is selected.  The Follow Relation Chain checkbox is marked because there isn’t a direct containment relation to the floor and the Toilets. Instead, a floor contains the space and the space contains the toilet.  Lastly, since we are looking for at least 1 toilet on each floor, components classified as Toilet Seat is listed in the Components to compare using a count quantifier greater than or equal to the target value 1.

The only result returned is for the Roof floor which logically doesn’t require a toilet.  This floor could be ignored in the Components to Check table in the rule parameters or the result can simply be approved.

Doors, Openings, Walls and the Void/Filling relation

Rather than a direct containment relation, doors, and walls have a Filling and Void relationship to an opening component respectively.

If you select a door in a model, you’ll find that it has a  forward Filling relation to an opening component, since the door “fills” the opening.  However, there is no direct relation listed between the door and the wall.

If you double-click the opening listed in the Info view it will become selected. You’ll see the    backward Filling relation to the door and also a  forward Void relation to the wall.

Since there are two different relation types, a single Comparison Between Property Values [SOL/171] rule cannot be used to compare walls to doors.  Instead, a gatekeeper rule can be used to return the opening of a wall, which passes those openings to a sub-rule to check the door that fills the opening.

We’ll use a simple check to ensure that 1-hr fire rated walls have 1-hr fire rated doors. This example can be found here:

Fire Rating – Relations.smc

The file consists of 4 walls that have doors attached:

Below you can see which walls and doors have a 1-hr rating as those without a rating are hidden.  Only the third wall from the left is a 1-hr fire rated wall that doesn’t have a 1-hr fire rated door:

After running a check, only that wall/opening is listed as a result:

To create the ruleset, the “Gatekeeper: Openings in 1-hr Walls” has the following parameters filled in to return as results any openings that do not have a forward void relationship to a wall with a 1-hr fire rating:

Since only openings that fill 1-hr fire rated walls pass this check, “Check only passed components” is marked for this gatekeeper rule in the Ruleset Manager.

Those openings are passed to the sub-rule “1-hr Components must fill Openings.”  This rule checks that those openings have a backward filling relation to a door that has a 1-hr fire rating.  Notice this is a backward relation since the door fills the opening.

The result is any opening that creates a void in a 1-hr wall that does not have a 1-hr door filling that opening.

Decomposes Relation in Information Takeoff (ITO)

Relations can be used in ITO to group components by their related component.  In the example below, there are beam assemblies that group multiple beams.  The total lengths of these grouped beams are listed for each assembly along with their counts. For example assembly with id 185923 has 7 beams that have a total length of 192′- 3 7/8″.

The Decomposes relation is used for components such as stairs, beam assemblies, and curtain walls that are can be made up of differing components. For example, stairs can be made up stair runs, landings, and railings.  Beam assemblies can be made up of multiple beams. Curtain walls can be made up of panels (windows) mullions (members), and doors. These examples are a subset of commonly found components that can be assemblies with a Decomposes relation.

To create this ITO we create a new ITO Definition to report only Assembly components.

Right-click on the Type column and select New Column to group and report assemblies by their Building Authoring Tool (BAT) ID.

As we don’t wish to report the Type, this column is edited by right-clicking the column and selecting Edit.  We select Relation as the Column type, Decomposes as the relation, Forward as the direction, and Grouping to group the beams to find their total length.

Right-click the Count column, and select new column to create a column that reports the total length of the beams in each assembly.  Select Quantity for column type, Length for the Quantity, leave grouping unmarked and Sum for the Function.

This example can be found through the link below:

Decomposes – ITO.smc

 

 

Forward and Backward Relations in SMC

Correcting Widely Scattered Models

When bringing models into SMC, you may find some components being displayed outside the normal 3-D View. These components can be the result of accidental placement of components outside the building, or simply legacy objects that are left behind from previous model versions.

In SMC, these components cause issues with navigation because they generate such a vast 3-D View. A single misplaced object may be miles away from the building in the 3-D view, which results in SMC trying to accommodate for the single misplaced object by creating much more navigable space then is needed. You can correct for these issues in SMC when importing a file.

When first bringing in a model, if there is an issue with a component that is far away from any other relevant model components, a pop-up window will appear suggesting that the models are “widely scattered.”   Again, this is implying that the amount of space that will be generated in SMC’s 3-D view will be extremely large, and will almost certainly affect performance and navigation in SMC.

issue_2016_08_tt_16_01

In the screenshot above, there are 553 components in one location, and one component in another that is several miles away.  Obviously, the single component is likely to be an error.

You can select the Zoom To Components zoom_to_components  icon to ‘zoom in’ to that object to see what it is.

Select the object in the 3D window to see the Info about the object and make a determination about what should be done.

If it is determined that you would like to ‘remove’ the item from the model, you can do so by clicking the Set to Selection Button Set to Selection Basket  to place that object in the Selection Basket.

From the Selection Basket, choose the Component Hierarchy COMPONENT_HIERARCHY icon, then right-click on the object and choose ‘Remove from Model.’

issue_2016_08_tt_16_02

This will remove the object so that it is no longer in Solibri Model Checker.  It does not remove the component from the IFC file, however, so it is best to go back to the original design software at some point and correct the issue for future versions of the model.  By removing the component in SMC, you are temporarily removing the issue so that you can proceed with your model review.

Correcting Widely Scattered Models

Color Mapping in SMC v9.6

A useful, though sometimes overlooked capability in Solibri Model Checker (SMC) is the use of color maps.  By default, whenever you open a model in SMC, model colors are used for components, which are likely based on the materials applied to those components in your model authoring tool.  This means that slabs of concrete appear solid grey, brick walls appear a dark red color, and windows are transparent as they would appear in real life based on those materials.

However, it may be useful to differentiate components visually by color, based on their discipline, the type of component, or what system they belong to. For example, the structural model below looks realistic, but it isn’t very easy to discern the different components:

Model Colors of a Structural Model
Model Colors of a Structural Model

Right-click the file in the model tree and click Set Color Map.  You’ll see that “Use Model Colors” is set by default, but there are many different color maps to choose from.

Setting the Color Map of a file
Setting the Color Map of a file

Select the Structural Elements.material color map.  You’ll now see the different components are colored coded by component type:

Structural Elements Color Map
Structural Elements Color Map

Right-click the file in the model tree, click Set Color Map > Color Map Editor. The color map editor will open, showing the different colors that have been set for the various components that correspond with what is seen in the 3D View:

Color Map > Structural Elements
Color Map > Structural Elements

Using the Add New Row Add New Row and Remove Selected RowsRemove Selected Rows, you can add and remove rows for components and set their colors by double clicking in the color cell. For example, we can remove all rows except Beams and Columns, add an additional row for Assembly components, and set all three components to display red.  We then add a last row for ‘Any’ other component that has a grey 75% transparent color as shown below:

Color Map > Structural Elements Edited
Color Map > Structural Elements Edited

Upon clicking OK, you’ll now see the beams, columns, and assemblies highlighted in red as specified in the Color Map Editor:

Edited Structural Elements Color Map
Edited Structural Elements Color Map

In addition to what the component is, you can also specify colors in the Color Map Editor based on the Type property or System property of the component.  Below is a screenshot of an MEP model with model colors applied.  It is hard to differentiate the plumbing from HVAC, and all the various systems look the same:

MEP Model with Model Colors Applied
MEP Model with Model Colors Applied

By creating a new color map for plumbing based on the system names found in Revit, we can create a new color map that will display very similarly to a color coded view of plumbing in Revit.  To do this, we’ve specified the corresponding system names in the Type/System column based on the default plumbing system names found in Revit, colored them accordingly, and added a final row to make ‘Any’ component not already colored based on their system appear transparent grey:

Color Map Editor > Revit Plumbing
Color Map Editor > Revit Plumbing

With the color map applied, the plumbing stands out in the 3D View differentiated by system:

Revit Plumbing Color Map Applied
Revit Plumbing Color Map Applied

This same method can be used to create an HVAC color map in the Color Map Editor:

Color Map Editor > Revit HVAC
Color Map Editor > Revit HVAC

With the color map applied the HVAC stands out in the 3D View differentiated by system:

Revit HVAC Color Map Applied
Revit HVAC Color Map Applied

More information on the Color Map Editor can be found in the online SMC Help: Help > Color Map Editor

Color Maps can be applied to models based on their discipline at the time they are opened, through the settings option in SMC.

Click File > Settings > Discipline and Color Map… > Discipline to Color Mapping.

A dialog will open that maps disciplines of files to different color maps.  By default, the disciplines are set to various color maps; however, the Use Model Colors checkbox is marked, which is why model colors are used:

Discipline to Color Mapping
Discipline to Color Mapping

More information on Discipline and Color Map settings can be found in the online SMC Help: Help > Discipline and Color Map

You can download the Revit Plumbing and Revit HVAC color maps from the examples above through the following links:

Color Mapping in SMC v9.6

Using the Decomposes Relation Property

In this article we will discuss how the decomposes relation in Solibri can be used to more precisely check sub-components of assemblies such as stairs, as well as limit the number of results to just assembly components for intersecting components such as beam systems.

The Decomposes Relation Example.smc model used as an example in this article can be downloaded through the following link:

Decomposes Relation Example.smc

The Decomposes Relation

Model elements can have a decomposes relation to other model elements when those model elements are assemblies or sub-components that make up assemblies.  Assembly components such as curtain walls, stairs, and beam systems have a forward decomposes relation to their sub-components. For example, a stair assembly has a forward decomposes relations to the stairs, railings, members, and slabs that make up the stair assembly.

In the screenshot below, you can see this forward decomposes relation in the Info View designated by a forward arrow next to the stair sub-components when selecting a stair assembly:

Forward Decomposes Relation of a Stair Assembly
Forward Decomposes Relation of a Stair Assembly

Likewise, sub-components that make up assemblies have a backward decomposes relation to their assembly components. In the screenshot below, the backward decomposes relation in the Info View is designated by a backward arrow next to the assembly component when selecting a stair sub-component:

Backward Decomposes Relation of a Stair Sub-Component
Backward Decomposes Relation of a Stair Sub-Component

These relations can be used as properties within the filter parameters tables in rule parameters. To do this, select the Relations radio button as the Property Group, select Decomposes from the Relation dropdown, and select either Forward or Backward from the Direction dropdown.

Relation Property used in a Filter Parameters Table
Relation Property used in a Filter Parameters Table

The Operator in the filter parameters table must be set to either Is Not Empty or Is Empty, to designate whether or not there is a relation to any components respectively.  For example, setting the filter to include any component that has an empty forward decomposes relationship checks any component that doesn’t have any decomposes relation such as a wall, window, or door along with the sub-components of assemblies such as railings and beams, but not the assembly components such as stair assemblies or beam systems. This can be seen in the Checked Components View seen below:

Forward Decomposes Relation Is Empty (Components with No Decomposes Relationship and Sub-Components)
Forward Decomposes Relation Is Empty (Components with No Decomposes Relationship and Sub-Components)

Setting the filter to include any component that has a non-empty forward decomposes relationship only checks the assembly components such as stair assemblies or beam systems:

Forward Decomposes Relation Is Not Empty (Assemblies)
Forward Decomposes Relation Is Not Empty (Assemblies)

Setting the filter to include any component that has an empty backward decomposes relationship checks any component that doesn’t have any decomposes relation such as a wall, window, or door along with the assembly components such as stair assemblies or beam systems, but not the individual sub-components that make up the assemblies such as railings and beams:

Backward Decomposes Relation Is Empty (Components with No Decomposes Relationship and Assemblies)
Backward Decomposes Relation Is Empty (Components with No Decomposes Relationship and Assemblies)

Setting the filter to include any component that has a non-empty backward decomposes relationship only checks the individual sub-components that make up assemblies such as railings and beams:

Backward Decomposes Relation Is Not Empty (Sub-Components)
Backward Decomposes Relation Is Not Empty (Sub-Components)

Stair Headroom Clearance Example

To check for an 80″ headroom clearance for a Stair (or Ramp), you can use the Component Distance rule to check for a minimum clearance above a stair and any other component with the exclusion of railings that make up the stair, and spaces and openings:

Stair Headroom Check Rule Parameters (False Positives)
Stair Headroom Check Rule Parameters (False Positives)

However, the railing, which is a sub-component of the stair assembly, causes a false-positive result since there isn’t an 80″ clearance above the railing:

Stair Headroom Results (False Positives)
Stair Headroom Results (False Positives)

In the component filter parameters table of the corrected version of the rule, the source component is any stair that has an empty forward decomposes relation.

Stair Headroom Check Rule Parameters (Sub-Components)
Stair Headroom Check Rule Parameters (Sub-Components)

This rule will only check the stair sub-components of the stair assemblies, but not the stair assembly that includes the railings.  In the screenshot below, the result that still exists is due to the treads of the stair cutting into the slab; however, there is no longer the false positive result regarding the distance between the railing and ceiling.

Stair Sub-Components Headroom Results
Stair Sub-Components Headroom Results

Intersecting Components Example

In the rule parameters of the General Intersection Rule (All Components), any component from the Architectural model is checked for Inside or Overlapping intersections with any component from a Structural Model.

General Intersection Rule (All Components) Parameters
General Intersection Rule (All Components) Parameters

When an assembly such as a curtain wall or beam system intersects a component, both the assemblies and their individual sub-components are returned as results.  In the screenshot below, assemblies of beam systems are listed as intersections with suspended ceiling:

Assembly Results from General Intersection Rule (All Components)
Assembly Results from General Intersection Rule (All Components)

However, the beams that make up these beam system assemblies are listed as results as well, as seen below:

Beam Results from General Intersection Rule (All Components)
Beam Results from General Intersection Rule (All Components)

Therefore, there is a double counting or duplication of the same issue.

To work around this, you can limit the check to only check components that don’t have a decomposes relation such as a wall or ceiling and assembly components by adding a requirement to only check components that don’t have a backward decomposes relation to components as seen in the rule parameters below for the rule General Intersection Rule (No Decomposes Relation and Assemblies):

General Intersection Rule (No Decomposes Relation and Assemblies) Parameters
General Intersection Rule (No Decomposes Relation and Assemblies) Parameters

Now, beam system assemblies are still returned as results, but the 3 beams that are listed as results are those that do not make up a beam system as seen below:

Beam Results from General Intersection Rule (No Decomposes Relation and Assemblies)
Beam Results from General Intersection Rule (No Decomposes Relation and Assemblies)

By using the Decomposes relation in the filter parameters table, the number of results listed has dropped from 1649 to 1240, as seen in the Checked Components View.

Checked Components from General Intersection Rule (All Components)
Checked Components from General Intersection Rule (All Components)
Checked Components from General Intersection Rule (No Decomposes Relation and Assemblies)
Checked Components from General Intersection Rule (No Decomposes Relation and Assemblies)
Using the Decomposes Relation Property

New in Version 9.6: Lock/Unlock Footprint Controls

In Solibri Model Checker version 9.6, you can now lock the footprint levels by clicking the Lock/Unlock Footprint Levels Lock Footprint Levels button in the footprint controls of the 3D View.

Once locked, the footprint level sliders will remain in their positions regardless of selecting a result in the Results View, a slide in the Presentation View, or a row within an Information Takeoff (ITO) definition.

With the footprint levels unlocked the footprint levels automatically adjust to only show the footprints on the level where the components reside.

Here, with the levels unlocked, they adjust to show the footprint on the Ground Floor, where the stairs that have an issue are located:

Foot Print Levels Unlocked and automatically set to Ground Floor
Footprint Levels Unlocked and automatically set to Ground Floor

With Footprint Levels Unlocked, after selecting a different result regarding a column that resides on the Second Floor, the footprints automatically adjust to the Second Floor:

Foot Print Levels Unlocked and Automatically Set to Second Floor
Footprint Levels Unlocked and Automatically Set to Second Floor

However, if we adjust the Footprint Level Sliders to display all levels, those footprints will remain locked as we switch between results:

Foot Print Levels Locked and Set to Display All Levels
Footprint Levels Locked and Set to Display All Levels
Foot Print Levels Locked and Remain Displaying All Levels
Footprint Levels Locked and Remain Displaying All Levels
New in Version 9.6: Lock/Unlock Footprint Controls

New in Version 9.6: Dock/Undock/Maximize Dropdown Options

In Solibri Model Checker Version 9.6 the Dock/Undock/Maximize buttons have been moved to a single drop down options MAXIMIZE button in the top right of every view:

Single Dropdown Option Button
Single Dropdown Option Button

When clicked, a drop down list is displayed to allow the user to select between the following options:

MAXIMIZE – Maximize: Maximize the view to the entire application window.
RESTORE – Restore: Restore the maximized view to the previous location.
DOCK – Dock: Dock the view to a certain position within the current layout.
UNDOCK – Undock: Undock the view from the layout to be an independent window.
CLOSE – Close: Close the view.
Prior to version 9.6, these buttons were individual buttons that could be accidentally clicked.

Maximize, Dock, and Close buttons from SMC Version 9.5
Maximize, Dock, and Close buttons from SMC Version 9.5
New in Version 9.6: Dock/Undock/Maximize Dropdown Options

SMC Log and License Files

Log Files

SMC Log files are plain text files that can be used to troubleshoot technical issues running Solibri Model Checker (SMC). When sending an issue to support@solibri.com, you’ll often be asked to send your SMC log files. To send these files, try the following:

WINDOWS:

  1. Open Windows Explorer
  2. Enter the following in the address bar and hit the enter key:
    C:\Program Files\Solibri\SMCv9.5\log

    This folder should contain an error.log, output.log, and runtime*.log files.

  3. Select all files in this folder, right-click the selected files, and select Send to > Compressed Zip Folder.
  4. Send the zip file along with a detailed description of your issue and screenshots of any error messages to support@solibri.com.

MAC:

  1. Open Finder
  2. Go to the Applications folder
  3. Go the Solibri application folder (e.g. “Solibri Model Checker v9.5”)
  4. Select all files in this folder, right-click the selected files, and select Compress.
  5. Send the zip file along with a detailed description of your issue and screenshots of any error messages to support@solibri.com.

License Files

License files are also plain text files that can be used to troubleshoot licensing issues with SMC. If you are having a licensing issue, you’ll often be asked to send your ‘.solibri’ license folders. To send these files try the following:

WINDOWS:

  1. Open Windows Explorer
  2. Enter the following in the address bar and hit the enter key:
    %userprofile%\.solibri

    This folder should contain a configs, licenses, and usercers folder.

  3. Select all three folders, right-click the selected folders, and select Send to > Compressed Zip Folder.
  4. Send the zip file along with a detailed description of your issue and screenshots of any error messages to support@solibri.com.

MAC:

Show hidden Files:

As SMC license files are hidden files, you first need to show hidden files on Mac:

  1. Open Terminal found in Finder > Applications > Utilities.
  2. In Terminal, paste the following:
    defaults write com.apple.finder AppleShowAllFiles YES
  3. Press return.
  4. Hold the ‘Option/alt’ key, then right click on the Finder icon in the dock and click Relaunch.
Location of license files:
  1. Open Finder
  2. Go to your user folder
  3. Select all three folders, right-click the selected folders, and select Compress.
  4. Send the zip file along with a detailed description of your issue and screenshots of any error messages to support@solibri.com.
SMC Log and License Files