Template Guide

Jiri Hietanen
Jiri Hietanen
  • Updated

Introduction

This template guide contains the documentation for Simplebim Excel templates that were the solution for BIM wrangling automation in Simplebim until version 10. Simplebim versio 11 introduces Dataflows that are replacing the old Excel based templates. The old templates can still be used as part of Dataflows via a Dataflow step that applies the Excel template file.

Template System Overview

Templates are used for automating operations in Simplebim. Templates are straight forward Excel files that follow a certain structure. For creating templates you can modify one of the templates that ship with Simplebim, download samples from the Simplebim web site or create a new template from scratch.

Templates can be ultra-simple, containing just a few items. But you can also create very advanced templates by chaining templates (applying templates in a sequence) and running tools as part of your template. Templates can also be integrated to Simplebim add-ons such that a template is applied automatically by the add-on, and templates can even be used by the Simplebim command line for batch processing models.

When you use a template you first import or open a model, create a Dataflow with one or more Apply Template steps and run the dataflow.

When you have applied your template, please be sure to check the template report. This report gives you in-depth information about how the template was interpreted, including any warnings and errors that may have occurred.

You can install templates by copying them into the User Templates folder. Installed templates show up in the Dataflow Presets dialog used for adding Dataflow steps making them very easy to use. The other option is to add the Apply Template step and select a template from anywhere on your system using a File Open dialog.

Excel does not have to be installed on the computer where the templates are used. You need Excel only for editing the templates.

This guide applies to Simplebim version 10.0. Older template versions are backward compatible, so you do not have to convert your templates to the latest version. However, when you create new templates we recommend that you always use the latest version.

Template Structure

Simplebim® templates are Excel files that have a pre-defined set of Worksheets and on each Worksheet a set of Sections. You should not change the names of the Worksheets or Sections and you should also not re-arrange the Sections.

Worksheet Overview

Templates contain the following Worksheets

Settings Template metadata and various settings
Resources Definitions for objects and properties, including mapping to IFC
Model Editing the model schema and model data
Model View Defining the relevant part of the model, setting object appearances
Validation Defining validation rules for the model data
Enrichment Adding new data to the model
Substitution Defining list of values that can be used in the template to make it more compact and easier to maintain
Groups Defining groups of objects that can be used for more precise control of editing and validation

Template worksheets are applied from left to right and the sections on each worksheet from top to bottom.

Template Sections

The following information and rules apply to all sections in a template.

Fields with a green background are mandatory; fields with a purple background are optional. Optional fields are either not always needed or have a default value that you can find in the documentation. 

Cells may have dropdown lists that you can use for selecting from a list of valid values.

Sections with a variable number of rows have horizontal headers and 3 rows by default. You can add any number of new rows to such a section. You can also have empty rows within a section, but if you have more than 100 empty rows in a sequence the subsequent rows and any sections after will not be processed.

The best way to add new rows is to start your row selection from a middle row (not first and not last), select down as many rows as you wish to add and select Insert. This will maintain the formatting of the new rows, including dropdown lists on the cells.

Using Excel Techniques

It is easier to maintain your templates and avoid mistakes if you reference cells containing e.g. a name or key instead of copying that name or key to a different cell. You can use any Excel techniques, including formulas, to manage your template data more effectively.

Using Names and Keys

In many places fields accept both a Name and a Key. The Name of an item (template, object, property etc.) is a human understandable name shown in the user interface. The key is the internal identification of the item used by Simplebim for uniquely identifying the item. Normally the Name works well, but if two or more items have the same Name, then the key can be used for distinguishing between these items. Using the Name is easy but contains some risk when several items have the same name. Using the Key is always safe, but templates that use Keys are more difficult for humans to read.

NOTE: Names and keys are always case insensitive and any whitespace (spaces) at the beginning and end of the name or key are ignored

Using Value Lists

In many places a cells accept a list of values. Such properties are marked with a [+]. The following techniques can be used for defining lists.

Technique Description
Multi value cell You can add a new row into a cell by pressing Alt + Enter. The value of each row within a cell is treated as a separate item in the list.
Multi row values You can add new empty rows and put each item on a separate row on the same column.
Multi column values If the column with the list is the last one on the right in that section, you can add new items on the same row on the empty columns on the right.
Separators In some places you can define a separator and put multiple items into the same cell separated by the separator you defined.
Substitution Substitution chapter of this guide for more information about using Substitution in templates

You can use any combination of the techniques described above in a single cell that accepts a list of values.

Disabling Template Items

The special asterisk character ‘*’ can be used for disabling a row anywhere in the template, except in Substitution. Simply place the asterisk sign on the applicable row in column B, and that row will be ignored when the template is processed.

Setting Reporting Actions

By default a warning is written into the Template Log when a template item is not valid in the context of the model to which it is applied. For example trying to manipulate the value of property ‘A’ will result in a warning if the model does not contain property ‘A’.. This default behaviour can be overridden with Reporting Actions. The Reporting Action is specified in Column B with the following values.

