Language, the not-so-silent BIM Killer

Hello BIMfans,
After giving my attic some attic-tion (sorry,  again) I wanted to talk to you about an issue I am having.  This issue isn’t directly related to production of my graphical models or information, but it is having a BIG impact on both of these; it’s language.

As a man fluent in three languages (Welsh, English, and Sarcasm) I often consider the failings in how we communicate.

Our language(s) are incredibly analogue, making it difficult to fit what we say into our logical, cold, and uncompromising digital world; with English is particularly difficult.  As a quilt of a Language, English has inherited many inconsistencies such as: Strange pronunciations (Slaughter is Laughter with an S at the front), and inconsistent terms etymology (Pig is German, while Pork is French).  Languages like Welsh on the other-hand are phonetic, and use consistent terms (Moch = Pigs, Cig Mochyn = Pig Meat).

Most of you (at least according to the blog’s analytics) will be glad to hear that this ins’t a post about the superiority of the Welsh Language, but it is instead a post about the follies of trying to digitise information using the analogue method of communicating and structuring information known as language.


Our world isn’t black and white (Zebra’s & LinkedIn Profile pictures being the exception), so it is easy to misclassify (or overclassify) objects.  From the Tree of Life to Uniclass 2015 it is not an easy job to provide order to this chaos; leading to difficulties when trying to classify.

“What do you mean mammals don’t lay eggs?” Platty also finds classification a difficult concept.

I’ve written about my Nest Thermostat previously but I didn’t mention its classification. My Thermostat, being a clever tool, functions as many things and therefore could be classed under Uniclass 2015 as a: Pr_70_70_47_21: Daylight Sensor, Pr_75_50_76_73: Room Temperature Sensor, Pr_80_51_85_21: Data Logger, Pr_40_30_25_23: Display Screen and many others.  Its primarily function however is as a Thermostat, with the closest classification I can find being Pr_75_50: Mechanical Services Control Product.

This means that while everyone on a project might be using a single classification system, there is to guarantee that they will use it consistently.

Would everyone classify my Nest Thermostat as Pr_75_50: Mechanical Services Control Product?


Just like classification, we are also terrible when it comes to naming.  For example, due to the fact that radiators emit 80% of their heat as convection, and 20% of the week as radiation; radiators are actually convectors.

The Sequel to the 1988 action comedy took a very experimental turn…

In addition: Models aren’t federated, federation is for federal unions; they are really integrated models; Gargoyle have water spouts; without spouts they are grotesques; and BIM barely has any acronyms.  Acronyms are spoken as words, meaning that terms like EIR, DRM, TIDP, MIDP, IFC, IDM, bSDD, and BCF are actually Initialisms. +10 Pedant Points

To show how complex naming can be, last week on Twitter I asked how to name my Amazon Dash Buttons (Wi-Fi enabled buttons for ordering products off Amazon), and the results were inconclusive.

When is a ContactSensor not a Switch? When it’s a CommunicationApplicance…

This means that while everyone on a project might be following the same Object Standard, and even using the IFC Schema to limit their choice of relevant Types and Sub-types, there is to guarantee that they will use them consistently.

Would everyone name my Amazon Dash Buttons as CommunicationAppliances? Not even I would, as I’d use Switch_MomentarySwitch.


In mathematics numbers have an order for numbers.  We have:

  • Cardinal numbers, the principle set of numbers;
  • Ordinal numbers, used to provide a ranking; and
  • Nominal numbers, used to identify (not necessarily by rank).

The same can also be applied to Directions for both Cardinal or Ordinal, but what about Nominal?  Well as nominal numbers are used to identify, then Top, Bottom, Front, Back, Left, & Right can be considered Nominal Directions; but how to measure these distances?

If I wanted you to measure the distance across the front of a cube, what are you measuring its length, width, breadth or depth?  The answer will differ depending who you ask as there is no consistency on how we name these distances.

This isn’t a new topic, many have discussed it previously such as Practical BIM when considering Which Direction is Depth?, and more recently Keith Wilkinson is conducting a survey to gain a consensus on what to call these directions.

How would you identify these distances? Why not try Keith‘s survey, which can be accessed here.

In many commercially available authoring tools, you are able to name (and in my case misspell) these distances anything you like. So while we might instinctively know what to measure when asked how tall a door is, when we are asked how wide a cabinet is; there is plenty of room for varying interpretation.

This means while everyone might be using the same language, variation in how it is used can change the values recorded against attribute data such as Height, Width, Depth, & Length; all of which are required by COBie.

Would everyone call distance B width, and distance A depth on this cube?  What about a more complex shape?

