Different Property Set Names in Versions of Revit

You may have noticed over the years that the naming of property sets in Revit has changed from version to version.

For example, in a model exported from Revit Architecture 2011, the property “OmniClass Number” is located in the “PSet_Revit_Type_Identity Data” property set.

However, when this model is upgraded in Revit 2017, and exported with the out-of-the-box IFC exporter, the property is found under “Identity Data.”

When the IFC Exporter is updated to one of the latest on https://sourceforge.net/projects/ifcexporter/files/2017/, the property is then found under “Identity Data(Type).”

This can cause issues with your rulesets.  For example, the rule below checks to ensure the “OmniClass Number” property is defined for all doors. Notice it is looking for the property under “Identity Data.”

All doors do have this property defined in each version of the model; however, in the screenshot below, you can see that this rule fails for all doors exported from Revit Architecture 2011 and Revit 2017 with the IFC Exporter v17.3 installed.

If you have a mixture of models from different versions of Revit, you can work around the issue by using classification.  More information on classifications can be found here:

Create a classification for the OmniClass property:

Add columns for the various property set names of the property:

Set the classification to the value of whatever property location has a value defined by using “*?” wildcards characters in the property columns and “=[column number]” in the Classification Name column:

Change the property column in the rule the to use the classification of the property:

Instead of the “Property Sets” property group, select “Classification” to use your classification of the property.

After running the check with the modified version of the rule, this rule passes since all doors do have an OmniClass Number defined.

Different Property Set Names in Versions of Revit

Color Gradients of Components through Classification

Classification in Solibri Model Checker (SMC) allows you to colorize components based on their classification names.  In the previous article, Creating Classifications in SMC, we provided you a detailed guide to create your own classification that included a small section on colorization of classifications.  In the article Using Advanced Classification in ITO, we further developed a workflow where classifications were used in Information Takeoff.

In this article, we will guide you through the steps to create a classification that colorizes components using a green-to-red gradient based on the lowest-to-highest value of a property.  This provides aid for further understanding property information visually in the 3D view and in your Information Takeoff definitions.

We will work with a plumbing model from the Arboleda Open BIM Project created through Vectorworks, which is publicly available on the Vectorworks website:


The color coding is based on the Nominal Size of pipes within the model. You can download the files used in this article from the following link:


Open SMC, and from the File layout, open the Arboleda_Bldg-Plumb_optimized.zip IFC file in SMC.

Select a pipe in the model. In the Info view, under Pset_PipeSegmentTypeCommon, you’ll find a NominalDiameter property.  This length value is what will be used to colorize components in the view using a classification.

Click the Information Takeoff layout and in the Information Takeoff view, click the  New Information Takeoff button to create a new Information Takeoff definition.

Enter a name for the ITO, add Pipe and Pipe Fittings to the component list, and click OK.

In the ITO that is created, add a new column.  Select Pset_PipeSegmentTypeCommon for the Property Set Name. Select NominalDiameter as the property.  Set the Format to Length and mark the Grouping checkbox to group components by this value.  Click OK.

Click Takeoff All.  You’ll see the different NominalDiameter length values for all the pipes in the model. Notice the range is between 20mm and 100mm.

Open the Classification view by clicking the  Add View button in the top-right of SMC and selecting  Classification.  In the Classification view, click the  Add Classification button.  Browse to the Gradient.classification included in the link at the top of this article.

Notice that there are 10 classification names listed that are ordered 01-10 in the Default Classification Names table. Each has a color transitioning from green to red respective to its number. This provides a gradient to colorize components based on a property value.

Enter a new name for the classification:

Add Pipe and Pipe Fitting to the component list:

Since pipe fittings do not have a Nominal Diameter, we won’t be able to color code them using that value.  However, we still wish to show these in the view to understand the runs of pipes without missing segments.  For this reason, we add Pipe Fittings to the list.

To set the color of the fittings double-click the cell in the color common and select a color.  In this case, we use grey as it won’t distract from the pipe colors.

Click the Classification Rules tab and notice the Property for Gradient column. This will be the column that we set to the property we wish to base our gradient on.