Value Action
f A failure will be logged if the template item is not valid
w A warning will be logged if the template item is not valid
n Nothing will be logged even if the template item is not valid

NOTE: If you have a template that has a lot of items which are applied ‘just in case’, then turning logging off for those items can improve the performance significantly.

You can disable a template item that has a Reporting Action. The notation for this is *f, *w or *n.

Finding Help for Using Templates

Templates include a lot of different kind of rules you can apply to the models. Each rule have a dedicated section in the Template files. Each section have a subtitle, which is also a link to the documentation. The easiest way to get help for a specific rule is simply to click on the link in subtitle.

Examples of rule specific links to the documentation.

You don’t have to master all the rules in order to start automating you BIM data wrangling with Templates. You can simply start by creating a new Template, then finding the right rule to apply, clicking on the subtitle to learn how to use the rule, and then applying it.

Note that the rule specific links and documentation are available from Simplebim 10 SR1 onwards. The older versions of the Templates have only higher level documentation links.

Settings Worksheet

Template -section

When you install a template the information in this section is used for displaying and organizing templates in the user interface. For templates that are not installed this section can be left empty.

Field Type Description
Name Text The name of the template shown in the user interface. The name of the template file is not shown.
Description Text The description of the template shown in the user interface
Author Text The author (person and/or organization) of the template
Key Text The unique key of the template. If multiple templates have the same key Simplebim will only load the latest version of the template. (see Version)
Group Text The group to which the template belongs. This can be for example an organization, application or project. Templates can be grouped in the user interface based on this information.
Version Whole Number The version of the template. Incrementing the version after modifying the template ensures that you are always using the latest version of your template.
Startup Yes/No Should be template be shown in the startup screen of Simplebim?
Read Only Yes/No Should the user be able to edit and delete the template? If a template is read only it can still be copied and the copy can be edited.
Link URI A link to the documentation of the template

A picture inserted anywhere on the Settings worksheet will be used as the icon of the template in the Simplebim user interface. The recommended size for the picture is 64×64 pixels.

Model Author -section

Information in this section appears in the ‘Author and License’ dialog in the Simplebim user interface and is written to IFC as a property set attached to the project.

Field Type Description
Author Text The name of the author of the model
Author Address Text The postal address of the author of the model
Author Email Text The email address of the author of the model
Author Phone Text The phone number of the author of the model

Model License -section

Information in this section appears in the ‘Author and License’ dialog in the Simplebim user interface and is written to IFC as a property set attached to the project.

Field Type Description
Authorized Uses Text The uses for which the model is intended and authorized by the model author, like clash detection, quantity take-off…
Authorized Use Context Text The context in which the model may be used, typically a project
Authorized Users Text The authorized users of the model
Contract Text The contract governing the use of the model, typically a project agreement
Validity Period Text The validity period of the model, i.e. how long the model can be used

Depends on Templates –section

This section is used for chaining templates by defining which templates must be applied before the current template is applied.

Field Type Value Description
Template Name or Key Text Free text The name or key of the template this template depends on.

When you start using templates in a more advanced way it becomes important that your templates are easy to maintain. You want to avoid copying the same information into multiple templates, because then updating your templates after changes becomes difficult.

A good practice is to keep all your identity definitions in one template and make your other templates dependent on that template. This way you have a central repository for your identities.

Another good practice is to separate generic content from project specific content. You might for example have one template that trims a model for quantity take-off and another template that validates the model for quantity take-off based on agreement made in a specific project. You may also have company specific content such as model author information that you don’t want to repeat in multiple templates and model license information that needs to be defined separately for each exchange.

Template chaining works such, that the more specific template is made dependent on the more generic templates. The template you apply in Simplebim is on the top of this structure (‘Project A’ in the example below) and it pulls in all the other dependent templates. Templates are applied in a sequence where the top template is applied last. This allows you to override content in the more generic templates by content from the more specific ones.

IFC Import Settings –section

With IFC import settings you can optimize the IFC import. When you exclude information from the import this will speed up the import but the excluded information will not be available to you when you validate, copy-edit and export the model.

Field Type Description
Import 2D Annotations Yes/No 2D annotations are symbolic 2D representations of objects.
Import 3D Faces Yes/No Faces are needed by tools that modify the 3D geometry. They have no effect on how the IFC is exported.

IFC Import Configuration –section

In this section you can configure the IFC import on a lower level. The items in ‘IFC Import Settings’ are shortcuts for configurations that could also be done in this section, but not all possible configurations have these shortcuts.

Field Type Description
Action Choice
Set Adds the key and overrides any existing value of the given key.
Remove Removes the key and any value of  the key.
Append Value Appends the value to the existing value of the given key.
Configuration Key Text The configuration key. For supported configuration keys please consult the technical documentation of the Simplebim IFC import module.
Configuration Value Text The configuration value. For supported values for each configuration key please consult the technical documentation of the Simplebim IFC import module.

