Support site for Simplebim users
Validation Worksheet

On this sheet you can define validation rules for the model. The validation results are shown in the simplebim user interface.

The validation worksheet has the following sections

Section Description
Required Objects In this section you can define the object classes and groups for which the model must contain objects.
Required Properties In this section you can define the properties that must have values.
Rules for Text Property Values In this section you can define validation rules for text properties.

Required Objects -section

In this section you can define the object classes and groups for which the model must contain objects, for example that the model must contain walls, or that a ‘Building Envelope’ Group must contain objects.

Field Value Description
Object or Group [+] Text The name or identity key of the Object Class, or the name of the Group
Requirement Choice

The type of the requirement

Must  Have Objects The Object Class or Group must have objects, e.g. there must be Wall objects in the model or the group 'External Walls' must have objects.
Must Not Have Objects The Object Class or Group must not have any objects, e.g. there must not be any Building Element Proxy objects in the model or the group 'Very Short Walls' must not have any objects.
No Requirement The Object Class or Group has no requirements on this level
For backward compatibility the values Yes and No are also supported. Yes is equal to Must Have Objects and No is equal to No Requirement

Required Properties -section

In this section you can define the properties that must have values. If a model does not have objects of a given Object Class or a Group is empty, then the required properties for that Object Class or Group are not validated. You can for example require that the Name property of all Space objects has a value, but this requirement only applies if the model has Space objects.

Field Value Description
Object or Group [+] Text The name or identity key of the Object Class, or the name of the Group

The special value ‘All’ will apply the operation the applicable Properties on all Object Classes that have the corresponding applicable property.

Property [+] Text The name or identity key of the property

The special value ‘Included’ will apply the operation to all properties that were included for the applicable Object Classes by any template in the current template stack.

Yes/No Yes/No Require that the Property has values?

Rules for Text Property Values -section

In this section you can define validation rules for text properties. You can for example define a list of allowed values for space names, an allowed pattern for building storey names or that space numbers must be unique.

NOTE: If multiple rules are defined for the same property, the new rules will override the previous ones and only the last rule will be used. However, you can define different rules for the same property in the context of an Object Class and in the context of Groups.

Field Value Description
Object or Group [+] Text The name or identity key of the Object Class, or the name of the Group
Text Property [+] Text The name or identity key of the Text property
Rule for Text Property Choice The rule the values of the Text Property must comply with. The default is ‘Must be one of the values’
Case Sensitive Yes/No Perform case sensitive comparison?
Allow Empty Are empty values allowed? Empty values should be allowed if the property is optional.
Separator Text The character used for separating items in the values list. Leave empty if there is only one item or each item in your list is on its own cell.
Value [+] Text The list of values. The items in the list can be separated by a separator if you have defined a Separator.

The following table contains a short description of the different rule types

Rule Type Description
Must be one of the Values A list of allowed values, e.g. the space names from a spatial program.
Must contain one of the Values For example the name of a wall type must contain either ‘int’ or ‘ext
Must start with one of the Values For example the name of a wall type must start with either ‘int’ or ‘ext
Must end with one of the Values For example a list or values must be terminated with a separator, like a comma.
Must be like one of the Values (with wildcards) For example the name of a wall type must start with either ‘int’ or ‘ext’ followed by exactly 3 characters. For this you would use ‘int???’, ‘ext???
Must match one of the Values (regular expression) For example the name of a wall type must start with either ‘int’ or ‘ext’ followed by any number of numbers. For this you would use ‘^int\d{0,}$’, ‘^ext\d{0,}$
Must have unique values For example that space numbers must be unique
Must not be any of the Values For example the material of a wall must not be a default value, like ‘empty fill’.
Must not contain any of the Values For example that space objects used for modeling building storey areas should not be included. For this you would use ‘gross area’, ‘net area’
Must not start with any of the Values For example that the name of a wall type must not be prefixed with an automatic prefix like ‘Basic Wall
Must not end with any of the Values For example a list or values must not be terminated with a separator, like a comma.
Must not be like any of the Values (with wildcards) Can be used as an alternative to contains, starts with and ends with.
Must not match any of the Values (regular expression) Can be used as an alternative to contains, starts with and ends with.