Double click the column header to edit it.  Select Pset_PipeSegmentTypeCommon as the property set name.  Select Nominal Diameter as the property name, and select Length for the format of this property.

Recall that our Nominal Value range is from 20mm to 100mm. You should use this range to figure out the increments in numeric constraints so the components with the lower values are colored green (01), transitioning to yellow (05) at the median values, and the highest values are red (10). For simplicity, we will use increments of 10mm for each color starting at 0. However, since the range is 20-80, you could have more precise coloring by starting at 20mm and using increments of 8mm to reach 100mm in 10 increments.

Click the  Add Row button. In the new row created, double-click in the Pset_PipSegmentTypeCommon cell to edit the Numeric Constraints.  For the lower constraint set the operator to greater than > and enter 0 mm for the value.  For the higher constraint, set the operator to less than < and set the value to 10mm.

Click the  Add Row button again.  The row will be duplicated below.  This time edit the numeric constraints by setting operator to greater than or equal ≥ and set the value to 10mm. For the lower constraint, set the operator to less than < and set the value to 20mm.

Repeat this process 7 more times setting the Numeric Constraints in increments of 10mm until you get to the 10th row. For this row, set the lower constraint to greater than or equal ≥ and to 90 mm. For the higher numeric constraint, remove the operator and value and click OK.

Set the classification names from 01 to 10 corresponding with the increment rows.

Lastly, we still need to classify pipe fittings. Click the  Add Row button and set the Component to Pipe Fittings. Double-click in the Pset_PipeSegmentTypeCommon.NominalDiameter cell and click the Remove button to remove the constraint. Click OK in the Edit Numeric Constraints window.

Set the Classification Name for this Pipe Fittings row to Pipe Fittings and click OK.

Select the classification you created in the Classification view and the 3D view will be updated to display pipes color-coded using a gradient of green-to-red based on their sizes.  You can see below it is much easier to determine the differences in their sizes visually.

This classification can also be used in the ITO definition we previously created.  Select the Information Takeoff layout and in the Information Takeoff View, add a column to the existing takeoff. Set the column type to Classification and set the classification to the classification you created. Click OK.

In the Information Takeoff view, double-click the right-most column header labeled Color. Set the Value by Column to the classification column you just added. This will colorize components based on the same colorization of the classification names. Click OK.

Click Takeoff All. You’ll see the pipes colorized from green-to-red based on their NominalDiameter property along with the values in the Information Takeoff view.

In the Information Takeoff view, double-click the Pipe Color by Nominal Diameter column header to edit the column.  Set the Editable checkbox and click OK.

You can now edit the values in the Information Takeoff view for this column to override the classification of components, which will then change the coloring of components in the 3D view. Below, we’ve changed the classification of 20mm pipe to 01. This makes it easier to differentiate the 20mm pipe from the 25mm pipe in the 3D view.

There are many other possible applications for creating gradient colors of components. Other applications could be to show variations in beam and column weights or to show the differences in airflow along ductworks as it branches off along the path from the air handling unit to the terminals.


Color Gradients of Components through Classification

Space Groups and Areas in Revit

In a Building Information Model (BIM), it is common to model spaces defined as gross areas, apartment areas, departments, etc. that group other spaces. This is accomplished in Revit through area plans, and the IFC exporter in Revit provides area information in the “Other” property set.

Below is a gross area space named Circulation that contains circulation rooms (as defined in Revit) such as Lobby 102, Stair 132, and Corridor 107, listed in the Space Grouping view:


Notice in the Info view, the “Other” property set contains the Area Scheme ID and Category properties.  The Area Scheme ID provides the name of the area scheme, such as Gross Area, Apartment, etc., and the Category property states whether the space is a room, space, or area.  Also, notice in the Space Grouping view, the Space Group Type column lists Gross Building, which is the same value as the Area Scheme ID.  This value is the classification name from the Space Grouping classification.

If the Corridor 107 room is selected, the Area Scheme ID property is not defined because the category of the space is a room and not an area.