IFC Export Settings –section

With IFC export settings you can control several aspects of the IFC export. The same settings can be found in the IFC Export Settings dialog in Simplebim.

Field Type Description
IFC File Mark Text The text that is appended in brackets to the name of the imported IFC file at export. Default is “EDITED”
Export Space Boundaries Yes/No Export the space boundaries that are present in the imported IFC model? NOTE: Simplebim does not generate space boundaries if they are missing from the imported IFC model.
Export Wall-to-Wall Connections Yes/No Export the wall-to-wall connections that are present in the imported IFC model? NOTE: Simplebim does not generate wall-to-wall connections if they are missing in the imported IFC model.
Export Grids Yes/No Export the design grid objects that are present in the imported IFC model?
Export Colors of 3D Objects Yes/No Export the colors used for objects in Simplebim, i.e. the colors you see in the Simplebim 3D window? If No, then no color information will be exported.
Export Legacy Colors of 3D Objects Yes/No Export the colors used for objects in Simplebim, i.e. the colors you see in the Simplebim 3D window using an old encoding that is required or works better in some applications. NOTE: You can try ‘Legacy Colors’ if ‘Colors’ does not work for you.
Export 3D Objects with no or Invalid Geometry Yes/No Export 3D objects that have no geometry at all or have invalid geometry.
Exclude Openings of Excluded 3D Objects Yes/No Exclude opening elements / holes for excluded 3D objects? Examples: For architectural models used in structural design you may want to exclude doors and windows, but want to include their openings. For structural models used for design coordination you may want to exclude both bolts and bolt holes.
Exclude all Openings Yes/No Exclude opening elements / holes for all 3D objects. Examples: For architectural models used as part of a city/campus model you can exclude all opening. For structural models with bolt holes that are not associated with bolts you can exclude the holes but keep the bolts.
Optimize Shared Geometries Yes/No In IFC several objects with the same geometry can share a geometry definition. This often improves the performance of the receiving application. Simplebim can optimize the model by finding shared geometries even if they are not shared in the original IFC model. NOTE: If this setting is No any shared geometries already existing in the original model will still be exported.
Export Model Information Yes/No If this setting is on then the name and time stamp of the model from which an object originates will be written as properties to each object. (Yes/No, default = No)

NOTE: This setting is only makes sense for merged models, i.e. models that contain objects from several original models.

Resources Worksheet

Define IFC Property (PropertySet) –section

In this section you can define identities that are mapped to IFC PropertySets

Field Type Description
PropertySet Name Text The value of the Name attribute of IfcPropertySet
Property Name Text The value of the Name attribute of IfcPropertySingleValue
Property Type Choice IFC data type of the property.. If not provided, the type of the property is determined at the time when the property is added to an object class.
Property Source Key Text Unique key of the entity that has defined this property. If not provided, the property is added without information about the entity that defined it.
Property Key Text Unique key of this Property. If not provided, the correctly formatted key is automatically generated when the property is added to an object class (see description below)
Simplebim Name Text Name of this property in Simplebim. If not provided, the IFC Property Name is used also in the Simplebim user interface.
Description Text Description of the property.
Reference Text Documentation reference. This reference is appended to the ‘Reference Base URI’ of the Identity Source to form a link to the definition of this property.

Advanced

You can use any text you want as the Property Key as long as the key is unique. However, if you want to avoid creating duplicate properties when the property with an identical mapping already exists in the model, you either need to leave the Property Key empty or use a specific format for the Property Key. If you want to explicitly define the Property Key, the easiest way to get the correct key is to import an IFC file containing that property into Simplebim, select that property in the Properties palette and choose ‘Copy Special’ > ’Copy Key’ from the context menu. Finally paste the value into the Property Key field in the template.

The format for PropertySet keys is:

IFC:F:IP:<PSET_NAME>:<PROPERTY_NAME>:<PROPERTY_TYPE>

The old format starting with IFC2X3:FLAT:PROP is also still supported

The property type values are:

  • Text = STRING
  • Whole Number = INTEGER
  • Decimal Number = DOUBLE
  • Yes/No = BOOLEAN
  • For all others the applicable IFC entity, for example IFCLENGTHMEASURE

Define IFC Property (Element Quantity) –section

In this section you can define properties that are mapped to IFC Element Quantities

Field Type Description
QuantitySet Name Text Value of the Name attribute of IfcElementQuantity
Quantity Name Text The name of the property within the QuantitySet
Property Type Choice IFC data type of the property. If not provided, the type of the property is determined at the time when the property is added to an object class.
Property Source Key Text Unique key of the entity that has defined this property. If not provided, the property is added without information about the entity that defined it.
Property Key Text Unique key of this Property. If not provided, the correctly formatted key is automatically generated when the property is added to an object class (see description below)
Simplebim Name Text Name of this property in Simplebim. If not provided, the IFC Property Name is used also in the Simplebim user interface.
Description Text Description of the property.
Reference Text Documentation reference. This reference is appended to the ‘Reference Base URI’ of the Identity Source to form a link to the definition of this property.

