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:
http://www.vectorworks.net/bim/projects/135
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:
Pipe_Color_by_Nominal_Diameter.zip
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.