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.
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 |
|
||||||
| 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 |
|
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 |
|
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 |
|
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 |
|
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. |
| 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 |
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. |
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 [+]’. |
||||||||||||
| 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.
|
||||||||||||
| Group Type | Choice |
|
||||||||||||
| 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.
|
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
Comments
0 comments
Please sign in to leave a comment.