Advanced

You can use any text you want as the Property Key as long as the key is unique. However, if you want to avoid creating duplicate properties when the property with an identical mapping already exists in the model, you either need to leave the Property Key empty or use a specific format for the Property Key. If you want to explicitly define the Property Key, the easiest way to get the correct key is to import an IFC file containing that property into Simplebim, select that property in the Properties palette and choose ‘Copy Special’ > ’Copy Key’ from the context menu. Finally paste the value into the Property Key field in the template.

The format for ElementQuantity keys is:

IFC:F:IQ:<QUANTITYSET_NAME>:<QUANTITY_NAME>

The old format starting with IFC2X3:FLAT:QTY is also still supported

Define Property –section

In this section you can define properties that can be shown in Simplebim and can be exported to e.g. Excel, but are not necessarily mapped to IFC. You could for example define properties that translate object and property names to your own language.

If you want to define properties that are mapped to IFC PropertySets or Element Quantities, please use the dedicated sections instead.

Field Type Description
Property Source Key Text The unique key of the entity who has defined this property.
Property Key Text The unique key of this property. Usually prefixed with the property source key to ensure uniqueness.
Property Name Text The name of this property
Description Text The description of this property
Reference Text Link to documentation. This reference is appended to the ‘Reference Base URI’ of the Property Source to form a link to the definition of this identity.
Metadata#1-3 Text Metadata for the property. You can define metadata for the property. This metadata can be used by Simplebim, add-ons and tools in various ways, for example the mapping to IFC is defined as metadata. The format for metadata is: KEY …or… KEY=VALUE If you need to pass more than 3 metadata items, simply add the additional metadata items on the next columns on the same row.

Add Property Source –section

The Property Source is an entity that defines properties. This entity could be for example you, a standards organization or the project you are working on.

Field Type Description
Property Source Key Text The unique key of the entity defining properties.
Name Text The name of the entity defining properties.
Level Choice

The level on which the entity defining the properties is working.

Global, Regional, Organization, Project, User or Adhoc

Reference URL URL URL reference to the web site of this Property Source
Reference Base URL URL Base address (URL) for property definitions published by this Property Source

Add Property Metadata –section

In this section you can add metadata to identities in order to modify their behaviour in Simplebim. This is an advanced technique for add-on developers, who have a deeper understanding of the identity concept in Simplebim.

Field Type Description
Identity Text The name or key of this identity.
Metadata Key Text The key of the metadata item
Metadata Value Text The value of the metadata item

Model Worksheet

Set Units –section

Units can be set for the model and for the template.

Setting the model units affects the unit definition of the model (the model is converted to these units) and thus also the exported IFC file. If no value is given for a model unit, the unit defined in the imported IFC model is used.

The template units define the interpretation of any measure values used in the template. If no value is given for a template unit the model unit is assumed. Template units have no effect on the units of the exported IFC file.

Add Identity to Object –section

In this section you can add new identities (names) for Object Classes. This has no effect on the IFC export but allows you for example to translate the names of object classes to your own language in the Simplebim user interface.

Field Type Description
Object [+] Text The name or identity key of the Object Class
Identity to Add [+] Text The name or identity key of the identity to add
Make Default Yes/No Make this the default identity, i.e. the name that is shown in the Simplebim user interface?

Add Property to Object Class or Group –section

In this section you can add new properties to Object Classes, Groups or Group Categories. You use the Identities defined on the Resources sheet for adding new properties.

Adding a property to an Object Class automatically includes that property in the model view. If you want to exclude the property you added, you must exclude it explicitly in the ‘Include/Exclude Property’ section of the ModelView worksheet. 

Field Type Description
Object or Group [+] Text The name or identity key of a Object Class, the name of an Object Group or the name of an Object Group Category.

NOTE: When you add a property to a Object Group the property is added to the Object Group itself, not to the objects contained by the group.

NOTE: When you add a property to an Object Group Category, the property is added to all groups in that category, also to groups that are later assigned to the category. Example: if you add property A to category X and later assign group N to category X, group N will automatically have property A.
Property [+] Text The name or identity key of the Identity used for creating the new property
Property Type Choice The type of the property. Allowed values are: Yes/No, Number,  Whole Number, Logical, Text and the various measure types, such as length, area and volume.
Single/List Choice The aggregation of the property. Allowed values are: Single, List
Unit Symbol Text The unit symbol of the property, e.g. mm – applies only to measure properties. Must be valid for the Unit Type, e.g. mm is valid for length, but not for area. If no Unit Symbol is given the Model Units are used, i.e. the property will have the Unit Symbol defined in the using of the model for the applicable Unit Type.

Add Identity to Property –section

