Missing Revit Properties

Occasionally, users find that their Revit properties (Identity Data, Constraints, Other, etc) are missing in their exported IFCs when opened in SMC.   The reason most often is that the IFC2X3 Coordination View 2.0 export setup was used in the IFC Export. By default, the IFC2x3 Coordination View 2.0 setup does not export internal Revit property sets.  Therefore, if you want these properties in your IFC, you’ll need to modify the setup and mark the Export Revit Property Sets check box in the Export Property Sets tab of the IFC Export dialog.

Also, IFC2X3 Coordination View 2.0 does not export Space boundaries.

In SMC, components such as walls, doors, floors, etc. that bind a room normally have a Referencing relation to a space.  This can be useful for instance in a check that every room has at least one door to enter/exit from.  In the IFC Export dialog in Revit, with the Space boundaries drop down set to none, these referencing relations are not included in the resulting IFC. Therefore, if you want these relations, you’ll need to modify the IFC2X3 Coordination View 2.0 setup and set the Space boundaries drop-down box to either 1st Level or 2nd Level in the General tab of the IFC Export dialog.

Alternatively, you can use the IFC2x3 Coordination View* setup, which exports Revit property sets and has Space Boundaries set to Level 1 as its default setting.

More information on exporting to IFC from Revit can be found in the article Exporting an IFC File from Revit to SMC

Missing Revit Properties

Using the Component Distance Rule to Verify Compliance with Design Requirements

A common problem in BIM Design is objects of all kinds that are frequently left in the model at incorrect locations. A typical example of this would be light fixtures that are not correctly attached to a ceiling or are floating in space at heights that are not aligned with the design specifications, or worse yet, not located under a ceiling component at all. These issues can be easily identified and corrected during design review using the Solibri Model Checker (SMC) Rule Component Distance – (SOL/222)


The Component Distance rule can be setup to check minimum or maximum distances between components using one of eight methods:



Horizontal Distance Between Footprints: Distance Calculation between two components in two dimensions.




Shortest Distance Between Shapes: Distance Calculation between two components in three dimensions.





Facing Within Distance: Two components facing each other that are overlapping.





Directly Above: Vertical distance between two components, measured upward from the source component (shown as blue) to the target component (shown as red). 




Directly Below: Vertical distance between two components, measured downward from the source component (shown as blue) to the target component (shown as red).




Horizontally Alongside: Horizontal distance between two components.





Above within Offset Footprint: Distance above the source component that is extended horizontally by the ‘Footprint Offset’ value to the target component (shown in red).




Below within Offset Footprint: Distance below the source component (shown in blue) that is extended horizontally by the ‘Footprint Offset’ value to the target component (shown in red).



(For more information on these calculation methods, please see the article New in SMC v9.7.15: Component Distance Improvements)
For our example, we will focus on determining the distance between the bottom of the ceilings in the model and the bottom of any light fixtures. For this check we will use the “Directly Below” method of calculating the distance. We will also set the Component Surfaces drop down box to “Bottom to Bottom” and check the “Maximum” distance option, as we want to set a maximum allowable distance from the bottom of the ceiling to the bottom of a light fixture. In this example any light fixture hanging more than 1’ 6” from the ceiling will be violating our rule and will be flagged and assumed as hanging too low into the space.


If we wanted to check for a minimum distance between components (for example, to ensure the distance between the bottom of ceilings and the top of floor is ‘at minimum’ 8 feet), we would select the “Minimum” distance option.

The final step in our ‘maximum check for components below’ rule configuration is defining which components we are interested in checking.   In this example, we setup the ‘source’ component to be suspended ceilings, and the ‘target’ component to be light fixtures.



Running the check will reveal any results that are in violation of our 1’ 6” distance rule.

Since the light pictured below hangs 2 feet from the ceiling, it shows up as an issue when our check is run. If we were to change the maximum allowable distance to 2’ 1” the light would pass the requirement and would not appear in our checking results.


The highly customizable nature of the Component Distance rule in SMC allows users to experiment with different calculation methods, and to fine-tune any type of complex distance check while avoiding tedious false positive results.   Many different use cases can be devised and added to your model checking toolbox using this one rule template.

Using the Component Distance Rule to Verify Compliance with Design Requirements

Transferring your License to Another Machine

Solibri Model Checker makes it easy to transfer a license between your computers.  All that is required is to provide your Solibri Solution Center (SSC) username and password on the other machine when you start SMC. The SSC will register that new machine and unregister the old one.

Welcome to Solibri Model Checker Dialog