These properties in the Other property set make it simple to classify space groups in SMC using classification rules in the Space Grouping classification.  Below, we’ve added a row to the classification rules that matches any spaces that have the value “Areas” in the Other.Category property. Those area spaces will have their classification name set to whatever the value is of the Other.Area Scheme ID.


You can download this modified space group classification from the link below to try with your own Revit models that contain area plans:

Space Grouping.classification

With your space group classification properly setup, you can use the Space Group Containment rule to check that your space groups contain the required number of space types.

Space Groups and Areas in Revit

Understanding the Power and Utility of Wildcard Characters in Classification Rules

In an earlier article, Creating Classifications in SMC, we briefly touched on using wildcards characters in classification rules. This article will provide more details on their use and provide tips to avoid misclassifications.

There are two wildcard matching characters that can be used in classification rules: * and ?

* Matches 0 or more characters
? – Matches exactly 1 character

The best way to learn their use is by looking over some of the existing, complex classifications that come with SMC.  One is the latest, updated “Building Elements” classification that classifies components based on their properties to a Uniformat II classification.

Open the SMC Building.smc example project that comes with SMC, and check the classification settings of the Building Elements classification.


Notice many of the cells in the table contain only a single asterisk (*).  This means to ignore the cell and whatever the value is of that property isn’t required to match anything specific to classify the component.  As an example, notice the first 3 rows for column, pile, and footing components. It doesn’t indicate what the value is of the type, layer, and name properties.  These components will always be classified as “A2010 Basement Excavation”.  In fact, the Name column contains asterisks for all rows and could simply be removed from the table without affecting the classification. However, it was left in, as your building authoring tool and its libraries may have component names that more easily and effectively can be used to classify objects to UniFormat II, and you may wish to add your own rows to classify, based on Name.

It is important to note that asterisks must be used rather than leaving a cell blank to ignore the value.  If the cell is left blank, that row would only match if the value of the property was an actual empty string or missing value.  As such, you would only use a blank cell to classify a component based on a missing property value.

Notice also that wall components are classified as B2010 Exterior walls in the 5th row of the table.


However, if you look at how the walls are classified in the model, some are classified as B2011 Exterior wall construction, B2015 Balcony walls and Handrails, and C1010 Partitions.  This is because the best match radio button is selected in the bottom of the classification rules.  If you switch the settings to First Match, you’ll see that all walls are then classified as B2010 Exterior Walls.

When Best Match is used, whatever classification row has the most characters matching is the one used to classify.

Notice the rows that classify walls as C1010 Partitions.  Any walls with a type value that starts with “Basic Wall:” and thereafter contains the word “Interior” is classified as C1010 Partition.  This is due to the cell containing “Basic Wall: *Interior*“. The same holds true for walls with a type value that starts with “IW” using the matching cell “IW*.

Notice the rows for walls with type values that start with “EW”.  The rows that contain dashes and a number are more precise wall classifications, such as EW-3 which is classified as B2015 Balcony walls and Handrails.

However, if the number is anything other than 2, 3, or 4, but the type value still starts with EW, the wall is classified as B2011 Exterior Wall Construction.


Understanding the Power and Utility of Wildcard Characters in Classification Rules

Creating Your Own Custom Disciplines Through Classification

In the previous article Disciplines in SMC, we explained how the discipline of a file opened in Solibri Model Checker (SMC) is useful in the color mapping of components and use in rule filters. Currently, these disciplines are hard coded and limited to those in the list below:


The discussion of disciplines arises during coordination when checking for intersections between systems. Namely, what discipline to set files to as they are added to the federated model and what disciplines to check against each other using the general intersection rule in SMC.  Classification within SMC makes it simple to automatically map your files using your own naming convention to any custom discipline you would like to create.

For example, you may have a different naming convention of disciplines and use the term “Mechanical” rather than “HVAC”.  Also, you may have a “Communications” model that is differentiated from the “Electrical” model(s), for which a discipline doesn’t exist within SMC.

For more information on classification see:

Creating Classifications in SMC

Using Advanced Classification in ITO

You can follow along as we create a “Discipline by File Name” classification for use in interference checking using the example model linked here:


This example model was created by exporting the Architectural, MEP, and Structural versions of the advanced sample project that comes with Revit 2016.  For the MEP sample project, we also isolated components during each IFC export based on the discipline of Mechanical, Electrical, and Plumbing to further divide the entire federated model into 5 IFC files based on each discipline.

When you first open all 5 IFC files, the Ensure Model Disciplines window will open to allow you to set the short name and discipline from a set list in SMC.

Short names are always manually entered or left to their A-Z defaults. However, the discipline can be automatically mapped based on the application that created the file, or the file name.  The file was exported from Revit 2016, which is a building authoring tool that can contain components from any discipline, unlike other applications that specialize in a specific discipline, such as Tekla Structures, Revit Architecture, Revit Structure, etc.  As such, it simply defaults to the Architectural discipline. The out-of-the-box File Name mapping is left as *.* and to ignore the file name, as it is up to the user to define their own mappings based on their own file naming convention.


We’ll manually set the short name to the first letter of the discipline and set the discipline to one of the hard coded disciplines in SMC. For instance, we map the Mechanical file to HVAC and the Fire Protection model to Sprinkler. This will allow you to use the out of the out-of-the-box interference detection rules that come with SMC to check discipline against discipline.


For example, one such rule checks all Building Services components that intersect with beams and columns from Structural models.  Below, we see in the results view there are 207 intersections with beams and 30 with columns.  In the Checked Components view, these intersections occur in the electrical, mechanical, plumbing, and structural models.


Opening the rule parameters of this rule, in the component filter table for Component 1, only beams and columns from disciplines related to Structural components (Prefab Concrete, Steel Structure, Structural) are checked.  For Component 2, any component excluding Covering, Space, Cable from disciplines related to Building Services (Air Conditioning, Building Services, Cooling, Electrical, etc.) are checked.


Listing all the various disciplines that fall under the category of Structural vs Building Services models leaves flexibility for users for what they select as their disciplines when they first load their models.

You are able to isolate the results by discipline though selecting the file(s) of that discipline in the Checked Components view, setting the file(s) to the selection basket, and selecting Filter with Selection Basket (some) in the Results view.  Below, we see there are 169 intersections with beams and 16 intersections with columns between the HVAC model and the Structural model.


The intersections between just the electrical model and structural model can be viewed using this same method as seen below:


Depending on the number of files, disciplines, and naming conventions, you may find that you wish to fine tune your interference detection checks to individual disciplines and/or even disciplines, such as “Communications,” that are not included in the hard coded ones.  This can be achieved through the use of classification.

Open the Classification view by clicking Add View ADD_VIEW > Classification SMC Classification Icon.  You’ll find a “Discipline by File Name” classification is loaded.  If you expand the classification, you’ll find that components in the model are classified by their discipline:


Open the settings of the Classification by selecting the classification and clicking the Settings Settings button. In the Components filter parameters table, you see that all components are to be classified.  In the Default Classification Names, you see a listing of various disciplines.  You can add to or remove these depending on your own requirements.  Show Unclassified is marked to make it easy to see if any components in the model haven’t been classified to a discipline.


Click the Classification Rules tab to view how the file name is used to map to a specific discipline.  Every component has a Model parameter in the Identification property group, which is the short name and file name of the model that component resides in. For example, if “ELEC” appears anywhere in the file name, the components in the model are mapped to Electrical. This is achieved using “*ELEC*” to match the value of the Model parameter. If you specify the discipline in the file naming using a single character separated by underscores (_) or dashes (-), such as in the name “01_A_RME_Advanced_Sample_Project,” those components are classified as Architectural using “*_A_*” to match the value of the Model parameter. Lastly, you can specify the discipline in the file name using a single character at the beginning of the file name preceding a dash or underscore. However, since the short name of a file precedes the file name in the Model parameter, “(*) P-*” is used to match the value “(P) P-rme_advanced_sample_project” to Plumbing.

Depending on your own naming convention and disciplines, you can modify the values in the Model column to match your file names accordingly.