In this section you can add new identities (names) for properties. This has no effect on the IFC export but allows you for example to translate the names of properties to your own language in the Simplebim user interface.

Field Type Description
Object [+] Text The name or identity key of the Object Class
Existing Property Text The name or identity key of the property you want to add the new identity to. This property must already exist on the object class.
Identity to Add [+] Text The name or identity key of the identity to add
Make Default Yes/No Make this the default identity, i.e. the name that is shown in the Simplebim user interface?

Swap Property Values –section

In this section you can swap the values of two properties. When you swap property values (instead of copy) the values of both properties remain in the model for future use.

Field Type Description
Object [+] Text The name or identity key of the Object Class
Property 1 Text The name or identity key of the first property
Property 2 Text The name or identity key of the second property

Trim Text Property Values –section

You can use this section to trim away part of a text property value, for example a prefix or postfix. You could for example trim a ‘Basic Wall’ prefix from the building element construction type of walls.

There is a separate section in the template for trimming before copy operations and after copy operations because the order of events determines if the trim is applied to a copied value or to the original value.

Field Type Description
Object or Group [+] Text The name or identity key of the Object Class or Group
Trim Property Text The name or identity key of the text property to trim
Trim Type Choice The type of the trimming. Allowed values are: prefix, postfix, anywhere, regex and regex inverse.
Case Sensitive Yes/No Perform case sensitive comparison? This setting is ignored if the trim type is regex or regex inverse.
Text to Trim Text

The text to trim from the position defined by the trim type.

If the trim type is regex or regex inverse, the value in this cell is used as the regular expression.

Find and Replace Text Property Values –section

You can use this section for setting the value of a text property based on the current value of the same property. You could for example replace ‘Mtg.’ with ‘Meeting’ in space names.

NOTE: There is a separate section in the template for find and replace before copy operations and after copy operations because the order of events determines if the find and replace is applied to a copied value or to the original value.

Field Type Description
Object or Group [+] Text The name or identity key of the Object Class or Group
Find Property [+] Text The name or identity key of the property for which you want to find and replace values
Text Operator Choice The text operator for finding values
Case Sensitive Yes/No Perform case sensitive comparison?
Find Value [+] Text Leave empty to find empty values. You can specify multiple values by adding new rows to the cell (Alt + Enter)
Replace Value Text The value replacing the found value(s). Leave empty to replace the found value(s) with an empty value.
Replace Type Choice
Whole Text Any value matching the criteria will replaced by the Replace Value. For example if the criteria is ‘Starts With A’ and the Replace Value is ‘B, then the value ‘ABA’ will become ‘B’.
Within Text The part of the value that matches criteria will be replaced by the Replace value.  For example if the criteria is ‘Starts With A’ and the Replace Value is ‘B, then the value ‘ABA’ will become ‘BBA’.

Set Property Values Based on Text Property Value –section

In this section you can set the value of one property based on the text value of another property. You could for example set the IsExternal property to ‘Yes’ for all walls that have a building element construction type that starts with ‘EXT’.

There is a separate section in the template for setting property values before copy operations and after copy operations because the order of events determines if finding the objects for which the property values are set is done based on a copied value or to the original value.

If you need a large number of such operations the Enrichment system is probably the better alternative because it is much more compact and easy to manage. 

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

The special value “All” applies the operation to all objects classes that have the Find Property, or if a Find Property is not given, the Set Property.
Find Property [+] Text The name or identity key of the property for which you want to find and replace values.
If the Find Property is empty, the operation is applied to all objects of the given object class or object group.
Text Operator Choice The text operator for finding values
Case Sensitive Yes/No Perform case sensitive comparison?
Find Value [+] Text Leave empty to find empty values. You can specify multiple values by adding new rows to the cell (Alt + Enter). Or –logic is applied if there are multiple values.
Set Property Text The name or identity key of the property for which you want to set the value.
Set Value Mixed

The value you want to set for the property.

The value is converted to the data type of the Set Property. If you are setting measure values, please pay attention to the Template Units.

Copy Property Values –section

This section is superseded by the Copy Property Values -tool that can be used as a Dataflow step. All future improvements will be made to this tool.

In this section you can copy text property values from one property to another. Using regular expression you can also copy only a part of the original value.

Field Type Description
Object or Group [+] Text The name or identity key of the Object Class or Group
From Property Text The name or identity key of the property from which you want to copy the values
To Property Text The name or identity key of the property into which you want to copy the values
Copy Empty Values Yes/No Should empty values be copied? Use No if you want to merge the values of the two properties.
Overwrite Non Empty Values Yes/No If the ‘To Property’ already has a value, should that value be overwritten by the value of the ‘From Property’? Use No if you merge the values of the two properties and want to give priority to the values in the To Property.
Regular Expression Regex You can optionally use regular expressions for modifying the property value that is being copied. Only the part of the original value that is selected by the specified regular expression will be copied.