However, you are only able to register/run SMC on one computer at a time using your SSC username.  So if you close SMC on your office computer, you should be able to open SMC on your home computer and vice versa. If SMC is already open on another machine, or if you have borrowed a license, you will receive the following error when attempting to open SMC on another computer until SMC is closed or the borrowed license is returned respectively:

Information on borrowing and returning licenses can be found article Borrowing Licenses.

If you wish to run SMC on two machines concurrently, you will need to create two usernames in the SSC, assign licenses to both usernames and register those user names on each computer.  It is important to note that this will reduce your companies available floating licenses by two while both machines have SMC open.  Information on creating users and assigning licenses can be found in the article How to Easily and Efficiently Manage Your SMC Users and Licenses

Transferring your License to Another Machine

Model Structure – SOL/176

Solibri Model Checker (SMC) has an extremely powerful QA/QC checking rule template named Model Structure (SOL/176).  This rule template is unique, as the parameters consist of simple check boxes for specific checks against the model.  This makes it one of the easier templates to setup; however, to get the best use of the template, it is important to understand the purpose of each of the various checks toggled on/off by these check boxes. You could simply mark all checkboxes, but for a complex model, the results view may contain many disparate results or ones that aren’t important for your use case.   Alternatively, you may wish to group certain checks together, for instance, checks regarding floors or checks regarding doors.  Furthermore, you may wish to use the template marking only a single checkbox to limit the check to that particular condition.

The purpose of this article is to familiarize you with each of the parameters of the rule template through examples so you can tailor a ruleset that uses this template to your liking based on what is important for you.  You can experiment with this template using the ruleset in the link below. This example ruleset has individual rule checks corresponding to each of the individual parameter check boxes.

Below are the rule parameters of the Model Structure rule template.

Model Structure - Parameters

Each section below will explain each of the parameters from top to bottom.


Like many of the rule templates in SMC, you are able to select the disciplines of models you want to check against or select ‘Any’ for all disciplines available in the aggregate model. Only the components in the specified disciplines are checked. The following article explains disciplines in further detail:

Disciplines in SMC

Check Containment Hierarchy

When this parameter is checked, the rule template checks that the model reflects the following hierarchy: model has building, building has floors and floors have components. In the image below, you can see the correct hierarchal structure of an IFC file.

Correct Model Tree Structure

Below is the model tree showing the hierarchy of an IFC with an incorrect structure loaded in SMC.  Notice that the building does not contain levels (building stories) that contain the components within the model.

 Incorrect Model Tree - No Floors

After running a check of the containment hierarchy, the results view reports the issue that no floors exist in the model.

Results - No Floors

Direct Relation to Floor

When this parameter is checked, the rule checks that all components in the model have a “Contains” relation directly to a building floor.  For example, furniture related only to a space (which is related to a building floor) will fail the check. In the image below, you can see two sanitary terminals are related to a restroom space, rather than directly related to First floor.

 Direct Relations to Floors - Model Tree

In the image below you can see the issue result displayed in the Results view.

Direct Relation to Floor - Results

NOTE: Your design software will more than likely relate components to space in which they are contained rather than directly to the floor.  You will likely wish to leave this checkbox unmarked, which is its default setting.

Check Empty Floors

When this parameter is checked, the rule checks that all floors contain at least one component. In the image below, the floor named “TOF Footing” is empty in the Model Tree view.

Empty Floor - Model

Below is an image of the Results view reporting the issue that TOF Footing doesn’t have components.

Empty Floor - Result

Check Floor Elevations

When this parameter is checked, the rule checks for multiple building floors located in the same elevation.  In the image below, the floor “Level 1” is selected and 0 is reported as its Global Bottom Elevation.

Floor Elevations

In the image below, a different floor named “Level 1a” is selected and its Global Bottom Elevation is also 0.

Floor Elevations

This issue is reported in the results view, which lists the elevation along with the names of the floors that reside at that elevation.

Floors have same elevation - Checking

Check Floor Names

When this parameter is checked, the rule checks if the model has multiple building floors with the same name. In the image below, there are two floors with the same name “First Floor” listed in the Model Tree view.

Floor Names are the Same

After running the check, the issue is reported in the Results view which lists the name of the floor.

Floor Names are the Same - Results

Verify Material Layers Thicknesses

When this parameter is checked, the rule checks all walls, slabs, and roofs in the model to ensure the sum of material layer thicknesses is the same as the thickness of the component itself.  Below is a wall that has a thickness of 4 7/8″, as listed in the Quanties tab of the Info view.

