This article describes how the Comparison Between Property Values rule works and how you can configure the rule. Typically, this rule is used to check that spaces and their equipment meet certain technical requirements. The rule can also be used to verify that the properties of components related to each other meet the specifications set to them.
The article covers the following topics:
This rule compares component property values between multiple components or components related to each other. The rule is very versatile and abstract, which makes it quite challenging to configure. This rule can be used to check that requirements are met throughout the design, and that the values are in the correct format, within the limits of given requirements or have the required number of relations.
For different uses of this rule, check out the Solibri example rules delivered with Solibri. Take a look at for example Enough Supply Air Valves (checks that there are at least two inlet valves in offices that are larger than 10m2) and Doors Must Be Connected to Two Spaces (checks that doors are related to two spaces).
In this rule, you can select any component to be checked. The rule compares the properties defined in the Checked Component' and Compared Component filter tables. There are multiple options in parameters for values to be defined, depending on the requirement. You have to define two sets of parameters: the original component with the existing target value to meet, and the components for comparison.
In the Parameters view, you can define the components to check and the target values, as well as the compared components and the categorisation of the results.
Components to Check: Select the component and its property. This selection defines the target value.
Target Value: Set the data value type. You can select between Text, Numeric, Choices, Checked Property or Boolean. Each of these data types requires a different type of formatting:
Text: Give the value as a constant textual or string content. Make sure that you have it correctly written, as required.
Numeric: When you select value data type to be numeric, you have more options to choose from. The values will be related to the current units set up for the following items:
Make sure that the target value is given correctly as a constant numeric value.
The Factor parameter value is a numeric tolerance value which is available only in numeric or any numeric property value options, such as height or area. Like in the filter tables, the mathematical Operator (=, <, > etc.), the Factor appears here only when you are using numeric data. The target value can be multiplied or deviated using this value.
Choices: Define the allowed options on the Target Values table. Just add a new row and type the options:
Checked Property: Select the correct property in the Checked Component Property field. Unlike other options, this is not a fixed value, but it depends on each checked component.
Clicking and select the correct property type and property value. To ensure correct typing, make sure that you have the correct model open, where this property exists, so you can select the property to be used.
Boolean: When you select the type to be Boolean, it must be a True or False type of option.
Compared Components: In the Compared Components parameters, you define the components to check and select the Components to Compare option, which defines the component comparison group. When comparing parameters in the same component option value Checked Component, the second filter is not needed and it disappears. The additional parameter options appear according to your selection, allowing you to use specific parameters for that property.
The common properties for all selected comparison groups are located in the bottom of this parameter section, except Checked Components, since the components are the same and filter table is not needed.
Components to Compare: The component comparison group options are:
Checked component: The compared components are the same as in the Components to Check table. Now you can compare two property values of the same component with each other. Select the Compared Component Property by clicking , and find the required property. If the property is a numeric value, you have the option to choose the Operator if the compared value must be =, <, > etc. than the target value.
Related component: Select the compared component of which to have a relation to the Components to Check. Specify a relation type, such as Bounded By, Containment, or Federated Floors. Select the required direction for the relation (Forward, Backward or Either).
Same space: The compared components must be in the same space as the checked (target value) component. If the checked component (target value) is a space, then those compared components must in that space.
Same federated floor: The compared components must be in the same federated floor. This means that the checked components and compared components must be on a same storey level, according to global elevation. This is a Solibri specific relation, which can be detected on the Relations tab in the Info view.
Same building: The compared components must be located in the same building hierarchy.
Filter for Components to Compare: Define the filter for the components that are going to be compared to the target components.
Quantifier: Select from the following options:
Each: Take into account each one of the component(s) defined in the Filter for Components to Compare table. For example: Each space must have at least two Supply Air Valves.
At least one: At least one of the compared components must match the criteria.
Count: Counts the component(s) defined in the Filter for Components to Compare table and compares it to a property defined in the Target Value Type parameter.
Sum: Sums the values of Compared Component Property of all compared components.
Compared Component Property: Defines the property to which the Quantifier is applied.
Operator: Operator choices relate to the original target value type,
Text: Options are Contains, Matches, Matches With Case, Is Undefined, and Is Defined.
Numeric:Options are =, >, <, ≥, ≤, and ≠. If you use this operator, you can set also the tolerance to compare the numeric properties and target values.
Choices: Options are One of and None Of.
Checked Property: Options depend on the data type for the parameter being checked.
Boolean: Option are = and Is Undefined.
Categorization of Results: Define what information of the components is used in the categorization of the results. Typically, these are items like Discipline, Property, Type, Floor, etc.
Results: This rule returns results which will show you where the requirements are not met. You can detect the checked, rejected and passed components as a group in the Checked components view. In the Info view, you can read the results categorized in component folders. If the rule checks multiple component classes, the folders are arranged in alphabetical order.
Severity: The default severity of the the rule result is moderate. In the severity table, you can specify a custom priority for critical and moderate severities.
When rule #231 is used as the parent rule (§1), the output components that pass or fail the requirements, are delivered to the next rule. You can choose if you want to check the failed or the passed. You can also choose to check all the components of the current model, based on if there is any passed or failed components. The output components can be any non-container components.
When rule #230 is used as the sub-rule, the input for this rule will be the passed components from rule §1. The component has to be set the same as in rule §1 - with additional requirements. These input components can be a any non-container components.
For more information on gatekeeper rules, see here.
Typical use cases for this rule are:
Space Area Has to be at Least Target Area: This rule checks that area of each space (no space groups) is at least the same as its target area. The target area is get from the space's own property.
Enough Supply Air Valves: This rule checks specified spaces include enough supply air valves.
Total Heaters' Efficiency Has to Be at Least Required Efficiency: This rule checks, that total efficiency of heaters in a space is at least the same as total heating requirement of the space.
Doors Must Be Connected to Two Spaces: This rule checks that all doors have Referencing relation to two spaces. The rule creates unneeded issues foe external doors. If you have a property to identify external and internal doors you can add it to Components to Check table.
Component type has to be same as component type name: This rule checks that component type name (name of the type instance component is related to by 'Defines by type relation') is the same as value of property Type. According to IFC standard definition, the component type value is inherited from the related type instance, if the component do not have a property pset_<component_class>Common.reference (like pset_WallCommon. reference). (Ref. #CV-2x3-136 - Agreement on exporting the construction type)
Value of a property should be same in type instance and in component instance: This rule checks that value of a property in type instance is the same as in the component.
Every type instance should have a value: This rule checks that values properties in type objects propertyset exists.