You can easily ‘Merge Copy‘ values from several properties with the same name into a new property. When you specify a name (not key) as the ‘From Property’, the system scans all properties with that name and tries to copy values from all of them. When using Merge Copy you need to set ‘Overwrite Non Empty Values’ to ‘No’, otherwise the actual values may be overwritten with an empty value.

If the ‘From Property’ and ‘To Property’ have the same name, for example you are copying values from one property set to another and both property sets have the same property names, you must use a Key as the ‘To Property’ to specify the target explicitly. In this scenario the ‘From Property’ can be either a Name or a Key. The system will automatically filter out the ‘To Property’ from the list of possible ‘From Properties’, which means that the ‘To Property’ and ‘From Property’ will never be the same.

Rotate Site Around Pivot Point –section

In this section you can move and rotate the site object around a given pivot point, typically for preparing a model for use as part of a combined model.

X, Y and Z must be in the length unit measure (mm, m, inch, feet…) of the model.

Field Type Description
Pivot Point X Number X coordinate of the pivot point
Pivot Point Y Number Y coordinate of the pivot point
Pivot Point Z Number Z coordinate of the pivot point
Rotation (deg) Number Value between 0 and 360
Relative/Absolute Choice
Relative Rotates relative to the current rotation.
Absolute Sets the rotation to the rotation value given here.

Move and Rotate Site –section

In this section you can move and rotate the site object, typically for preparing a model for use as part of a combined model.

X, Y and Z must be in the length unit measure (mm, m, inch, feet…) of the model.

Field Type Description
X Number X value of the offset
Y Number Y value of the offset
Z Number Z value of the offset
Rotation (deg) Number Value between 0 and 360
Relative/Absolute Choice
Relative Adds the X, Y and Z values given here to the current X, Y and Z values of the site, and rotates relative to the current rotation.
Absolute Sets the X, Y and Z values of the site to the X, Y and Z values given here and sets the rotation to the rotation value given here.

Move and Rotate Project –section

In this section you can move and rotate the project object, typically for preparing a model for use as part of a combined model.

X, Y and Z must be in the length unit measure (mm, m, inch, feet…) of the model.

Field Type Description
X Number X value of the offset
Y Number Y value of the offset
Z Number Z value of the offset
Rotation (deg) Number Value between 0 and 360
Relative/Absolute Choice
Relative Adds the X, Y and Z values given here to the current X, Y and Z values of the project, and rotates relative to the current rotation.
Absolute Sets the X, Y and Z values of the project to the X, Y and Z values given here and sets the rotation to the rotation value given here.

ModelView Worksheet

Include/Exclude Objects Based on Object Class or Group –section

In this section you can include and exclude objects based on their object class or membership in a group. You could for example exclude all furniture or include all objects in a ‘Building Envelope’ group. See the Groups –worksheet chapter of this guide for more information about groups.

If you want to start with a clean slate, use the special value ‘All’ for Object or Group on the first row. This will exclude all objects in the model. Then you can start including the objects you really need.

The following object classes cannot be excluded via templates: Project, Site, Building and Building Storey

Field Type 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 to all Object Classes.

Include Yes/No Include the objects in the Object Class or Group? Leaving the cell empty will set the applicable objects into the ‘Not decided yet’ state.

NOTE: Setting the background color of this cell will set that color as the 3D Appearance of the applicable objects.

Include/Exclude Property –section

In this section you can include and exclude properties from Object Classes.

If you want to start with a clean slate, use the special value ‘All’ for both Object and Property on the first row. This will exclude all properties for all objects. Then you can start including the properties you really need.

Field Type Description
Object [+] Text

The name of identity key of the Object Class.

The special value ‘All’ will apply the operation to all Object Classes.

Property [+] Text

The name of identity key of the property.

The special value ‘All’ will apply the operation to all properties of the applicable Object Classes.

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

NOTE: You can use the prefix [PSET] or [QSET] to include/exclude all properties from a property set or quantity set, for example ‘[PSET]My Properties’ would include/exclude all properties from a property set called ‘My Properties’.
NOTE: You can use the prefix [LIKE] to enable wildcards. For example ‘[LIKE]*abc*’ would include/exclude all properties where the name contains ‘abc’.

Include Yes/No Include the property?

Set Object Color and Transparency Based on Object Class or Group –section

In this section you can set the 3D appearance of objects, i.e. their color and transparency.

Field Type 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 to all Object Classes.

Color Color Set the background color of this cell to define the color for the applicable objects
Transparency % Number The transparency of the objects in percent (0-100)
0 = opaque
100 = invisible

Validation Worksheet

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 Type Description
Object or Group [+] Text The name or identity key of the Object Class, or the name of the Group
Requirement Choice
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

NOTE: 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 Type 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?

Validate 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.

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 Type 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 Yes/No 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.

Enrichment Worksheet

Enrichment -section