On this project I have specified Uniclass 2015, BS8541-1, COBie, & additional EIR attributes so I have a consistent method of classifying, naming, and attributing data. However, it is one thing to specify their use, and quite another to ensure that they are being used consistently and appropriately.

The only way to ensure that the application of this information correctly is to further qualify their use within my BIM Execution Plan, it looks like a revision is in order…


The Importance of Being Open(BIM)

Hello BIMfans,
Last week I started to build my mechanical model and had managed to compare different object vendors to select my preferred boiler object.  This week I have started to build my electrical model and wanted to discuss the importance of proper data formatting.  I need to do so to ensure that when information is exported from my native authoring tool (Revit) into IFC, it is formatted correctly.  As an active member of buildingSMART, I am a strong believer in open formats, and the importance of being open(BIM).

TheImportance of Being Open(BIM)

What is openBIM you ask?  In short, it is the use of non-proprietary methods to delivery asset information.  There is a short video that explains it better than I can here.

The non-proprietary method I’m referring to is Industry Foundation Class (IFC); think of it as the PDF of the built environment.  No matter what software you use to make a document, if you convert it into a PDF it’ll allow others to access this information without having purchased the software you used; this is what IFC achieves.  Note:  There any many other benefits too I won’t discuss here, but if you are interested I suggest you read Rob Jackson’s excellent blog post on Why Use IFC).

As IFC has a language (Schema), it comes with its own grammar (Property Sets) which includes acceptable words (Properties) that can be used providing consistency and the opportunity for validation.  For example, take my Nest Thermostat.  Under IFC2x3 (the current recommended release) it is classified as an IfcSensorType and I can associate a number of standard property sets to this object to define it.  Note:  In IFC4 a thermostat is a IfcUnitatryControlType, but for the purposes of this blog I am sticking to the recommended release of 2×3.

To make this a successful BIM Level 2 project, I need to export information about my Thermostat that I defined at the start of blog when I discussed my Model Purposes & Data Requirements.  As I discussed during these posts, I will need properties relating to condition, warranty, and manufacturer information.  By looking through the IFC Schema I can find suitable property sets and properties to include that are structured in a consistent manner.  After searching, I came up with the list below:

  • Pset_ServiceLife
  • Pset_EnvironmentImpactIndicators (for my energy use)
  • Pset_Condition (for monitoring until it requires repair/replacement)
  • Pset_Warranty (for reference when being repaired/replaced)
  • Pset_ManufacturerTypeInformation (because it is a manufactured product)
  • Pset_ManufacturerOccurrence (because it is a manufactured product)

Note:  I will also need any properties required for types & components to satisfy COBie within BS1192-4.  

The problem is that to do this properly, it take a lot of work.

To help, there is a COBie extension for Revit that helps create COBie files from the native file format (A requirement of PAS1192-2).  However, it does not create correctly named IFC properties and each property that is created is prefixed with ‘COBie.<sheet>.<property>‘, I also found it difficult to control which properties did export and which did not.  Because of this, I chose not to use the export tool.  Also, since I requested IFC as a deliverable within my EIR, I need to make sure that the properties are structured properly; so I have decided to do this the long way.

In order to get a decent looking IFC, I needed to define my property sets. Revit can’t do this.  So to do it I had to create a number of shared parameters and a custom property set definition file to allow them to export correctly using the IFC Exporter.  At the same time is also used it to define my COBie properties too (excerpt below).

A copy of the defined property set file can be found here.

Using this file, it moves object properties into the defined property sets.  This is important because in Revit you cannot create property sets.  Because you can’t all the properties end up under one of the pre-defined categories (I’ve chosen IfcParameters for many of them). However this definition file resolves this when exporting.

Shown Left:  Properties in the Revit file, Shown Right:  Properties in the IFC file, Shown off screen:  My agony in getting all of this to work!

Note:  To view IFC files there are many viewers available.  For this blog I have chosen to use xBIM. xBIM is a free open source viewer that also has the ability to federate models and export COBie files.

You can access the IFC File for my electrical model here.

Now here is the exciting bit.  Because I have defined the property sets I require including all of my Data Requirements and COBie properties I am able to create my COBie data in a number ways including:

  • Export Revit schedules to transpose into a COBie template;
  • Export directly from IFC into COBie; and
  • Install the COBie Extension and remap its properties to use my IFC properties.

So whichever method I choose I have a good set of data I can rely on.

I have 99 problems, but my Thermostat ain’t one.

I will point out however that it isn’t all sunshine and rainbows.  There are a few problems that I still need to resolve when exporting into IFC:

  • I cannot get an object’s category to export properly;
  • Under my attributes tab, a number of properties have duplicate instances.

