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.