Simplebim5-Template-Guide V5 151214
Simplebim5-Template-Guide V5 151214
CONTENTS
Set Object Color and Transparency Based on Object Class or Group -section ................................................. 21
Set Object Color and Transparency Based on Text Property Value -section .................................................... 21
Set Object Color and Transparency Based on Yes/No Property Value -section ............................................... 22
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 and then apply one or more templates to it. From
the startup screen in simplebim you can also choose to import a model with a template. This first imports the
model and then automatically applies the template you chose.
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
simplebim startup screen and menus making them very easy to use. The other option is to 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 5.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.
Template worksheets are applied from left to right and the sections on each worksheet from top to bottom.
A small red triangle denotes a comment. Hover over it with the mouse to see information relevant to that section
or field.
Cells may have dropdown lists that you can use for selecting from a list of valid values. The dropdown lists also
have tooltips with helpful information.
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. Check the tooltip for the default value.
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 20
empty rows in a sequence the subsequent rows and any sections after will not be processed.
NOTE: 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.
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.
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
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.
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.
SETTINGS -WORKSHEET
Section Description
Template Metadata information about the template. Only needed if the template is
installed.
Model Author Setting information about the model author
Model License Setting information about the model license
Depends on Templates Used for chaining templates (advanced)
Tools Used for running tools as part of the template
IFC Import Settings Used for configuring the IFC import
IFC Import Configuration Used for configuring the IFC import (advanced)
IFC Export Settings Used for configuring the IFC export
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.
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 64x64 pixels.
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.
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.
This section is used for chaining templates by defining which templates must be applied before the current
template is applied. This is covered in more detail in the Advanced Techniques chapter of this guide.
TOOLS –SECTION
In this section you can specify which Tools are run as part of this template. Tools are software modules that
can process the models in ways that are not supported by templates.
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.
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.
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.
RESOURCES -WORKSHEET
On the Resources worksheet you define resources that are used in other parts of the template or by other
templates.
Identities define the name, description, mapping to IFC and other information used by object classes and
properties.
The Identity Source is an entity that defines identities. This entity could be for example you, a standards
organization or the project you are working on.
In this section you can define identities 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 identities that translate object and property
names to your own language.
NOTE: If you want to define identities that are mapped to IFC PropertySets or
Element Quantities, please use the dedicated sections instead.
In this section you can define identities that are mapped to IFC PropertySets
You can use any text you want as the Identity 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 need
to use a specific format for the Identity 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 Identity Key field in the template.
IFC:F:IP:<PSET_NAME>:<PROPERTY_NAME>:<PROPERTY_TYPE>
NOTE: The old format starting with IFC2X3:FLAT:PROP is also still supported
In this section you can define identities that are mapped to IFC Element Quantities
For Element Quantities the same principle applies for Identity Keys as described for Property Sets above. The
format for Element Quantity keys is.
IFC:F:IQ:<QUANTITYSET_NAME>:<QUANTITY_NAME>
NOTE: The old format starting with IFC2X3:FLAT:QTY is also still supported
MODEL -WORKSHEET
On the Model worksheet you can edit the model schema and the data of the model.
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.
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.
In this section you can add new properties to Object Classes. 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.
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.
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.
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.
NOTE: 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.
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.
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’.
NOTE: 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.
NOTE: 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.
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.
In this section you can move and rotate the site object, typically for preparing a model for use as part of a
combined model.
NOTE: X, Y and Z must be in the length unit measure (mm, m, inch, feet…) of the
model.
In this section you can move and rotate the project object, typically for preparing a model for use as part of a
combined model.
NOTE: X, Y and Z must be in the length unit measure (mm, m, inch, feet…) of the
model.
On the model view worksheet you can define which objects and properties are included (for example in the IFC
export) and set the appearance (color and transparency) of objects.
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.
NOTE: 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.
NOTE: The following object classes cannot be excluded via templates: Project, Site,
Building and Building Storey
NOTE: Setting the background color of this cell will set that
color as the 3D Appearance of the applicable objects.
In this section you can include and exclude objects of an Object Class based on a text property value
NOTE: Setting the background color of this cell will set that color as the
3D Appearance of the applicable objects.
Text Property [+] Text The name or identity key of the Text property that is used as a filter for
including or excluding objects.
In this section you can include and exclude objects of an Object Class based on a yes/no property value
NOTE: Setting the background color of this cell will set that color as the
3D Appearance of the applicable objects.
Yes/No Property [+] Text The name or identity key of the Yes/No property that is used as a filter for
including or excluding objects.
Yes/No Value Yes/No The property value used for finding the objects.
In this section you can include and exclude properties from Object Classes.
NOTE: 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.
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.
SET OBJECT COLOR AND TRANSPARENCY BASED ON TEXT PROPERTY VALUE -SECTION
In this section you can set the 3D appearance of objects, i.e. their color and transparency based on the value of
a text property.
SET OBJECT COLOR AND TRANSPARENCY BASED ON YES/NO PROPERTY VALUE -SECTION
In this section you can set the 3D appearance of objects, i.e. their color and transparency based on the value of
a yes/no property.
VALIDATION -WORKSHEET
On this sheet you can define validation rules for the model. The validation results are shown in the simplebim
user interface.
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.
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.
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?
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.
The following table contains a short description of the different rule types
ENRICHMENT -WORKSHEET
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.
NOTE: 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).
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.
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.
Match = EQUALS No
Match=Equals Yes
All whitespace (spaces) is trimmed from the Operator, for example ‘Starts With’ is the same as
‘StartsWith’.
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.
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.
NOTE: If you set measure value, please pay attention to the Template Units.
GROUPS -WORKSHEET
On the Groups worksheet you can define named, rule based groups of objects. Groups are a very versatile
concept that you can use in many different ways for organizing, editing and validating the model.
In this section you can map groups to IFC, for example define that your group will be exported to IFC as an
IfcZone. Please note that by default the groups you define in templates will not be exported to IFC.
SUBSTITUTION -WORKSHEET
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.
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 on the ModelView worksheet.
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.
ADVANCED TECHNIQUES
CHAINING TEMPLATES
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.
Project A
Regular expression is a powerful system for searching and manipulating text. It is very widely used and is
implemented in most modern programming languages. This means that while it is initially quite difficult to
understand there is no shortage of tutorials, tools and sample expressions. One good site for testing your regular
expressions is http://regex101.com/. On this site you copy your sample values into one text box and develop
your regular expression in another text box, and you see the result as you type.
Worksheet Resources
Section Add Identity Source
Add Identity (for IFC PropertySet)
Add an identity for your property, including the mapping of your property to IFC. Each Identity needs an
Identity Source, i.e. who has defined that identity. You should come up with a real one for the context in
which you use templates, but for testing simply use a dummy one like below.
Worksheet Model
Add the property to one or more Object Classes on the Model worksheet using the identity you defined in
the first step. You can use the same identity for properties on multiple Object Classes if the same IFC
mapping is suitable for all of them.
Worksheet ModelView
Section Include/Exclude Objects Based on Object Class or Group
Here you can define which Object Classes are relevant to your use case. It is a good approach to first
exclude all Object Classes and then start including only the ones you need.
Worksheet ModelView
Section Include/Exclude Objects Based on Text Property Value
You can include and exclude individual objects (Object Instances) by defining rules. The example below
excluded all spaces with a Space Name that starts with ‘Gross’, which would exclude all gross areas that
have been modeled with space objects (provided that the name of ‘gross area spaces’ starts with ‘Gross’)
Worksheet ModelView
Section Include/Exclude Property
Here you can define which properties are relevant to your use case. Again, it is a good approach to first
exclude all properties for all Object Classes and then start including only the ones you need.
When you use enrichment you typically first add a set of properties to the model. Please see the ‘Adding your
own properties to an IFC model’ scenario for instructions how to do this.
Worksheet Enrichment
In the Enrichment section you define the Object Class (Space in this example) and the property used for
finding the matching objects (Space Number in this example). If needed, consult the Enrichment –
worksheet chapter of this guide for more information about using the Enrichment system.
For all spaces where the Space Number is ‘1’, set the Occupancy Count to 3 and the Floor Finish to
‘Carpet’
For all spaces where the Space Number is ‘2’, set the Occupancy Count to 3 and the Floor Finish to
‘Laminate
Groups in Simplebim are used to manage object selection by allowing users to define collections of objects that can be targeted for various operations such as inclusion, exclusion, color setting, and more. Groups provide enhanced control over object management by enabling complex rule definitions using various property types and logical operations. This approach improves precision in selecting and managing objects, streamlining model editing, and validation processes .
Variations in setting color and transparency in Simplebim impact the visual representation of objects by allowing users to customize how objects are viewed within a BIM model. This customization facilitates understanding and analysis by highlighting specific objects or differentiating object groups based on visual attributes. Colors and transparency are set as cell background colors or specified as percentages, thereby affecting how opaque or visible an object appears, thus aiding in visual segregation and focus on vital elements within a complex model .
A user might choose to optimize shared geometries to improve the performance of the model in the receiving application. By identifying and managing shared geometries, which are not always shared in the original IFC model, Simplebim can help reduce redundancy and improve efficiency. This optimization is particularly useful when dealing with large models where performance is a concern, as it reduces the computational load by ensuring shared definitions are used only where appropriate .
The 'Validation' worksheet in a Simplebim template is designed to define validation rules for the model data. This function enhances model accuracy by ensuring that the data adheres to predefined standards and criteria before it is finalized, minimizing errors and inconsistencies in the modeling process. Validation acts as a quality check, verifying that all aspects of the model meet the necessary specifications and adding an extra layer of assurance in data integrity .
Simplebim ensures backward compatibility with older template versions by allowing templates to be used in their existing format without requiring conversion to the latest version. This becomes advantageous for users because it preserves the usability of established workflows and data management processes despite software updates. Users can continue leveraging existing templates without loss of functionality, reducing the need for constant template revision and providing stability in software utility .
Using the special value 'All' in the 'Include/Exclude Objects Based on Object Class or Group' section allows a user to start with a clean slate by excluding all objects in the model. Then, only the needed objects are included, making the model more efficient and less cluttered. This method streamlines the modeling process by focusing on only necessary objects, enabling easier management of the project's BIM data .
In Simplebim, multiple property values in a cell can be handled using different techniques: adding a new row within a cell using Alt + Enter, adding new empty rows with each item in a separate row in the same column, or using empty columns to the right for multi-column values. Separators can also be used to define multiple items within the same cell, separated by the predefined separator .
Templates in Simplebim can be chained by applying them in a sequence, which allows for the execution of complex modeling tasks. This feature is described in the Simplebim 5 Template Guide as 'chaining templates,' enabling the automation of a series of operations by sequentially applying multiple templates. This capacity is particularly valuable for advanced users who aim to batch process models or integrate templates into add-ons for maximum efficiency .
The 'Include/Exclude Property' section in Simplebim allows users to manage properties associated with Object Classes by defining which properties should be included or excluded. This feature is crucial for focusing on relevant data, reducing clutter, and ensuring that only necessary information is retained for further processing or export. By using special values like 'All' or 'Added,' users can quickly apply global or specific property exclusions or inclusions, thereby streamlining the data management process and enhancing model efficiency .
Defining an Identity Source in the Resources worksheet is crucial as it establishes the unique identity framework under which object classes and properties are managed. This structure allows for consistent mapping to IFC and enables the management of object and property identities across different projects or standards, ensuring clear, organized, and interoperable BIM data management. This identity framework supports complex data exchanges and enriches model informativeness by varying identity levels (e.g., Global, Regional) and providing references for wider accessibility and integration .