UPDATE:  I have an issue with my NominalLength and NominalWidth properties, but after contacting Autodesk they have advised me to use ‘Length’ instead of ‘Real’ during the property mapping to achieve this.  I have now tested it and it works perfectly, so thank you Angel & Autodesk!

I will continue to explore this and will report back in the future post, but if anymore has any ideas feel free to let me know!

And there you have it, after reviewing how I create my information, I have now developed an openBIM workflow that allows the information I have created in Revit to be exported as an IFC, and this IFC aligned data can be used to create a fully populated* COBie file. Because of this my data is well structured and most importantly consistent with an international schema.

This means that if I apply this process to all of the assets within my model I should then be able to answer this Plain Language Question, and will have all the information I need to have delivered a fully compliant BIM Level 2 Information Model.  So let’s get to it!

Model Generation:
2.1 What existing information is available?
2.2 Is there sufficient information to produce a BEP?
2.3 What is the layout of the house?
2.4 What assets are contained within?
2.5 What asset information can be linked to the graphical model?

Now that I have started my electrical model, it’s time to add other assets such as my lights and fire alarms…

Note:  If you have any comments or opinions regarding my openBIM process, please let me know either on twitter, or commenting below.

Data Security

Hello BIMfans,
After Validating my BEP last week, the next step is for me to start to producing information about my home.  However, before I do so, I wanted to go over my data security requirements to make sure I haven’t missed anything, and that my data is safe to share on this blog.

Secure, for my pleasure.

Right, first thing’s first; If anyone is doing BIM and concerned about data security then the first document to consider should be PAS 1192-5.  Note: I am personally not a fan of this document but that is another topic for another blog.

The goal of PAS 1192-5 is admirable, it intends to :

  • Protect information about the location of sensitive assets;
  • Protect information about assets that are considered sensitive; and
  • Recognize where data collection could compromise the security of an asset.

Perfect, I do not want everyone reading this blog to 1) know where I live or 2) know any details about my home that may make it a target, so PAS 1192-5 seems perfect.

However, once I had read PAS 1192-5 it quickly stops being relevant as my home does not form part of the national infrastructure and is not yet a landmark; therefore is not considered a ‘sensitive asset’, meaning that the PAS 1192-5 does not apply.  Instead, it suggests that I meet base security requirements as well as the Governments Cyber Essential Scheme and the Security Policy Framework. However, the Governments Cyber Essential Scheme is not applicable as I have outsourced responsibility for my network to Google (thanks Google) through hosting my files on Google Drive, and the Security Policy Framework is very high level and relates specifically do HMG data, of which I am collecting none.

So what next?

Thinking about it, my concern is not with Data Security but more do to with how to handle Personal Data.  While I am happy for you to know lots about me, without my wife’s consent if I were to advertise our address and contents of our home there would certainly be data protection and personal safety (my personal safety!) issues.  So I instead referred to information from the International Commissioner’s Office (ICO), who have several useful resources relating to the Data Protection Act.  Which calls for me to assess:

  • What information do I intend to share? The graphical models, non-graphical data, and documentation I will be producing about my home.
  • What is the objective of sharing this information? To demonstrate how BIM Level 2 processes can be successfully applied to small scale residential scheme in a pragmatic and straight forward manner.
  • How do I intend to share it? Place information within a Google Drive folder with public access.
  • What risk does sharing the data pose? Provide unintended personal or sensitive data about occupant(s) and their home. “Oh look, Dan’s TV is right next to this window..“.Note:  If is worth mentioning that data, such as contact details and addresses, can appear in many locations.  Prior to the release of this post, my address could be found using a website identity service like (until this week when I paid to have this information hidden).


  • Could the objective be achieved through anonymising it? Yes as the information doesn’t need to be complete, just consistent.  However, there is a time resource to manipulating any information, therefore, the preferred method is to exclude sensitive deliverables for sharing.
  • Will data be transferred out of Europe? I don’t know.

The Data Protection Act has strict rules around having personal information leave Europe #DataBrexit.  Google have several data centre‘s across the globe so any personal information could be transferred to these.  However, Google have established sufficient contract clauses to comply to the Data Protection Act and use their data stores outside of Europe.  To avoid this problem, I should avoid the inclusion of any personal or sensitive data within my shared deliverables.  Much like traditional risk assessments, the best solution is to follow ERIC (Eliminate, Reduce, Isolate, Control).

You will respect my data security authoritah!

Luckily I have already been eliminating personal information from my documentation though removing addresses, as well as reducing the risk through supplementing real world coordinates for a 0,0 project base point in my BIM Execution Plan; therefore by controlling the remaining data within my models through removing any physical location information, I should not be sharing any personal or sensitive information.

