In the following article, we’ll explore classification as well as some of the rule templates that can be used to check for construction site safety requirements defined in Occupational Safety & Health Administration (OSHA) Parts 1910 and 1926.
Classification of construction site safety spaces and components
In order to check the requirements of a space or component, Solibri Model Checker (SMC) must know the function of the space or what the component is. This is accomplished through classification, which can be done either manually by selecting a space or component and assigning a classification or done automatically by mapping a space or component to a classification based on a property of the space or component.
It is recommended that spaces and components be partitioned into at least two separate classifications. You’ll notice many of the parameters of rule templates either include a space classification or else a component filter table in which a component classification can be used. Separating your spaces and components into two different classifications makes it easier to visualize room information vs component information respectively. Likewise, creating your classification rules and specifying rule parameters will be easier using two separate classifications.
The screenshot below shows the Components filter setup for a “Site Safety Components” classification. Notice that the filter includes Any component excluding Spaces and Openings since Spaces will have their own classification and Openings don’t normally carry much information as they are normally created by other components such as Windows or Walls, which can be classified themselves in this classification.
The screenshot below shows the Components filter setup for a “Site Safety Spaces” classification. Notice that it includes all Spaces excluding those that have a Space Group Type property defined. Space Groups are spaces that group other spaces together, such gross areas or rentable areas found in area plans, which is why these types of spaces are excluded.
In order to automatically map spaces and components to a classification, you will need to create Classification Rules in your classifications. A simple mapping is to check if the logical name of the component is anywhere in the Type or Name property of the component. In the screenshot below, you can see that the *Fire*Extinguisher* matching pattern is listed in the Type and Name columns. If the word “fire” and the word “extinguisher” exist anywhere in that order in either the Type or Name of a component, the component is classified as a Fire Extinguisher.
Rather than names, which can have typos or have unknown abbreviations, a more precise method to map classifications is to use a classification system based on a hierarchical numbering system such as OmniClass or Uniclass. In the screenshot above, notice the OmniClass Number and Uniclass Number columns, which are classification systems used by the construction industry. In the OmniClass Number column, you’ll see two rows with values 23?65?70?17?27* and 23?29?25?19*. These two values correspond to the numbers that classify Fire Extinguishers in the 2006 and 2009 versions of the OmniClass Table 23 – Product document. The question mark (?) pattern matching character, which matches any single character, is used since OmniClass numbers may be separated by periods as in the example “126.96.36.199” or by dashes and spaces as in “23-29 25 19.” The asterisks (*) pattern matching character, which matches any number of characters, is used placed at the end of the number, since a text description may be included at the end of the number. Also, OmniClass is a hierarchal classification system in which the classification 23-29 25 19: Fire Extinguishers has sub-classifications such as 23-29 25 19 11: Stored Pressure Fire Extinguishers and 23-29 25 19 19: Foam Fire Extinguishers, which should also map to the Fire Extinguisher classification in SMC. By placing an asterisk (*) directly after the number corresponding to Fire Extinguishers, those more specific types of fire extinguishers will be mapped since their numbers also match the pattern 23?29?25?19*.
The two rows with UniClass values correspond to the Uniclass numbers for Fire Extinguishers from UniClass version 1.4 and version 2.0. As with OmniClass, asterisk pattern matching characters are used to match any textual description that may be included along with the number and to match any sub-classifications.
Check Component Properties using Property Rule Template with Component Filters – SOL/230
One of the most common checks to perform is simply to ensure that a property of a component meets a requirement. The Property Rule Template with Component Filters rule template does just that, which is why it is one of the most commonly used templates that you will find in a ruleset.
Below is an example of how you can check that the tops of Guardrails are 42″ plus or minus 3″ above a walking surface as stated as a requirement in OSHA 1926:
In the Components to Check filter table, Any component that is classified as a Guardrail is checked. In the Requirements table, there are two rows to check that the Bounding Box Height of those components is greater than 39″ and less than 45″.
Check Component Counts using Comparison Between Property Values – SOL/231
There are many standards in OSHA Parts 1910 and 1926 related to counts of spaces and components. For example, one standard states that there should be a minimum number of toilets based on the number of workers. By using the Comparison Between Property Values rule template, you can check for counts of spaces or components in the entire project, on individual floors, or in specific spaces.
In the screenshot below, you’ll see how the rule parameters are setup to check for a minimum of 5 toilets in a project.
In the Components to Check filter table, the Project container component was used in an Includes filter since the entire project should be checked. If we wanted to check for a number of components on each floor, we could have used the Floor container component instead. Next, the Target Value is set to the Numeric Number 5, as we are looking for a toilet count of 5 or greater. In the Compared Components section, we are checking a Related Component, since a Project has a Forward Containment relation to Toilet components. Notice the Follow Relation Chain checkbox is marked, as there isn’t a direct Containment relationship between the project and the toilet components. A Project contains a Site, which contains a Building, which contains Floors, which contain Spaces, which contain the Toilet components.
In the Components to Compare filter table, there is an Includes filter for Any component that is classified as a Toilet. In the Quantifier dropdown, Count has been specified as we are checking for the count of toilets. In the Operator dropdown, greater than or equal (≥) is specified since the count of toilets has to be greater than or equal to 5 in the project.
If you were to run this check on a project that only contained 3 toilets throughout the whole model, you would see a result similar to that below stating that only 3 toilets are present, where the requirement was ≥ 5.
Check Distances between Components Using Component Distance – SOL/222
Many site safety standards deal with spatial distances between components. One such standard states that at least one fire extinguisher shall be located adjacent to a stairway. In the screenshot below, you can see how the rule parameters are setup to check for a maximum distance of 10 feet from a stair to at least 1 fire extinguisher.
In the Distance Calculation parameters, Check Maximum Distance is specified since a fire extinguisher can be no further away from a stair than a certain value. In this case, we consider a fire extinguisher within 10′ to be adjacent, which is why that value is entered in the distance box. For the Distance Calculation Method, Minimum 2D is specified since we wish to check that an extinguisher is horizontally next to a stair on the same floor. For instance, if Minimum 3D was used instead, a fire extinguisher within 10 feet located on a floor above the stair could satisfy the check, which is not what we wish to check. In the Source Component filter table, notice this filter includes Any Stair component excludes those that have a Backward Decomposes Relation to Any other component.
A component that is a sub-component of another component will have a Backward Decomposes relation to that other component. For example, a Stair can be made up of Railings, intermediate landing Slabs, and other Stairs components that represent the flights between intermediate landings. We only wish to check the parent Stair component rather than any of the individual flight stairs, which is why those stairs are excluded in the filter. The Target Component filter table is simply set to Any component that is classified as a Fire Extinguisher. Since only one fire extinguisher is required to be adjacent to a stairwell, the Minimum Amount box is set to 1.
If you look at the result below, you can see that the Info view states that there are no components within 10’ of this stair, and you can visually see where a fire extinguisher should reside in the red circle that surrounds the stair.