Wall Thickness

The Material tab lists the materials of the wall’s structure.  These tree materials add up to a total thickness of 4 1/2.”

Material Thickness

Since these two thicknesses differ, an issue result is returned for the wall stating the differences of thicknesses.

Material Thickness - Results

Doors/Windows in Same Floor AS Wall

When this parameter is checked, the rule checks to ensure the wall (or a roof/slab) and its doors/windows are included in the same building floor.  The model in the image below has a wall that is on the floor “Level 1” that has a height of 20 feet, which extends upward past Level 2, which resides at 10 feet.

 Wall on Level 1

There is a window on Level 2 attached to the wall as seen below in its Floor property in the Info view.

Window on Level 2

Also, there is a window that appears to be on the same floor as the wall selected in the image below.  However, this window was originally placed on Level 2, and was later moved below using a negative number in the Sill Height parameter.

Window on Level 2 with negative sill height

In the image below, the Sill Height property lists a negative value of -7′ 6″ in the constraints in the Info view after selecting the window.

Negative sill height

Since both of these windows reside on the Level 2 and the wall, which wasn’t split at level 2 is a single wall that resides on Level 1, an issue is reported in the Results view listing these two windows after running the check.

Window same floor as walls - Results

NOTE: You are able to automatically split walls and columns by floor by marking the “Split walls and columns by story” checkbox in the exporter of Revit.  For more information on this, please see Exporting an IFC File from Revit to SMC

Check Maximum Polygon Number

When this parameter is checked, the rule checks the geometry of all components in the model to ensure those components do not consist of more polygons than the specified Maximum Polygon Number parameter.  Below is an example of a sphere that has a 50′ diameter.   This component fails the check, and the Results view lists this component along with the polygon count of 4446.

 Maximum Number of Polygons

Viewing the component in wireframe mode within another application, you can see the 4446 polygons that make up the geometry of the sphere.

If you find that your model is sluggish while navigating or other performance issues, this rule can check if there is a specific component with complex geometry causing the issue.  To help in performance issues, that component could be hidden in SMC, or edited in the original design software to make it less complex.  For information on performance issues can be found in the article Optimizing Performance in Solibri Model Checker

Check Space Boundaries

When this parameter is checked, the rule checks all spaces to ensure they have correct space boundaries.  A space (room) in a model is bound by components such as walls, windows, doors, etc.  Spaces can also reside next to each other without a wall that separates them using room separators.  In the IFC, a space boundary element exists for these boundaries.

In the image below, a result is listed stating that there are missing space boundaries for the Radiographic Room.  There is a wall inside the space, which can be seen as it cuts out the geometry of the space.  However, no space boundaries exist for this wall.  The boundaries that do exist are listed in the result and are colored blue in the 3D view.

 No Space Boundaries

In the image below, you can see space boundaries highlighted in red that only bind a single space and no components or other spaces. The Results view lists these three space boundaries.

Space Boundaries only bind one space

After selecting one of the space boundary elements in the result view, you can see in the Relations tab of the Info view that the space boundary only binds the corridor space, but no other space or construction component such as a wall.

Only binds corridor

Check Orphan Doors and Windows

When this parameter is checked the rule checks if the model has doors or windows without relation to a wall. In most design software, when a door is placed on a wall, it generates an opening component that cuts out the geometry of the wall for the door to fit.  In the image below, an opening component is selected.  The Relations tab of Info view lists the backward filling relation to the door, since it fills the door and the forward void relation to the wall which it cuts out.


The opening to the right doesn’t have a filling relation to the door as an opening was cut out of the wall, and a door was placed in the location without actually attaching it to the wall in the design software.

When the rule is run, this door on the right is returned as a result stating that it isnt related to a wall.

Check Door Opening Direction

When this parameter is checked the rule checks that all doors in the model have the opening direction defined. The opening direction, or door operation, is needed for the Accessible Door rule.  More information on this rule can be found in the article Enhanced in v9.6 Accessible Door-Rule SOL 208

You can view the door operation in the Identification tab of the Info view as in the image below. Also, notice you can see the swing in the footprint in the 3D view.


In the image below, the door on the right doesn’t have a door operation. Selecting the door and viewing its Operation property shows it listed as Undefined. Also, the swing is missing in the footprint n the 3D View.

After running the check, the door with the undefined door operation is returned as a result.

Allow Only One Site

When this parameter is checked the rule checks to ensure the model has only one site.  In the image below, there are two sites listed in the Model Tree: Site Name and Site Name 2.