And there you have it, by carefully considering my information requirements through using the (somewhat) relevant Standards, I have further enhanced by data security plan; fantastic.  This means that I am ready to start producing information to answer my next Plain Language Question, PLQ 2.3

Model Generation:
2.1 What existing information is available?
2.2 Is there sufficient information to produce a BEP?
2.3 What is the layout of the house?
2.4 What assets are contained within?
2.5 What asset information can be linked to the graphical model?

Now that I have properly considered data security, it’s time to produce some information and work out the Layout of my home

Note:  If you have any comments regarding my data security conclusions, then please let me know either on Twitter, or by commenting below.

The BIM Explainer

Hello BIMfans,
Not long ago I read Randall Monroe’s Book ‘Thing Explainer’. For years have read his comic strip XKCD, and loved the premise of this book. It was interesting as it explained lots of different things only using the one thousand most common words in the English language. So inspired by this book I have done the same by writing this piece about Building Information Modelling (BIM); using this guide to help.

Damn you Hat Guy, do you just want to watch the world burn?

The BIM Explainer

When we build, things can go wrong.  Parts of a build may be the wrong size, put in the wrong place, or even just use the wrong part; this has been happening around the World for years and years.  This is because when we build we only do enough work to help us, but not always enough to help others do their work too.  So when others try to use our work it might seem be confusing, have bits missing, or just be wrong.

Our leaders saw this problem and wanted to help.  They wrote papers and told us we were not building as well as we could saying that we fought too much; but we didn’t listen.  Later, our leaders told us we could build better by working together, again we didn’t listen.  In 2009, when the banks broke people didn’t have the money to build, so our leaders told us again that we needed to build better, but yet again we didn’t listen.  As we never listened, our leaders had to think of a way to make us listen, so they told us to work together or they won’t want us working for them and told us we had to use something called BIM from 2016.

Our leaders chose BIM because they saw how working together and planning can help to make, send, and use other people’s information better.  To help even more, new papers were made explaining how to share information.  It explained that the owner needs to say:

  • What work needs doing;
  • What information they want;
  • How they want it;
  • What they want to use it for; and
  • What they need back to make good building choices; both for now and when they look after the finished build

[Outline Responsibility Matrix, Employer’s Information Requirements, Plain Language Questions].

Then different build leaders write back and tell the owner how they are going to build, who they want to use to help them, and how they will make sure to give the owner the information they have asked for [Pre-Contract BIM Execution Plan, Project Implementation Plan].  The owner then picks a winning build leader to do the build.

After they have won the job, the build leader then sits with his team to plan the job, with each new team that joins the build leader agrees with them what parts they’ll do [Responsibility Matrix] how they will do it [Standards, Methods, and Procedures], and when they will do it  for [Project Milestones] as part of their agreed plan to create and hand over this information [Post-Contract BIM Execution Plan].  The build leader does this by making sure that each team they pick can follow how they plan to make information [Supply Chain Assessments], they do so so that he knows they have the right team for the build.  The build leader and teams then plan what things to draw, write, and make so that everyone has what they need when it is their turn to start their work [Master Information Delivery Plan].

As they draw the build, each team shares what they’ve drawn so that no two bits cross [Agreed Origin and Orientation, Clash Avoidance].  The teams do this by putting their work in one shared place for everyone to use and follow the plan to use the right names to help them find information easier [Common Data Environment].  The build leader also checks with the owner at the end of each stage to make sure what they are building is right for the owner and that they have all the information they need about the build [Employer Decision Points, Supplier’s Information Exchange].

By planning out what information needed and when, the build leader can be sure that no information is missing during the build [Project Delivery Management]. Also, by planning how to form this information, the build leader can be sure that the information is right and can be used by the build team and owner [Project Information Management]. Finally, by planning how to share information, the build leader can make sure that information has been checked so that all of the work fits together correctly [Check, Review, Approve Process].

At the end of the job, the build leader gives all the information back that was asked for by the owners to look after the finished project [Asset Information Model], making sure that this information is set out as the owner needs to use it [Asset Information Requirements].  If this is decided at the start of the job, the build leader can make sure his team follows it and gives back clear information.  After this information has been given over, the owner then uses his system [CAFM] to look after this information until the next big job, adding, changing, and removing things to keep it clear, right, and without any missing information.

So by following these steps and making sure the team can make the information the owner wants, there is a better chance that the parts of the build won’t be the wrong size, put in the wrong place, or just be the wrong part.  That means that when they finish the build there is less of a chance that money will be a problem, or that it’ll take more time to finish; and best of all, the build finishes with a happy owner.