With Enrichment you can efficiently merge data from external sources into the model by setting property values to objects that match a given criteria. You can add as many Enrichment Worksheets into the workbook as you like and they will be processed if the name of the Worksheet starts with ‘Enrichment’. Each Enrichment Worksheet can contain as many Enrichment sections as you wish.

Each Enrichment section must be formatted like this.

The easiest way to get this right is to copy and paste the sample section on the Enrichment worksheet.

Insert the name of the Object Class or Group on Column C on the row where Column B has the text ‘Object or Group [+]’ (Cell C4 in the picture above).

Use the special value ‘[GROUP]’ as the ‘Object or Group [+]’ to set the values of the properties of a group. In this option the match property is always the name of the group and the operator in Match (case insensitive). You would use this option for example if you want to set the start and end dates of groups that represent tasks. In this case you would not set the dates for the objects in the groups, but for the groups themselves.

Define one Match property by giving a property name or key. This property is used for finding the objects for which the other properties are set. The match property must be a Text property. The Match operator can have the following values.

Match Operators Description
Equals Must be the same text
Contains Must contain the text
Starts With Must start with the text
Ends With Must end with the text
Like Using wildcards
Match Using regular expression
Not Equals Must not be the text
Not Contains Must not contain the text
Not Starts With Must not start with the text
Not Ends With Must not end with the text
Not Like Using wildcards
Not Match Using regular expression

The format for the Operator in a Match cell is ’Match=<Operator>’, for example ‘Match=Equals’. If the Operator is mixed case the match will be case sensitive, otherwise case insensitive.

Examples Case Sensitive
Match = equals No
Match = EQUALS No
Match=Equals Yes

All whitespace (spaces) is trimmed from the Operator, for example ‘Starts With’ is the same as ‘StartsWith’.

You can use the special value [EMPTY] as the match value. Using this value means that you want to enrich all objects where the Match property has no value.

Define as many Set -properties (Operator = Set) as you wish by giving a property name or key. If needed simply add new properties on column F, G, H and so on. These are the properties for which the values are set. Set properties can be of any data type (text, number, measure…). Do not leave any empty columns in between.

Enrichment DOES NOT add the Set -properties to the model, they must already exist in the model or you must add the properties to the model.

This is because a name is not enough for defining a property. In addition to the name, as a minimum the name of the property set and the data type of the property are needed.

You can also define Info properties (Operator = Info) that are not processed but could help you better understand the data or save you the trouble of deleting columns you don’t want to include. Info columns can be used between Set columns.

On the rows below the header (containing the Object Class and Properties) add as many rows as you wish. Each row must have a value for the Match Property and optionally values for the Set Properties. Do not put any value into the cell on column B, because column B is reserved for use by the system.

If you set measure value, please pay attention to the Template Units.

Substitution Worksheet

Substitution Lists -section

Substitution is a technique for making templates more compact and easier to read and manage. In substitution you define a named list of values and use that name in other parts of the template instead of the original list of values.

Starting with Simplebim 10 the substitution list has, for convenience, a ‘All Elements’ list that contains all IFC building element classes.

You could for example define a Substitution List with the names of all Object Classes that are relevant to structural design and call it ‘Structural Objects’. Then you could define another list containing the names of all properties that are used by all structural objects and call it ‘Common Structural Properties’. Let’s say there are 10 items in both lists. Now when you want to include the common properties for all structural objects you would simply do the following…

Without Substitution you would have 10 rows in the ‘Include/Exclude Objects Based on Object Class or Group’ section and 100 rows in the ‘Include/Exclude Property’ section. You could also use the same substitution lists in other places, like in validation. Later when you notice a mistake (something missing, spelling mistake…) in a substitution list, you can simply edit the list on the Substitution worksheet and your template is fixed.

Field Type Description
List Name Text The name of the substitution list
List Values Text The values. You can add several values to the same cell (Alt+Enter) or add new values to the cells below.

Groups Worksheet

Add Group Categories –section

In this section you can add new Group Categories to the model. Group categories are used for organizing groups and defining properties that are common to all groups in a category.

You can add properties to group categories in the Add Property to Object Class or Group -section of the Model Worksheet by using the key or name of the group category in the Object or Group field.

Field Type Description
Group Category Key Text The unique key of the group category
Group Category Name Text The name of the group category
Parent Group Category Text

The name of key of the parent group category.

You can create a hierarchy of group categories by giving the parent of the group category.

NOTE: The parent group category has to be created before the child group category.

Define Groups Based on Property Values –section

In this section you can define new groups using rules.

When you define a group that already exist the existing group is redefined. The matching for the existing group happens by group name and the comparison is case insensitive. For classification items the operator is starts with, which means that you can use the identification instead of the full name as the group name. For all other groups the operator is Equals. When a existing group is redefined the group category is maintained. For example if you redefine an IFC Zone, then the redefined group is also an IFC Zone.

Field Type Description
Group Name Text The Group Name is used for uniquely identifying a group.