After running a check, a result is returned of the issue which lists the multiple site names.

Check Whether Site has Geometry or Not

When this parameter is checked the rule checks to ensure the site in the model contains geometry.  In the image below, the site is selected in the Model Tree which highlights it green in the 3D View.

In the image below, the geometry of the site was removed.  It is selected in the Model Tree, but there is no existing geometry in the 3D view to select.

When this check is run, a result is returned that lists the site that doesn’t have geometry.

Require Unique IFC GUIDs

This parameter is used to check if the Global Unique Identifier of components is unique in your model. The drop down that can be set to Unique in One Model, and the GUIDs of components are only compared within that single model.  When the drop down is set to Unique in All Models, GUID of a component is compared against the GUIDs of all components in ALL the loaded models.

In the image below, the beam on the left has a GUID value of 06pcgjPDbES92yHX6IVtf_.  This beam resides in the architectural model.

In the image below, the beam on the right also has a GUID value of 06pcgjPDbES92yHX6IVtf_.  This beam resides in the structural model.

After running a check for “Unique GUIDs in All Models” a result is returned for these two beams with duplicate GUIDs as seen selected in the image below.

The information provided in this article should provide you a better understanding of the Model Structure rule and allow you to custom tailor a ruleset using the this rule template to suit your needs QA-QC requirements.


Model Structure – SOL/176

Silent Installation and Other Administrator Documentation

System Administrators are able to silently install Solibri Model Checker (SMC) and Solibri Model Viewer (SMV) remotely to the machines of users by running the installer in unattended mode.  This can be done by passing the -q command line argument to the installer.

This information is found in the “Documentation for SMC System Administrators.pdf” document for both PC and MAC users.

This document provides also other useful information outlined below in its table of contents:

  • Super User vs. End User
    • User Profile
    • Roles
    • Shared Resources
    • Specifying Common Layouts
      • Specifying a Video Page for Common Layouts
    • Tasks and Responsibilities of System Administrator
      • Silent Installation for Windows
      • Silent Installation for Mac Os X
      • Setting the User Profile and Shared Resources

You can find this document depending on your machine here:

For PC:

C:\Users\Public\SolibrI\[VERSION OF SOLIBRI SOFTWARE]\Documents\System Administrator

For Mac:

Applications > [VERSION OF SOLIBRI SOFTWARE]\Documents\System Administrator

Silent Installation and Other Administrator Documentation

Creating Presentations on-the-Fly in SMC

The core functionality of Solibri Model Checker (SMC) is to run rules-based checks on your Building Information Model (BIM), review the results of those checks, and generate issue slides of those results to create a presentation/report of issues.   The presentation and report can be generated automatically by selecting the “From Checking Results” option in the New Presentation dialog.

You can also create presentations manually during your coordination meeting by creating your own issue slides outside of a rule check.   The following article will demonstrate this simple function, which can be useful when you are getting started with SMC or if you want a quick way to create snapshots of your model on-the-fly.  You can follow along using the SMC Building.smc model that comes with SMC located in the Models folder in the program files.

After opening the SMC Building.smc sample model, you’ll notice in the Checking layout, that a rule check has already been run on the model and issue slides have been created for some of the results of the check:

You can tell a slide was created for this result as a slide icon  appears next to the result.

If you select the Communication layout, you’ll see there are two presentations listed in the Presentation view.  The “Issues (12)” presentation is a presentation created from checking results.  Below you see the issue slide previously seen in the Checking layout.

You can tell these slides were created from Results as there is result link icon  shown on each slide in the Issue Sorter view.

To create a presentation from checking results, after clicking the New Presentation button in the Presentation view, click the “From Checking Results” option and mark the Rules you want slides created for in the Presentation.

If you look in the Presentation view, you’ll see a presentation named “General Presentation (4)”.  There are no result link icons  shown on the slides in the Issue Sorter view.  This is because this presentation was created without the means of checking results.  To create a presentation of this sort, in the New Presentation dialog, mark the first option “New.”

You can then add issue slides manually by right-clicking on a slide in the slide sorter, and select “New Issue” option.

Below, we selected the 4th issue of the “General Presentation” in the Issue Sorter.  We then zoomed out to the front wall, made the wall transparent and added some markup using the Markup tool stating that the water closet room needs a toilet:

After right-clicking the 4th issue slide in the Issue sorter, we select New Issue. A new issue slide is created in the presentation with the visualization saved and we can add a title to the slide.

From there, we can add more slides manually in this same way without the need of having an actual checking result.

Creating Presentations on-the-Fly in SMC

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