Recently, we explained the process of creating rulesets in Solibri Model Checker (SMC). In order for SMC to check a space or component for a requirement, in many cases, SMC will need to differentiate the spaces and/or components from one another through some property. For example, the function (water closet, corridor, office, etc.) of a space will often determine the requirements for that given space. The Classification view provides a means to classify spaces and components both automatically and manually. The classifications of spaces and components are useful for checking in rulesets, reporting in Information Takeoff (ITO), or simply visualizing in the 3D view. The following article will introduce you to classification by teaching you how to modify the existing classifications that come with SMC, as well as how to create your own.

A model of a medical and dental clinic is used as an example, which consists of an architectural and structural model.  These models are available to download here:

  1. Download the two .zip files, but do not unpack them. SMC is able to read IFC files that have been compressed as ZIP files.
  2. In SMC, click File > Open Model…, browse to the two zip files, and click Open.
  3. The Ensure Model Disciplines dialog will open. Ensure that Clinic_A_optimized and Clinic_S_optimized have their Disciplines set to Architectural and Structural respectively.  If you would like, you can also set a Short Name for the files.

    Ensure Model Disciplines dialog
    Ensure Model Disciplines dialog
  4. In the top right of SMC, click the Add View ADD_VIEW button and select Classification to open the Classification view.

    Add View - Classification
    Add View – Classification
  5. In the Classification view, if the Space Usage classification isn’t already opened as part of your role, click the Add Classifications Open button, and browse to the Space Usage.classification file that resides in the Classifications folder of SMC.
  6. Notice there are two types of classifications denoted by their icons. Classifications with an IFC Icon IFC_ICON are IfcClassifications that are part of the IFC model.  Classifications with a Classification Icon SMC_CLASSIFICATION_ICON are .classification files that were created in SMC and are currently loaded.
  7. Expand the Space Usage > Office classification to see the listing of spaces classified as Office, and select the Office classification to isolate those spaces in the 3D view.  Notice the spaces classified as Office are colored green. If you find that the grids in the 3D view are excessive, to turn them off, click the Show Footprint Controls FOOTPRINT_CONTROLS button in the menu bar and then click the Show/Hide Grids SHOW_HIDE_GRIDS button in the Footprint Controls.

    Space Usage - Office Spaces
    Space Usage – Office Spaces
  8. In the Classification view, either right-click the Space Usage classification and select Settings in the pop-up commands, or select the Space Usage classification and click the Classification Settings CLASSIFICATION_SETTINGS button in the toolbar.
  9. The Classification Settings dialog will open consisting of 4 tabs: Settings, Classification Rules, Unclassified Components, and Classified Components. Click the Settings tab, and the dialog will appear as below:
    Classification Settings - Settings
    Classification Settings – Settings

    Name – It is important to give some thought in the naming of your classifications as you create them.  If you wish to rename them later, any rules, classifications, and ITO definitions that use those classifications will need to be updated as well.  The name set here in the Settings tab is not only what appears in the Classification view, it is also what you’ll be selecting within the parameters of your Rules, other Classifications, and ITO definition columns.  In general, you want to provide a short name that is less than 80 characters, as there is limited space to display the name in the views, dropdowns, and columns within the application.  However, you also want to be as descriptive as possible when naming a classification in order to understand its purpose.  For instance, if a classification only classifies Space components, then it’s a good practice to include “Space” in the name of the classification (e.g. “Space Usage for ADA and ABA Accessibility Guidelines” or “OmniClass 2012-Spaces”).  Likewise, if a classification is for components and does not include spaces (or openings), then including “Component” or “Building Elements” in the name (e.g. “Uniclass 1.4-Components” or “Building Elements – Uniformat”) will identify the classification as such.  When saving your classifications, the name of the classification provided here does not have to match the filename of the .classification file you save to.  However, to eliminate confusion, you should provide roughly the same name, and upon saving your classification, the Save As dialog will fill in the File Name with the Name set in Settings tab.  A problem can arise if you use special characters, such as ‘&’ or ‘/’, in the name of the classification, as these characters are not allowed in the filename.  Therefore, if you can’t use a character in the filename, don’t use it in the name of the classification.

    Description – The text provided in the description box is displayed in the Add Recommended Classification dialog that opens when clicking the Add Classification Open button. Providing a good description will assist others who use your classifications.

    Add Recommended Classifications
    Add Recommended Classifications

    Components – Prior to version 9.5, SMC only allowed selecting the discipline and a component type (Any, Floor, Door, Space, etc.) to specify what components to classify.  A filter table is now provided to allow much more control.  In the Space Usage classification, the first row of the filter table includes spaces, but only those that come from an Architectural model.  Therefore it classifies rooms from an architectural model, but not spaces from an MEP model, as those models would be set to one of the other excluded disciplines, such as Building Services, or Air Conditioning.  The second row excludes spaces classified as Space Groups (e.g. gross or rentable areas from an area plan, which are not rooms).  In general, when creating a classification for rooms from an architectural model, you should have these same two rows in the Components filter table as above in the Settings tab of the Space Usage classification.

    The State column of the Components filter table has three options: Include, Exclude, and Ignore.  Include will include whatever components filtered in that row in your classification.  Exclude will exclude whatever components filtered in that row, which would otherwise be included by rows with an Include state.  Ignore will ignore the row just as though it didn’t exist in the table.  This is useful when testing, as an ignored row in the filter table is still available to change back to include or exclude without having to recreate the row if it was removed.

    In the Component cell of the Components filter table, clicking the Browse BROWSE button opens the Select Component Type dialog. In order to easily locate the different components types, they are grouped in folders of the Disciplines of models that they normally reside in.  You can also quickly jump to specific components types by pressing the first letter of the component type on the keyboard.  For example, to quickly find the Space component type, hitting ‘S’ repeatedly will jump to Site, System, Slab, and then Space.

    If your classification is for any physical component, you can select Any in the Select Component Type dialog.  However, you’ll often want to exclude spaces as they aren’t physical components.  Also, you’ll want to exclude openings, which are fully transparent in the 3D view and are most often created automatically by the actual components you wish to classify, such as windows or doors that cut out wall openings. Below you can see the Components filter table that includes any component from any discipline excluding spaces and openings, as used in the Uniclass 1.4-Components classification.

    Any component excluding spaces and openings
    Include Any component Excluding Spaces and Openings

    You are also able to classify Container components such as Floors, Systems, and Zones by selecting those types from the list of Container components in the Select Component Type dialog:

    Select Component Type dialog
    Select Component Type dialog

    It is important to understand that selecting Any in the Select Component Type dialog does not include container components, and you must add rows to the Components filter table for each individual Container component type you wish to include.

    Locked – When marked, the Locked checkbox disables manual classification for the classification.  When locked, only automatic classification through the use of the classification rules can be used to classify components. Locking a classification doesn’t prohibit a user from editing the classification, and the classification rules are still able to be modified. However, the user is no longer able to manually set classifications of components listed in the Unclassified Components or Classified Components tab. When locked, a classification will appear with “(Locked)” at the end of its name in the Classification view.  To unlock a classification, simply unmark the checkbox, and manual classification will be enabled again.

    Allow Multiple Classification Names – When marked, the Allow Multiple Classification Names checkbox, as the name suggests, allows a user to specify more than one classification name in the tables of the Classification Rules, Unclassified Components, and Manual Classification tabs.  Rather than a single dropdown value to select from, the user is provided an Edit Classification Names dialog to add multiple classification names. Marking this checkbox enables the All Matching option in the ‘Classification Rules’ tab. Similarly, this also enables a checkbox: ‘Value to One row’ in the Information Takeoff Definition.  This topic is explained in the article: Using Advanced Classification in ITO

    Show Unclassified – When marked, the Show Unclassified checkbox groups all components that haven’t been automatically or manually classified under an “Unclassified” listing in the Classification view.  This allows a user to see what components haven’t been classified without having to open the Unclassified tab in the Classification Settings dialog.   If all components have been classified, it is no longer listed.  The “Unclassified” listing can be selected in the Classification view to isolate those components; however, it isn’t a classification that can be selected in the parameters of a rule.

    Default Classification Names – In this table, you create the names of classifications to select from in the tables of the Classification Rules, Unclassified Components, and Classified Components tabs.  Creating the names in this table before hand is quicker and easier than typing them in as you create classification rules or manually classify components.  Also, a nice feature is if you enter a classification name in the other three tabs of the Classification Settings dialog that doesn’t exist in the Default Classification Names table,  when you click the Add a New Row ADD_NEW_ROW button, that name will be filled in automatically with those names that exist in the other tabs.

    In the Color column, you can specify a color and transparency for how the component is displayed in the 3D view when the classification is selected in the Classification view or if an ITO has been run that uses colors of the classification.  Double-clicking one of the Color cells opens the Choose Classification Color dialog:

    Choose Classification Color dialog
    Choose Classification Color dialog

    Here you can select from one of the predefined color swatches, or if you’d like a more precise method to specify a color, you can use the RBG, HSV, or HSL tabs.   The Transparency % slider specifies the transparency of the component, where 0 is fully opaque, and 100 is fully transparent.  Generally, you’ll want to set the transparency of classifications based on how the components of those classifications would appear in real life.  For instance, classifications colors for windows make more sense when they are somewhat transparent in the 3D view.   For space classifications, you’ll want to use about a 50% transparency for your classifications to allow spaces to show through one another and also to allow the footprint and space info to display through space components in the 3D view.

    If you don’t want to override the color of the component, click the Use Component’s Color button.  The components will appear as they normally do when you select their classifications in the Classification view.

  10. In Classification view, click the Cancel button, so no potential changes will be made.
  11. In toolbar of the 3D view, click the Viewpoints dropdown VIEWPOINT_COMMANDS and select Top Viewpoint TOP.    The camera will now point downward from the top along the z-axis of the model.
  12. Click the Change Camera Projection button from Perspective PERSPECTIVE to Orthogonal ORTHOGONAL.  This viewpoint is ideal for looking at floor plans of a model.
  13. In the Classification view, click the Switch to Containment Hierarchy CONTAINMENT_HIERARCHYbutton.
  14. Expand (ARC) Building.b.1 > (ARC) Second Floor > Office to list three of the rooms that are classified as Office on the second floor.  Select the Office classification to isolate and color these spaces in the 3D view.
    Spaces matching
    Spaces matching OFFICE and WAITING

    You can see that two of the three spaces are named “OFFICE” and one is named “WAITING.”

  15. Open the classification settings of the Space Usage classification again.
  16. In the Classification Rules tab, scroll through the rows of classification rules and you’ll see one row with the value OFFICE and another with the value WAITING in the Name column for a row that maps to the Classification Name “Office” :
    Classification Rule -
    Classification Rule – OFFICE > Office

    This row will map any space with the name OFFICE to the classification Office. The capitalization of the value in the Name column doesn’t matter.

    Notice that the Type, and Layer columns have asterisks * as a value, which is a wildcard matching character.  There are two wildcard matching characters that can be used in classification rules: * and ?

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

    Therefore, for all but the last three the rows of this table, any value or no value at all can reside in the Type or Layer properties.  If we were to remove the asterisks from these columns, the row would only match and map those components to the Classification Name if the Type and Layer properties either didn’t exist or had an empty value.

  17. Change the value in the Name column to OFFICE* for the row that maps to the Classification Name “Office” in the table and click the OK button.
    Changing the Value to OFFICE*
    Changing the Value to OFFICE*

    You’ll notice an additional space has been added to the Office classification named “OFFICE / EXAM.”  The classification now maps rooms with a name that starts with “OFFICE” to the classification Office.

    Spaces Matching OFFICE*
    Spaces Matching OFFICE*
  18. Open the classification settings of the Space Usage classification again.
  19. Change the value in the Name column to *OFFICE* for the row that maps to the Classification Name “Office” in the table and click the OK button. Notice several other spaces have been added to the Office classification such as those with the name “Tech Office”. The classification now maps rooms with a name that contains “OFFICE” to the classification Office.

    Spaces Matching *OFFICE*
    Spaces Matching *OFFICE*
  20. In the Classification view, open the classification settings of the Space Usage classification again.
  21. Select the first row in the table and click the Add a New Row ADD_NEW_ROW button.  The first row should be duplicated. Change the value in the Name column to *EXAM* and change the value in the Classification Name column to Exam. Notice on the bottom of the dialog that the First Match option is selected as the Classification Method.  Click the OK button.
    Adding a Row to Match *EXAM*
    Adding a Row to Match *EXAM*

    There should now be an Exam classification containing a room named “OFFICE / EXAM” on the Second Floor.  Even though “OFFICE” is contained in the name of the space, since the row that maps *EXAM* to the Exam classification is listed before the row that maps *OFFICE* to Office classification, “OFFICE / EXAM” is classified as Exam.

    The Exam classification containing a Room Named Office / Exam
    The Exam classification containing Office / Exam
  22. Open the classification settings of the Space Usage classification again, change the Classification Method to Best Match, and click the OK button. There should no longer be any spaces classified as Exam on the Second Floor. Even though the row that maps to the Exam classification is first in the table, the room named “OFFICE / Exam” is now classified as Office again because there are more characters that match *OFFICE* than there are that match *EXAM*.
  23. In the Classification view, select one of the spaces classified as an Office in the Classification view.
  24. If the Info view isn’t already open, click the Add View ADD_VIEW button in the top right of SMC, and select the Info view.
  25. In the Info view click the Other tab, with one of the spaces classified as Office selected.
    OmniClass Table 13 Function of Space Category
    OmniClass Table 13 Function of Space Category

    The Other tab in the Info view is a property set populated with the properties that come from the Other property group from Revit.  There is a Category Code and Category Description property in this property set that has values that come from the OmniClass Table 13 – Function of Space classification system.  We will use the Category Code property value “13-15 11 34 11”, which denotes Office spaces in the Space Usage classification.

  26. In the Classification view, open the classification settings of the Space Usage classification again.
  27. Right-Click the Type column header in the table, and select New Column.
  28. Select Other in the Property Set Name dropdown box, select Category Code in the Property Name dropdown, and select Text in the Format dropdown. Click the OK button.
  29. Select the first row in the table and click the Add a New Row ADD_NEW_ROW button.
  30. Change the value in the Other.Category Code column to 13?15?11?34?11*, change the value in the Name column to *, and change the value in the Classification Name column to Office.

    Adding a Row to Map the Category Code 13-15 11 34 11 to Office
    Adding a Row to Map the Category Code 13-15 11 34 11 to Office

    In the value for the Category Code property, the question mark (?) wildcard matching character was used in between the numbers, since OmniClass numbers can be separated by decimal point characters, as in “”.  With the ? wildcards, it doesn’t matter what the character is, so long as there is one in between the numbers.  We also added the asterisk (*) wildcard matching character to the end of the value, since the code and the description can be combined in a property value, as in “13-15 11 34 11: Office”.  With the * wildcard, it no longer matters if the description is also included at the end of the code.

    Spaces Matching Category Code 13?15?11?34?11*
    Spaces Matching Category Code 13?15?11?34?11*

    Notice that several more spaces have been classified as Office that don’t have “Office” contained in their name.  Those spaces were added through the mapping of their Category Code property.