NOTE: If the Group Name has the special value [AUTO], then a separate group is created for each unique value of Property. When using [AUTO] you must leave the Value empty. Please note that you cannot use AND/OR rules together with [AUTO].
Object Class [+] Text

The name or key of the Object Class.

The special value ‘All’ sets the value of ‘Object Class [+]’ to all object classes that have the property you define in ‘Property [+]’.

The special value ‘Topmost’ sets the content of the group to all topmost assemblies (assemblies that are not contained by any other assembly) and independent elements (elements that are not part of any assembly). This special value can only be used with Manual groups.

The special value ‘Parts’ sets the content of  the group to all leaf node parts of assemblies (parts that are not assemblies themselves) and independent elements  (elements that are not part of any assembly). This special value can only be used with Manual groups.

Property [+] Text The name or key of the property used in the criteria for selecting the objects that belong to the group.
Numeric Operator Choice The Numeric Operator is used if the Property is a numeric property
Text Operator Choice The Text Operator is used if the Property is a text property. You can find more information about the Like -operator here and the Match -operator here.
Case Sensitive Yes/No Perform case sensitive comparison?
Value [+] Mixed

The value used in the rule.

The value is converted to the data type of the Property. If you are using measure values, please pay attention to the Template Units.

And/Or Choice

You can use several rules for one group, e.g. select objects from different Object Classes using different criteria. For this you add new rows below the row with the Group Name and leave Group Name empty on those rows. You can decide if you want to apply And or Or logic.

And An object must match all rules to be accepted.
Or An object must match at least one of the rules to be accepted.
Group Type Choice
Manual The rules for the group will be run only once when the template is applied. After this objects can be added and removed to the group manually.
Manual Empty Creates an empty group with the given name in the given group category (optional) under the given parent group (optional). All other fields are ignored if given.
Rule Based The rules for the group are run each time there is a relevant change to the model and the objects in the group are updated accordingly. For example if the rule selects all Walls objects where the Is External property is Yes, then setting the Is External property of a Wall object to Yes any time after the template is applied will automatically include that object in the group.
Container The group does not have any objects of its own, but acts as a parent for other groups and collects all the objects from its child groups. When creating Container groups you don’t have to specify an Object Class, Property or Operator.
Ungrouped Special group that collects all the objects from the parent group, which do not belong to any of the child groups. Works for example as a to-do list for objects that still need to be grouped.
Template Only The group is used only in the context of the template for example in find and replace operations. The group will not be added to the model in Simplebim.
Parent Group Text The name of the parent group for the new group. By assigning a parent group you can create hierarchies of groups
Group Category Text The name or key of the group category the new group is assigned to.
Options Text

Options for the groups.

NON-OVERLAPPING-MANUAL-CHILD-GROUPS The manual child groups of this group cannot have same objects, i.e. each object can only be assigned to one child group.
LIMIT-MANUAL-CHILD-GROUPS The manual child groups of this group can only have objects from this group.

Assign Groups to Group Categories –section

In this section you can map groups to IFC and assign Groups to Group Categories, for example define that your group will be exported to IFC as an IfcZone. Simplebim automatically creates Group Categories for all IFC group types, like IfcGroup. IfcSystem or IfcZone. You can in addition create your own group Categories for organizing Group that you use in Simplebim.

By default the groups you define in templates will not be exported to IFC. You must map them to IFC if you want to export them to IFC.

Field Type Description
Group Name [+] Text The name of the group
Type of IFC Group or Group Category Key or Name Text The type of IFC group your group will be mapped to or the name or key of a Group Category

Add Classification Systems –section

In this section you can define hierarchical classification systems that are exported to IFC using dedicated classification resource of IFC.

Unlike in other sections, in this section the first row defines the classification system and the subsequent rows the items of the classification system.

You may define several classification systems in the same section by first defining the first classification system and then adding a new First Row for the second classification system followed by the subsequent rows for that classification system.

First Row

Field Type Description
Name Text The name of the classification system
Source Text The definition source of the classification system, i.e. the organization that has defined the classification system.
Edition Text The edition or version of the classification system
Edition Date Text The date when the edition was published
Description Text The description of the classification system
Location Text URL or other reference to the definition of the classification system
Reference Tokens Text List of delimiters used for separating the hierarchy levels of the classification system in the item Identification of the classification items

Subsequent Rows

The hierarchy of the classification system is created by indenting the rows for the classification items based on their hierarchy level in the classification system.

For the first level of the classification system the first non empty column is column D, the second non empty column E and the third non empty column F.

For the second level of the classification system the first non empty column is column E, the second non empty column F and the third non empty column G.

Field Type Description
First Non Empty Text The identification of the classification item within the classification system.
Second Non Empty Text

The name of the classification item

NOTE: The Comment in this Excel cell will be used as the description of the classification item

Third Non Empty Text URL or other reference to the definition of the classification item

Example


 

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.