In the Checking view, if you select the rule STRUCT vs MECH, the same results are listed for Beams and Columns in the Results view as the out-of-the-box rule “Building Services and Beams and Column” when filtering by selection basket after selecting the HVAC model, seen in the prior screenshot.


Likewise, if you select the rule STRUCT VS ELEC, you’ll see the same results as previously seen in the “Building Services and Beams and Column” after selecting the Electrical model and filtering by the selection basket.


If you open the rule parameters of the STRUCT VS MECH rule, you’ll see that rather than using the Discipline parameter, the “Discipline by File Name” classification is used to filter what components to include.


Creating your own discipline classifications can make it easier when setting up your coordination rules based on disciplines if you have disciplines outside the ones available out of the box in SMC.  Using classification rules, you can automatically map your files based on their filename to those disciplines.



Creating Your Own Custom Disciplines Through Classification

SMC v9.6 introduces date-based checks

The recently released Solibri Model Checker (SMC) version 9.6 introduces support for “Date” properties.  Rather than plain text, these properties include Month, Day, Year and Time of Day information from IfcDate properties.  This allows components to be classified and visualized based on schedule information, as well as checks to be run against workflow schedules via rulesets. The following article provides details on how to set up the visual display of date properties in the settings of SMC, create date-based schedule classification, and generate Information Takeoffs that group components based on a construction schedule.

Date Unit Settings

SMC allows you to customize the date and time formatting, based on your own localization by clicking File > Settings > Units. For example, in the United States, dates are often formatted as MM/DD/YYYY as seen in the settings below:

File > Settings > Units with Date format set to MM/DD/YYYY
File > Settings > Units with Date format set to MM/DD/YYYY

This results in all date information in SMC being displayed in this format, as seen in the Info View below:

Dates Displayed as MM/DD/YYYY
Dates Displayed as MM/DD/YYYY

In many other countries, dates are formatted as DD/MM/YYYY, which is one of 18 settings that can be chosen from the File > Settings > Units > Date Format dropdown:

File > Settings > Units with Date format set to DD/MM/YYYY
File > Settings > Units with Date format set to DD/MM/YYYY

Through this date format setting, all dates are displayed as DD/MM/YYYY as seen below:

Dates Displayed as DD/MM/YYYY
Dates Displayed as DD/MM/YYYY

Classifications Using Date Information

The Classification View has been enhanced to support Date information in SMC. For more information on Classification in Solibri Model Checker, please follow the link below:


In the Classification Settings, a Use Dates as Classification Names checkbox has been added. When selected, only dates can be used as classification names, and a date picker is provided to ensure a valid date is entered in the Classification View screens.

Date Information in Classification Settings
Date Information in Classification Settings

When creating any classification, SMC will look at a property of a component and based on the value (in this case, the date) generate distinct date classifications for use in SMC.

To begin using date information in a Classification, first ensure the date information is present in the model. In this example, the date information is coming from the WORKFLOW information tab.  Each component in the model should contain this schedule information.

WorkFlow tab displaying Schedule Start and End
WorkFlow tab displaying Schedule Start and End

Switch to the Information Takeoff view to display the Classification window.  From here, we can generate new Classifications using the date information.

Select Classification Settings.  In this example, the Classification is using the property PLANNED_START_E to define the classifications, and the Classification Name will be the same as the value of the property (in this case, the date).

Classification Rules tab showing the PLANNED_START_E property usage
Classification Rules tab showing the PLANNED_START_E property usage
Schedule Classification sorted by PLANNED_START_E date
Schedule Classification sorted by PLANNED_START_E date

If the PLANNED_START_E date changes with new updates of the model, the Schedule Classification will also change to reflect the new dates.

In Classification Settings you can create a date constraint to limit the dates that are classified by double clicking on the PLANNED_START_E column. Below, the constraint has been set to only create a Classification for dates between March 31, 2015, and April 30, 2015.

Date Constraints limit classified components to a specified range of start dates
Date Constraints limit classified components to a specified range of start dates

As a result, the only displayed Classifications listed under Schedule are dates within the specified date range.

Displayed dates are all between March 31, 2015 and April 30, 2015
Displayed dates are all between March 31, 2015 and April 30, 2015

In addition to being a useful tool for managing the model and checking schedule compliance, Schedule Classifications can also be used in an Information Takeoff.  The construction of components can be visualized by selecting rows sorted by construction start date. Other quantity information such as counts of doors or windows, or lengths of beams can be added as columns as well, to provide schedule-based quantity takeoffs.

Example of Information Takeoff results sorted by schedule date
Example of Information Takeoff results sorted by schedule date
SMC v9.6 introduces date-based checks

New in V9.6: Generating Slides Directly from Information Takeoffs

The newly released version (9.6) of Solibri Model Checker (SMC) includes an option to create presentation slides directly from information takeoff definitions. The Information Takeoff view in SMC is a perspective that allows a user to visualize and aggregate model components based on their property information.  After generating an Information Takeoff, you might wish to generate a set of slides or views showing each row, or selective rows of the Information Takeoff results.   These slides can remain in the model for later use in review sessions, or they can be exported in a formatted report.

The following article demonstrates this capability through a scheduling Information Takeoff that groups components based on their start dates of construction.  In addition to automatic slide creation through Information Takeoff, version (9.6) introduced the entirely new ‘Date’ unit type.  These separate new capabilities complement each other well in version (9.6). A more detailed explanation on date information in SMC can be found here:

SMC v9.6 introduces date-based checks

To begin, run an Information Takeoff (ITO) and generate the results you would like to visualize (for help using ITO, select the video icon in the upper right corner of the Information Takeoff view to watch a short video explanation).

When done, the model should be color-coded based on the properties defined in the takeoff.  In the example below, a takeoff has been run separating all model components by start date:

Information Takeoff of Scheduled Start Dates of Construction
Information Takeoff of Scheduled Start Dates of Construction

Select individual rows of the Takeoff to display the components built on each date, separately.

Components Isolated in the 3D View Based on Start Date
Components Isolated in the 3D View Based on Start Date

These individual row displays can be auto-generated as slides/views from the Communication Tab.

From the Communication Tab, select “Create Presentation.”

You will see the options to generate a slide “From Information Takeoff Results.”

New Presentation Option: From Information Takeoff Results
New Presentation Option: From Information Takeoff Results

The Presentation from Schedule Visualization Window dialog will open.

Presentation from Schedule visualization dialog
Presentation from Schedule visualization dialog

The following is a listing of the various options of the Presentation from Schedule visualization dialog:

  • Create Issues From Rows:
    • Create Issues from Rows: If you would like to see the views as they are displayed when selecting a single row in Information Takeoff, choose the option to view “Each Individual Row.”
    • Include Previous Rows: Select this option if you would like the views to be cumulative, so the previous rows are added to the new view. For example, if you want the first slide to display the footing built on 2015-04-29 and the second slide to include both the footings and the columns that are built on 2015-04-29, choose the option to “Include Previous Rows.”
  • Define Issue Details By Template Columns: These options allows the user to decide which Column from the Information Takeoff View will be used as the Title and Description for the slides/views.
  • Components and Visualization
    • Link Components to Issue: Components in the slide will be linked to the view for later use in the Detailed Report (XLS) option.
    • Autozoom to Components: Positions the view as close-in as possible to fill the 3D window with the relevant components.

Under Create Issues From Rows, select Include Previous Rows, and then click Create.

Individual Slides Automatically Created from Individual Information Takeoff Rows
Individual Slides Automatically Created from Individual Information Takeoff Rows

The slides displayed now reflect the individual rows from the Information Takeoff.  These slides will remain with the .SMC model for future use, and can also be exported via the “Report” button.

From Report, Select the XLS button and select Ok (For this example, we will generate an XLS report, but note that other options, such as PDF and BCF are available as well).

Excel will automatically open and display the new XLS report, reflecting the slideshow that has been generated in SMC using Information Takeoff.

A Coordination Report Generated from Information Takeoff Slides
A Coordination Report Generated from Information Takeoff Slides
New in V9.6: Generating Slides Directly from Information Takeoffs