PLQ 3.4 – Frank SAPpa

Hello BIMfans,
Now that I’ve produced Tŷ Crempog‘s information model, it’s time (finally) to put it to practical use in answering my next and final Plain Langauge Question:

What are the most cost-effective thermal improvements that could be undertaken?

By answering this Plain Langauge Question, I am beginning to realize the true potential of Tŷ Crempog‘s information model by answering real questions that will impact on how I undertake any retrofit works.  To answer this question, I have turned to Standard Assessment Procedure (SAP).


SAP is Building Research Establishment (BRE)‘s procedure to calculate the energy rating of dwellings.  SAP has been referenced in Approved Document L of the Welsh and English building regulations, been adopted by the UK Government and is used to assess dwellings to produce their Energy Performance Certificate (EPC).  New dwellings use SAP in its entirety while, as of November 2017, existing dwellings like Tŷ Crempog (or Joe’s Garage) use the Reduced Data Standard Assessment Procedure (RdSAP) to support completing the SAP calculations.

The advantage of RdSAP is that it provides several permitted assumptions that can be used within the SAP calculations.  I plan on using Tŷ Crempog‘s information model to complete the (385!!) values required.  Now there are too many values to do at once, so instead of having a Freak out! I am addressing each section at a time; using RdSAP to fill in the gaps.

Once my SAP calculations are complete, I will be able to manipulate the information to see what improvements will provide the greatest impact.  For example, would it be more cost effective to improve Tŷ Crempog‘s thermal performance, reduce the infiltration rate or improve the efficiency of my heating system?  Once complete, I will be able to test these scenario’s and inform future home improvements.

BIM, placing asset information into the palm of my hand


1 Overall Dimension

Section 1 of the SAP Documentation is related to a dwelling’s overall dimensions to determine its internal volume.  SAP asks for each floor’s area as well as their average ceiling height.  The total floor area (4) is used to calculate thermal mass, heat loss, internal temperatures, space heating, space cooling while the dwelling’s volume (5) is used to calculate infiltration and heat loss.  Note:  RdSAP says that internal measurements are permissible and that I can ignore the floor area of my attic as it doesn’t have a fixed staircase.

Luckily for me, the area of each room as well as their usable heights are already within COBie; providing me with all the information I need to complete section 1.

Now that I’ve identified the structured information I need, it needs to be exchanged into a Google Sheet.  Thanks to Google, The mothers of invention, Google Sheets is able to reference information from other sheets.  Which means using formulas like:

=SUM(importrange(“URL”, “Sheet!Range”))

allows me to automatically import my Architectural COBie.  This means that I am using Tŷ Crempog‘s information model to calculate the area of my floors as well as their average height to calculate my total floor area (4) and dwelling volume (5)Note:  Because COBie specifies a specific sheet and column orders, my formula will always point to the Space.Area column, even if I publish a revised COBie.

My calculations for SAP – Section 1 can be seen below:

And there we have it.  While I have only just started, it seems possible to automate the population of SAP using Tŷ Crempog‘s information model, having done so using COBie.  This fills me with a lot of confidence that I can use my information model to complete the other SAP sections.  Fantastic, PLQ 3.4 is underway!

Operation and Maintenance

  • 3.1 What are the sizes and condition of the windows & doors?
  • 3.2 What assets are in a poor condition?
  • 3.3 What costs can be attributed to my assets?
  • 3.4 What are the most cost effective thermal improvements that could be undertaken?

Now that my overall dimensions have been calculated, it is time to look at Ty Crempog‘s ventilation rate and heat loss…

Note:  If you have any comments regarding my use of SAP, then please let me know either on Twitter, or by commenting below.

Structured Safety

Hello BIMfans,
With the recent release of PAS 1192-6, the newest core BIM Level 2 publication, there is now a specified process on how to share structured health and safety information.  So, let’s try it out and see if we can deliver this information!

EIR Invocation:

First things first (ironically), If an Employer wants the project’s health and safety information structured as specified with PAS 1192-6, then they will need to say so in their Employer’s Information Requirements.  So, as PAS 1192-6 is now specified in my EIR, I guess I’ll have to follow it.

(open) BIM Usage:

According to PAS 1192-6, 4.3 because I am modelling Tŷ Crempog using BIM processes, clauses 9 (COBie) and 10 (IFC2X3) apply.

From reading this PAS, it is clear that health and safety knows no vendor.  To comply, information shall be shared in open standard structured formats.  Meaning that thanks to PAS 1192-6, IFC2X3 is now a normative BIM Level 2 requirement (Woohoo!).  Thankfully this doesn’t impact on the most important BIM file format…

Loving you is easy ’cause you’re…controlled by ISO/IEC 29500

Clause 10 (IFC):

As only maintainable objects should be captured in COBie, there needs to be a method of capturing risks about other objects; this is where PAS 1192-6, 10 comes in.  It specifies that all health and safety information being shared shall be captured using HS_Risk_UK, a new property set specified within PAS 1192-6, Appendix ANote:  During the final edit, the first column of this table was incorrectly given spaces.  To comply with BS 8541-4, the properties should be written in CamelCase.

Once corrected, I added this property set into my PSet Definition Text File and created Revit shared parameters to match.  Thanks to the changes to my IFC Export Process, my Electrical IFC File now captures this information and places it into the correct property set.



The ease of adding this information was a shocking revelation


Risks can also be non-object related. When this is the case, PAS 1192-6 says that annotation entities (a.k.a floating risk signs), should be used.  To know what these entities should look like, PAS 1192-6, 4.3.3 states that BS ISO 3864-3 should be used.  Note:  This isn’t correct, as BS ISO 3864-3 tells you to use the symbols within BS EN ISO 7010.  Unfortunately, beyond this, PAS 1192-6 provides no further guidance.

This presents a problem.  With only the example being a screenshot in the appendix; I’ve had to go it alone and have produced what I feel is a pragmatic solution.

They say every sign has a story; this looks more like a hare-brained scheme

Shown above is my Master Warning Annotation Entity which has been produced to include all* warnings as separate types (*Only electrical and fall warnings have been added so far).  I have made this entity 700x700mm, 10 times the sign size outlined in BS EN ISO 7010), with a 7mm simplified symbol that displays on drawing plans.  Note:  The symbol is simplified because Revit can’t do lines small than 0.8mm, stupid Revit.

Also, due to the lack details on how to produce annotation entities, I also used the following additional sources to help:

  • BS 1192.  My annotation entity is named ‘Z-PM_80_60_70-M_WarningSymbol‘ to comply with BS 1192Note:  You might have thought that I’d use BS 8541-1. However, this isn’t an object, it’s a symbol. BS 1192 covers the naming of containers with files (i.e. symbols).
  • BS EN ISO 7010.  I extracted the symbols I needed and recreated them using several solid extrusions.  For the sign colour, I used online tools to get the RGB code (243 200 30) and set it to 20% transparency so that the object wouldn’t be opaque.
  • Uniclass 2015Finally, I wanted to give this object a Uniclass 2015 classification.  After some thought I settled on ‘PM_80_60_70: Residual risk information’ as the while the nature of the risk might change, at least all of these objects would be grouped under the same classification.

I might be a little bias, but I think my annotation entity looks quite fancy in my Electrical Native Model FileNote:  The rabbit silhouette is technically not BS EN ISO 7010 compliant.

Now for the real question, will Crempog check the information model before he tries to chew my cables?


COBie, unfortunately, took a lot more effort.

While I had managed to export this information into IFC, after testing xBIMXplorer, the COBie Extension for Revit and BIMserver (Thank you Emma), I couldn’t get the issue sheet to populate.  This was because PAS 1192-6 introduced HS_Risk_UK and with it a new method of structuring risks.  Existing COBie export tools haven’t yet reacted to this new process.  Currently, COBie looks for approvals to populate its issue sheet, but it is now having to look for objects.  Note:  While PAS 1192-6 appears to go against IFC2X3, the authors have confirmed that HS_Risk_UK is a draft proposal for updating Pset_Risk so feedback on this process will be used to update the IFC Schema.

Luckily I had a plan.  As I know the members of xBIM Development Team, I could ask them to patch the exporter to comply with PAS 1192-6.  Looking at xBIM’s GitHub, I identified the problem and proposed a rough solution for them to test and implement.  After a few emails, some black magic and only a couple of hours, we had managed to successfully export COBie with the issue sheet being populated as intended.  Note:  To get the validation to work, I’ve had to expand my picklist further to capture the new enumerations.

Note:  This patch is now live, anyone using xBIMXplorer can now benefit from the fantastic work that the xBIM Development Team have done.  

Those of you who have been following this blog will know that xBIMXplorer is my go-to IFC/COBie tool.  While it isn’t perfect, it’s free, open-source and as I’ve shown in this post, able to quickly respond to user needs.  I highly recommend you try it for yourselves.

If however, you want to comply with PAS 1192-6 but don’t want to build xBIMXplorer, there is another way.  After I asked for help on Twitter,  Nick Nisbet of AEC3 volunteered his help and also managed to use the same IFC files to automate the export of PAS 1192-6 compliant information using AEC3 BimServices 2018.  If you need a bit of COBie support, I’m certain that Nick can help.

And there we have it.  Less than a week after PAS 1192-6 was released, the processes have been tested and successfully demonstrated.  I managed to test HS_Risk_UK myself and thanks to Nick Nisbet and the xBIM Development Team, we have shown that automated COBie population of the issue sheet is possible using more than one method; fantastic!

Note:  If you have any comments regarding my structured health and safety information or PAS 1192-6, then please let me know either on Twitter, or by commenting below.

Update:  The HS_Risk_UK property set was missing three properties (AssociatedProduct, AssociatedActivity and AssociatedSpace).  This was done intentionally to be automated during export into COBie, but my method is incorrect as they are mandatory fields.  They have now been included in the Pset Definition file, screenshot and downloadable files.  Thank you, Nick Nisbet.

PLQ 3.3 – Measured Maintenance

Hello BIMfans,

Now that my COBie has been validated during COBie Culmination, it is time to put that information to use.  When Configuring Costs, I mentioned Jonathan Hewitt of Hewitt Consult Limited had kindly offered to put my information into CostX to produce a preventative maintenance schedule.


Not only has he produced my schedule, but by dealing with the interoperability issues, I have managed to get some useful insights into how my cost information should be managed.  Included below are the steps taken to produce my preventative maintenance schedule.

Review of Pre-embedded Costs

When producing COBie, I made a point of including as much information as I could, which included Type.ReplacementCost.  However, there is a problem; costs change.  Using services like CamelCamelCamel, this becomes clear.

Camel camel camel camel camel … chameleon?

For example, over four years, the Nest Learning Thermostat’s price fluctuated from £312 to £99; who knows what the replacement cost will be in 15-20 years’ time?  Jonathan told me that Quantity Surveys/Estimators normally use schedules of rates when producing cost plans; typically agreed at the start of a project.  For the purposes of this exercise, Jonathan produced a schedule of rates using my replacement costs and uploaded it to CostX as a rate library.

Review of Uniclass

After I spent some time Understanding Uniclass, I applied Uniclass 2015 to all of my manageable assets.  I thought that this information would be useful when calculating my maintenance schedule, as the respective NRM3 codes could have been applied based on the Uniclass 2015.  However, we came across a problem, when the DWFX was exported it was missing my Uniclass 2015 classifications.


While my assessment information, BS 8541-1 aligned object names, IfcGUIDs and IfcNames were all exchanged without an issue, ClassificationForObjects was blank.  Now luckily, because I had named my objects following ISO 4157-1 as outlined in Naming Omnibus, Jonathan was able to work without Uniclass 2015 (Phew!).  This problem didn’t occur when we tested this afterward using my IFC files. Perhaps CostX should recommend IFC over DWFx instead?

Model Mapping

ModelMappingWhen I asked for this preventative maintenance schedule, I was quite clear that I wanted it structured by AssessmentCondition.  My plan is to deal with all poor items this year, and then move on to less critical elements over the next three to five years.  To do this, Jonathan had to apply model mapping, which he explained as:

 “[Model mapping is] a powerful tool that allows you to dictate what information is extracted from the model by creating “dimension groups”.  Using conditional formulas, I was able to sort information based on each of the possible assessment ratings:  Adequate, AsNew, Good, Poor or Very Poor.  This provided the breakdown required, and formed clear groupings that could be calculated independently.  This could only be achieved thanks to the consistency within Dan’s information, as the use of element GUIDs”

Jonathan stressed to me the importance of having a globally unique identifier (GUID) within CostX for each element to enable the use of rate libraries and systems.  As such, I asked that for the IfcGUID to be used.  However, this posed a problem initially as I had exported the DWFx before my IFC, meaning that some IfcGUIDs were missing (oops!).  Once I had resolved this, each element had a unique identifier.

Completing the workbook

Finally, now that the information had been structured, my preventative maintenance schedule could be produced.  Luckily, due to the efficient file sizes I maintain, this process took no time at all.  As you can see the information has been summarized based on the assessment rating and then itemized in full.

This document is exactly what I need to consider what maintenance to undertake first.  I really enjoyed working with Jonathan and apparently, he did too as I he was kind enough to leave me a Testimonial:


And there we have it.  Thanks to the help of Jonathan and Hewitt Consult Limited, I now have a fully costed preventative maintenance schedule.  This exercise has been really educational and has changed my perspective of how I plan to manage my graphical models.  Increasingly I have been putting more information in, but this isn’t the ideal solution.  For example, Jonathan told me that:

CostX is designed for Quantity Surveys/Estimators to do what they’ve always done; take off quantities and undertake cost planning using rates built up from first principles but in a quicker, digital way.  Through tools like CostX, rate libraries could be shared for benchmarking purposes.  Static cost information is OK when you have agreed a target cost on a project and you want to use it for valuing work done or negotiating change control. Those same static costs are useless later down the line when the asset is in operation; costs change!  If a dynamic cost link could be made, this would be useful and powerful for asset management”

If tools like CostX are being produced to empower estimators, then there isn’t much of a benefit in the exchange of static, and often out-of-date cost information.  So from now on when it comes to costs I will do what I always use to do, just leave it to the Quantity Surveys/Estimators!

Note:  As a result of this insight, I have now removed all cost information from my information model.

As you can see, as we have now attributed costs to my assets, I have completed another Plain Language Question.  Fantastic, PLQ 3.3 is complete!

Operation and Maintenance

  • 3.1 What are the sizes and condition of the windows & doors?
  • 3.2 What assets are in a poor condition?
  • 3.3 What costs can be attributed to my assets?
  • 3.4 What are the most cost effective thermal improvements that could be undertaken?

Now that my preventative maintenance schedule is complete, it is time to look at my final Plain Language Question, can I use this information to inform how to improve the energy efficiency of my home?

Note:  If you have any comments regarding my preventative maintenance schedule, then please let me know either on Twitter, or by commenting below.

PLQ 3.3 – COBie Culmination

Hello BIMfans,
Those of you who have been following this Blog will know that producing good COBie has been a persistent goal of mine.  This goal may sound simple, but it wasn’t.  Due to the current state of software, the delivery of well-structured information isn’t a one-click activity (one day we’ll have that magic COBie button…one day).  When producing information to manage my home, I have been careful to ensure that the properties and attributes I’ve used have been structured to suit the available British, European and International Standards which are:

Because of my allegiance to the Standards, I’m confident in the quality of my work.  However, I can’t be sure.  Most methods of producing COBie do not incorporate validation, a method of testing that the information has been formatted correctly.  Meaning that while it might save like COBie, and look like COBie, it isn’t necessarily COBie.  My process of using an IFC rendition to produce COBie through xBIM has this problem.  Thankfully, a follower came to the rescue; John Ford.

Look at this BIM model!

John is the senior business information development manager at Carillion Plc.  If the name seems familiar, it’s because he is quite active on Twitter and is one of the most active participants in the LinkedIn COBie forum.  One of  John‘s many key roles is the validation of COBie using Carillion‘s preferred COBie quality control plugin, the COBie QC ReporterJohn contacted me and kindly offered to validation my COBie (I think I nearly bit his hand off!).

Note:  Anyone (I mean anyone) is free to take files off this blog and use them for whatever purpose they like; they are on creative comms for a reason.  Please play with these files and let me know how to improve them.

John provided a series of reports created by the COBie QC Reporter, filled with useful information that tabulated the findings from each sheet, like the one shown below.  Reading these reports I discovered that my COBie had failed!


Full disclosure, I knew they would fail.

Back when I looked at my Data Security, I opted to use ‘redacted’ as my email address.  Because of this, I was producing an error each time my email address should have appeared.  However,  John also found a few other errors that I wasn’t expecting.

  • Email address.  I was also getting a second email related error.  The other was that I incorrectly used ‘n/a’ when I didn’t know the warranty guarantors of my components.  To resolve both of these used ‘’ and ‘’ respectively.
  • Model Number.  I didn’t realise that model number had to be a value other than ‘n/a’.  Because my home has a lot of missing information, I don’t know the model number for most components.  To resolve this I used ‘unknown’ instead.
  • Warranty Start date.  No components in my architecutal model had a warranty start date (ooops!). To resolve this I added the attribute as required.
  • Duplicate Types.   After exporting, duplicate types were appearing.  On investigation it turned out to be an issue with Revit and the way it handles instances.  Types were duplicated if their default height or their orientation had changed.  I have been in contact with Autodesk who have recognised the issue and are looking into it.
  • xBIM.  Due to my use of Revit to IFC to xBIM, some of the default cells were not being completed such as Attribute.Unit, Attribute.AllowedValues and Space.Floor.  In addition, some components would appear without their type, and vise-versa.  To resolve these I modified the information in post (shown in red).  I will be raising these issues with xBIM in the new year.
  • Assemblies.  My assemblies were not exporting as expected; causing validation issues.  To resolved this, I omitted them from the report.
  • Picklist.  To date I had been lazy and hadn’t written my own picklist.  As such it was causing some validation issues.  To resolve this I just sat down and wrote the damn thing.

Once I had resolved these issues,  John kindly re-validated my COBie through the COBie QC Reporter and found zero errors; woohoo!!  As you can imagine I was pretty chuffed and had to tweet about it:

You can access my validate COBie here:

I wasn’t the only one who was impressed; John was quite impressed too.  In fact, he was so impressed that he left this kind testimonial:


Note:  Other testimonials for this blog can be found here.

And there was have it.  Throughout my professional career, I have always valued third-party validation.  It’s one thing to say it, it’s another to have someone else prove it.  Thanks to the kind help of John, we’ve managed to prove that my COBie not only walks the walk; but also talks the talk; fantastic.

As you can see, it has taken a lot of effort to ensure that the information I have produced is correct, and this has only been for a small Victorian mid-terrace. My effort would pale in comparison to the effort needed to deliver COBie for a multi-million-pound central government BIM Level 2 project using today’s software.  If we expect ‘proper’ projects to do the same, the methods we use to produce COBie needs to improve.

Operation and Maintenance
3.1 What are the sizes and condition of the windows & doors?
3.2 What assets are in a poor condition?
3.3 What costs can be attributed to my assets?
3.4 What are the most cost effective thermal improvements that could be undertaken?

Now that I have perfected my COBie, it’s time to find an asset management system to export this information into…

Note:  If you have any comments regarding my COBie and the validation process, then please let me know either on Twitter, or by commenting below.

Is It Smart? – Smart Meters

Hello BIMfans,
Welcome to ‘Is It Smart?’, the blog series where I have a look at the smart technology installed within Tŷ Crempog to explore the power of BIM Level 2, PropTech, and the Internet of Things (IOT).  This week, I take a look at Smart Meters.

Those of you who follow me on Twitter will know that I have been trying to get Smart Meters for a long time.  In fact, I was put on Ecotricity‘s ‘priority list’ (Priority, Ha!) back in May 2016.  It has taken almost 18 months to arrange and complete the installation, but now I finally have Smart Meters installed!

What is it?

Because of policy managed by the UK Government’s Department for Business, Energy & Industrial Strategy (BEIS), around 26 million existing homes might will have Smart Meters installed by the year 2020.  These installations are being completed through the national energy providers.  In my case, Ecotricity (eventually) arranged the installation through a licensed third-party, SMS Plc.

So, what is a Smart Meter?  Well, a lot of excellent information is provided on the Smart Energy GB website on What Is A Smart Meter, as well as the Ecotricity website on What is Smart.  In short, they are gas and electricity meters which communicate with a national energy supplier; removing the need to provide meter readings.  They also provide real-time information about energy use, allowing the occupant (me) to better manage my energy.  This is normally done through an additional appliance, the in-house display (IHD).  Mine is currently sat in 002: Living Room next to my Google Home.

It’s a little scary seeing how much gas is needed to heat this uninsulated mid terrace home!

How does it work?

To be honest they are pretty straightforward.  Smart Meters function in the exact same way as regular meters do but also have a sim card included.  Mine are about the same size as my existing meters, so all SMS Plc had to do was do a straight swap.

Smart Meters.PNG

Once installed, they effectively ‘text’ the energy use to my in-house display and to Ecotricity every 30 minutes or so.  Note:  After publishing this post, I was told about a few people who could not have smart meters installed because of poor mobile reception around their homes.  It is a shame that they cannot connect to the internet.

How Did I Model It?

To fully capture this installation I needed to model two new objects.  Under the Industry Foundation Class (IFC) Schema, electricity and gas meters are included under IfcFlowMeter.  I had already modelled my existing meters, so using these I formed two objects based on the Smart Meters‘ overall geometry.

Due to the low level of graphical detail used, the object files are only around 300KB each. The files were named following the BS 8541-1 naming convention to:

Using the requirements set out in my Data Requirements, I populated these objects with the information needed to manage my Smart Meters.  Within these objects, I have captured information such as: Installation information, barcode, and serial number.

When used in collaboration with my IFC Export mapping text file, my Smart Meters are populating all of the relevant COBie fields I require; fantastic.

Is It Smart?

Smart Meters barely tick any of the right boxes to be considered smart.

  • Data In:  With a direct connection to the flow of energy, they are able to consistently collect information.  In addition, the in-house display can receive messages from the energy provider for the occupants, so it is able to receive data over the network too.  However, there is no option to customize or inform it using any other information, so the input of data is quite limited.
  • Data Out:  With a mobile network connection, they are able to consistently communicate information.  This information is also sent to the in-house display where it is stored for up to thirty days, allowing occupants to review historic energy use.  However, there is no option to export this information, so the output of data is quite limited.  Note:  Researching online, the export of this information may become available in a future firmware update.
  • Connectivity:  Unfortunately, this is where it really falls short.  There are no options to connect these devices.  The connectivity is so poor, the readings don’t even appear in the official Ecotricity App.
Does this mean I have free energy!?

The Potential

Much like my other smart products, there is no method to import information from my information model into my Smart Meters.  For example, I’m sure that information regarding where they are in my home, as well as house type, room areas and the volume of my home would provide additional value to an energy provider.

However, the real potential is in getting access to the energy use data outside of the in-house display.  If energy use data could be exported, I could then enrich it with local weather data and occupancy times; producing a rich dataset to form information about energy use patterns.

The Verdict


Is It Smart? The answer is No, with a shocking IQ of 50!

Since the smart meter roll-out was first announced, I knew I wanted to have Smart Meters for Tŷ CrempogHowever, energy meters that simply project readings onto another display can hardly be considered smart.  To be perfectly honest, the installation of these meters has had no impact whatsoever on how my home is managed.  It has also resulted in the Ecotricity App being uninstalled, as it no longer provides any valuable information.

And there you have it.  This week my Smart Meters proved to be quite dumb.  Tune in next time where we take a look at my Philips Hue installation and ask one simple question; Is It Smart?

PLQ 3.3 – Configuring Costs

Hello BIMfans,
After ensuring that my I have as much information possible about my managed assets, I think it is time to cost up my preventative maintenance schedule.  To do so, I have enlisted the help of Jonathan from Hewitt Consult Ltd. who has kindly offered to undertake the cost estimating on my behalf.

This cost exercise as bean a long time coming….

So, the first question I asked was:

“What do you need from me?”

To assist with the cost estimation, I wanted to ensure that the information I was providing was as suitable as possible.  I initially offered my IFC files, but I was told by Jonathan that while CostX could import IFC, they advise that the most optimal file format is DWF or DXFx.  As a further (subtle) hint, I was also given a copy of the CostX Drawing File Optimization Guide.  This document outlines how my information should be structured to ensure the information can be imported into CostX correctly covering the following areas:

Export Settings

The preferred export format into CostX is a multi-sheet DWFx.  This is done by setting up a 3D view which includes all of the required objects ensuring that there is a sufficient level of detail applied to the view.    In addition, they recommend that the view’s graphics are set to hidden line.


Optimization required?  New view created A-Zz_70_05-M-CostX

Project Units

Because CostX calculates quantities using the exported base values, all project units need to be sufficiently accurate (at least millimeter accurate).  If these values are rounded off then they will affect the exported quantities they support.  For example, my dining room at 3.46 x 3.56m would export an area of 12m² (3x4m) instead of 12.89m².  Luckily for me, I am already using a sufficient degree of accuracy.

Optimization required? None

Family Naming

As CostX sorts objects according to their family names, it advises that descriptive family naming is used.  Thankfully, as you’ve seen from Naming Omnibus I have adopted the BS 8541-1 and ISO 4157-1 naming conventions I have quite descriptive names already.

Heisenberg “Say my IfcName”

Optimization required? None.

System Assemblies

When assemblies, such as floor, walls, and roofs are exported into DWFx, they appear as a single homogenous object.  To resolve this, CostX suggests that further detail is provided within the objects’ description, additional information is provided through detail sections, or Revit’s parts function is used.  However, as we are producing a maintenance schedule, this level of granularity shouldn’t be required.

Optimization required? None.


To ensure that room information is exported, CostX advises that rooms are represented within the native model and that the setting “Rooms and Areas in a separate boundary layer” is checked to export this information.  As my native model already has rooms, I just need to ensure that this setting is correctly selected.

Optimization required? Export setting “Rooms and Areas in a separate boundary layer” to be checked.

Shared Parameters

To further optimize the sorting of information, CostX advises that the additional parameters QSID and ELEMENT CODE may be included.  However, as I have not been asked by Jonathan to include and populate these parameters, I haven’t.  In addition, CostX advises that parameters should generally be added as instance level but as this would affect how my IFC files are produced, I will not be changing this.

Optimization required? None (due to awkwardness).

Once I exported the DWFx, I checked it within Design Review.  The file appears to contain all the information I expected.  So, the next step is finding out what Jonathan thinks of it, as well as whether or not he is able to use the information within to cost my preventative maintenance schedule.


You can access the DWFx from here


And there we have it.  By using the guidance I was given on how to optimize my information, I now have a container ready to be exchanged for costing.  By listening to Jonathan’s needs, I have (hopefully) managed to produce suitably configured information in the best possible container.

Operation and Maintenance
3.1 What are the sizes and condition of the windows & doors?
3.2 What assets are in a poor condition?
3.3 What costs can be attributed to my assets?
3.4 What are the most cost effective thermal improvements that could be undertaken?

Now that I have updated my components, it’s time to bring all my information together and complete my preventative maintenance schedule…

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

PLQ 3-3 – Kitchen Konundrum

Hello BIMfans,
Recently, I came to the realization that as I never received any product information about my kitchen when I bought the house, my information model is missing some details.  So, I decided to see what information I could find using my whits and a little ingenuity.

First things first, I needed to work out who produced my kitchen.  After failing to find the range comparing materials on Google Images or checking Pinterest, I decided to use my detective skills and carefully inspect my kitchen units for hints.  While inspecting, my keen detective senses alerted me to a clue.

Detective Level:  Maximum

Ok…now that I know it is a Howden’s Kitchen, I thought that the hard part was over; oh no.  After struggling to find contact details for Howden’s Kitchens, I rang my local branch who informed me that as I was not the account holder (the previous owner the house is) they could not provide ANY information (Harumph!)  So, I did what any person would do in this situation, moan on social media I tried Google to see what I could find.  NOTE:  Typing “inurl:pdf” into Google makes this kind of search A LOT easier.

While looking through the myriad of links Google provided, I found a Howden’s trade catalog.  Within, it included everything I needed.  While it appears that some of my components have been discontinued, I could find equivalents to be included within my information model.

NOTE:  As the purpose of the information is to deal with replacement, or maintenance and repair, using information about an equivalent product seemed much more practical than sourcing information about discontinued products.

Some might say this blog has sinked to new lows…

So, all I that was left was updating my information model…

Work Surfaces

In my home, I have two 38mm bullnose matt walnut block laminate work surfaces. Luckily, my graphical model already included work surfaces with the correct thickness and profile but had mislabelled the laminate as Iroko as opposed to Walnut (Idiot!).  I have now updated my material information to suit.



In my home, I have 1.5 bowl sink.  Looking into the Howden’s trade catalog, I found the closest equivalent, the Lamona standard 1.5 bowl sink (Model reference: SNK5131).  In addition, I also found an equivalent mixer tap (Model reference:  AP4805).   In this situation I have teated my tap like I would ironmongery and instead of giving it it’s own component have referenced it within it’s ‘parent’.  Here you can see I used the Type.constituents COBie property associated to my sink component to capture the tap model reference.



In my home, I have a Lamona single fan assisted oven (Model reference: LAM3301), Lamona gas hob (Model reference: LAM1001), black enamel supports (Model reference: LAM1003), and the Lamona standard chimney extractor (Model reference: LMS2400). While updating this information I thought it also prudent up give their graphical representations a spring clean while keeping the detail low in line with my BIM Execution Plan.


If only my kitchen always looked this clean


Finally, I have a series of kitchen units I have originally named BBH_Furniture_KitchenUnit.  However, now that I know they were produced by Howden’s Kitchens, I can update their file, type, and component names to suit.  In addition, as the catalog has done I have split their names into base units and wall units to give me:

  • Howdens_Furniture_BaseUnit
    • BaseUnitType
      • BaseUnit
  • Howdens_Furniture_WallUnit
    • WallUnitType
      • WallUnit

Synthesizing all of this information together has vastly improved the quality of information I maintain about my kitchen.  So much so that I was able to produce a kitchen assembly drawing using this information.

Full-size drawing can be accessed here.

And there we have it.  By using my keen (cough) detective skills, I have now properly identified all of the components in my kitchen.  This means I should now have all of the information I need to apply costs to my preventative maintenance schedule; fantastic!

Operation and Maintenance
3.1 What are the sizes and condition of the windows & doors?
3.2 What assets are in a poor condition?
3.3 What costs can be attributed to my assets?
3.4 What are the most cost effective thermal improvements that could be undertaken?

Now that I have updated my components, it’s time to bring all my information together and complete my preventative maintenance schedule…

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

PLQ 3.3 – Summer Sort Out

Hello BIMfans,
For those of you who know me outside of this blog, you’ll know that I have been quite busy over the last few months getting married, presenting to key stakeholders, and doing some pretty exciting standards work (#HumbleBrag).  As such, I haven’t given my information model the attention it deserves.  So before I get my cost my preventative maintenance schedule I decided to roll up digital sleeves and have a summer sort out.


No, I don’t want no scrub! My model only needed a little TLC

So, what do I want to sort out?  Well as you know, there are three parts to an information model.  The graphical model and its associated renditions (i.e. exports like my IFC files), non-graphical information, and the PDF immutable documentation.


So, let’s see if these previous posts will help me improve any of these parts.

Graphical Models

Electrical Model

Following a previous post where I created a Google Home object, the electrical model has been updated to include it.  In addition, I have also been tweaking each of my graphical models to remove several z-fighting issues (trust me, this is nowhere near as cool as it sounds) to improve how my models export into a VR environment.

Architectural Model

Also, around my kitchen, I have updated the materials, altered the component names (see below) to remove a duplicate type name.  I have also worked out how to get my sink to cut through the work surface and cabinet correctly (this drove me mad, I ended up having to cut a hole in my worktop to sort it).  This brings my kitchen much closer to what has physically been built.  Note:  In a future post, I will contact Howdens and find out exactly what components were used.


Model Naming

In addition to revising my graphical models, I have also changed how I name my models.  Previously, you may have seen on this blog IFC files with the file type ‘M3’ for 3D models. After John Ford asked the question, I agreed that ‘M3’ wasn’t the most suitable and felt that it should be ‘MR’, for model rendition.  So, as always, when in doubt I turn to Twitter.

As you can see ‘MR’ was voted the most popular (phew).  This makes sense because I use my IFC files to create COBie, not instead of COBie.  If I was delivering these files back to a client I’d have used ‘IE’ (information exchange).  However, as they are effectively filtered renditions of my native model, ‘MR’ is most appropriate.


Non-graphical Information

Thanks to my previous blog posts I’ve managed to update several areas within my non-graphical information.


Following a post where I collected Naming Conventions, I have now updated the component names to suit.  The convention I have chosen to follow is:

  • Type.Name:  <IfcType>Typenn e.g. WindowType01
  • Component.Name: <<IfcTypeEnum>>nn* e.g. Thermostat01

The exception to this rule is when the IfcTypeEnum does not suggest what the component is my itself.  For example, only a few people (except losers like me!) would know that ‘Water01’ is a boiler or that a ‘UnitaryControlElement’ is a Thermostat.  When these instances occur, I use <IfcType>nn instead giving me ‘Boiler01’ and ‘Thermostat01’ respectively.  Note: This also allows me to be pedantic and refer to my radiators as convectors, so win-win!


Following a previous post where I calculated the Return on Investment of producing my information model, I have now incorporated each component’s expected life.  The service life of these components will be very useful when calculating my maintenance budget.


Also in preparation for this maintenance budget, I have added (for objects I could google…) relevant replacement costs.  This was effectively done by comparing my existing components with their B&Q or Wickes equivalents, leaving those I couldn’t find as ‘n/a’.  Despite a few omissions, these costs will help calculate my maintenance budget and have helped fill my COBie files with even more information.



View References

Finally, following the changes to Component.Name, I have updated my drawings as any name changes impact on my door and window tags.  While doing so, I took the opportunity to update the logo on my title blocks, as well as include a view schedule on each of my drawing sheets.  Placed in the bottom left of my drawing sheets, I now know what views are included on each of my drawings.


Referenced, for my pleasure.


And there we have it.  These improvements to my information model not only help me achieve my Model Purposes but also help ensure the relationship between each part of my information model.  As a result of this Summer Sort out, I have consistent component names across my graphical models, non-graphical information, and documentation; reinforcing the fact that I manage my home through a single source of truth.

Note:  If you have any comments regarding my summer sort out, then please let me know either on Twitter, or by commenting below.

Update:  Included changed to IFC file naming following a query by John Ford.

Size Doesn’t Matter

Hello BIMfans,
As you know, I am currently using the Asset Information Model I produced during this blog to manage my home.  So far my information model has been used to support day-to-day operation, minor works such as getting my gutters and fascia replaced, as well as product registration and replacement, in line with my  Model Purposes and Data Requirements.  But has it been worth it?  Well, let’s try and work it out (don’t worry, I’ll do the sums).


Well, first thing’s first, how much did my information model cost? Well, because I did it myself, there isn’t really a figure I can apply.  However, as it has taken a while to produce, instead, I decided to use a different form of currency; minutes instead of pounds (after all, time is money!).

Quite often when talking about the blog I am asked “How long did it take to model all that!?”, and while it has taken over a year to produce, it was done in my spare time, with a lot of trial and error.  If I lost all of this information (please, please, NEVER let this happen!) I believe I could reproduce everything within four working days (1800 minutes).  This aligns with a New Zealand case study that took three days to model and write-up social houses.  So the real question is:

How long will it take for my information model to save me 1800 minutes?

My plan has always been for my information model to be useful, so I am confident that there is a return on investment; I just need to work out how long it is.  When I wrote my Model Purposes and Data Requirements, I decided that I would use my information model for the registration, operation, maintenance, repair, and replacements.  So let’s see how it has helped in those areas.


While trying to write this post, I discovered that I have registered a surprising number of components.  Excluding loose furniture, I have registered 104 (yes, 104) manageable components and assessed their condition.

Traditionally to keep track of the condition of these components, frequent property condition surveys would have been needed.  While I can find examples from several housing associations who undertake annual condition surveys, I have decided to instead follow Cardiff Council‘s own Asset Management Plan; using their conservative 2-3 year programme.  Having done surveying in a past life, I’m confident that to survey and capture all the relevant COBie information for these 104 components would take a day and a half (average of 6 minutes per component), whereas updating my information model would only take me half a day.

Having this information as the basis really speeds up the surveying of my home.

This results in a saving of 450 minutes every 2.5 years, or an annual saving of 180 minutes. (This alone would provide a return on investment within 10 years)

Operation, Maintenance, and Repair

Working for BRE, I’m sure you won’t be surprised to hear that I want to reduce my home’s carbon footprint.  A goal of mine is to improve my home’s EPC score from a D (65) to a B (86).  To do so, I am going to need some tradesmen every now again (but never again from Rated People, grrrrr).

My information model has been great for solving operational problems.  For example, when I had my gutters and fascia replaced, the quoting tradesmen raised an issue.  I live in a thin terrace house, with no external access to the garden.  After quoting for the work, they each wanted to re-visit and check whether their six metre scaffold pipes could get through the house.  I didn’t want to book another half-day off work, so I instead used my information model to demonstrate that it was possible.


Once I proved this, I was happy to accept accountability that the scaffold would fit, and saved myself from having to book a half-day off work.

If I assume I’d get tradesmen in every two years, this results in a saving of 225 minutes every two years or an annual saving of 112 minutes. (This alone would provide a return on investment within 17 years)


As I’ve mentioned, I have 104 manageable components, each of which will ultimately fail and need to be replaced (What Asset Managers would call a ‘trigger-related event’).  So I have done some research and calculated my components’ service lives.  For example, my two extract fans, have a pitiful service life of 10 years, while my internal doors have an impressive 100+ years.  Whenever I need to replace any of these components, I will be saving time.

Picture this scenario, while I am out shopping I suddenly receive a call.  My wife has rung to say that on her way out she noticed a bulb had blown in the living room, and asked if I could buy a new one on my way home.  There is just one problem, I cannot remember whether my living room pendant takes an Edison (E27) or a screw fix (E14) bulb.  So I have two options:

  • Option 1:  I drive home (30 minutes), grab a chair and check the bulb (2 minutes, working from height), drive to B&Q (30 minutes, other hardware stores are available), buy the new bulb (5 minutes), drive home (30 minutes), and then install the new bulb (2 minutes, working from height) for a total of 99 minutes.
  • Option 2: I check my information model on my phone and confirm the bulb type (2 minutes), buy the new bulb (5 minutes), drive home via B&Q (30 minutes, other hardware stores are available), and then install the new bulb (2 minutes, working from height) for a total of 39 minutes.
The Value of Asset Capture
Oh look, my pendant has an E14 to E27 adapter on it, that means I could have bought either!

So by referring to my information model each time I replace a component and purchasing replacement on my way home, I am saving myself 60 minutes and halving the amount of time I am working from height.  While an hour might seem excessive, this is quite conservative compared to the case study on the BIM Task Group Website from Manchester City Council, where the Bulb Replacement Case Study reports a saving of 8 hours (480 minutes) per replacement.


Based on available service life figures I found online, I produced this table which groups components by their IFC type, and shows an annual saving of 205 minutes. (This alone would provide a return on investment in under 9 years).


Having looked at my various Model Purposes, I have come up with the following annual return on investment thanks to the efficiencies I have gained through using my information model.

Registration = 180 minutes
Operation = 112 minutes
Replacement = 205 minutes
Total = 497 minutes

Which, when compared to a production time of 1800 minutes, gives a return on investment in 3.62 years.

And there we have it, by using conservative figures a reasonable return on investment could be calculated.  When you consider that this excludes all loose furniture, and does not factor in any accidental damage, my information model will have saved more time than that it took to produce in little over three and a half years; Fantastic!

Note:  If you have any comments regarding other efficiencies I could factor in, or the figures I have used to calculate my ROI, then please let me know either on Twitter, or by commenting below.

Naming Omnibus

Hello BIMfans,
While developing my information model, ‘naming’ has easily given me the most pause for thought.  While I have already discussed some naming conventions in previous posts, I have decided to put everything here.  The rule is simple, I will only use a naming convention if it can be found in a British, European (#Remain), or International Standard.

NOTE:  If I have missed out any naming conventions, feel free to leave a comment and I will add it to the post and credit you as thanks!

NOTE:  To save repeating myself, any fields with an asterisk* are optional fields.

Fun fact:  BIM is worth eight points in Scrabble.

So, let’s see what naming conventions I have found.  For ease of navigation, I have structured this post as follows:

  • Directory naming
  • File naming
  • View and symbol naming
  • Layer naming
  • Object naming
  • Type and component naming
  • Level naming
  • Space naming
  • Property and attribute naming
  • Title block naming
  • Text naming
  • Line naming

Directory Naming

The naming of directories and folders can be found within BS 1192, which is as follows:

Directory and Folders:  <Project>-<Status*>-<Revision*> e.g 7001-CR-C01

This naming convention has already been applied to my directory within Autodesk’s A360 which I use to host the graphical models I share on this blog.  However, as I am not operating a full project its implementation here is limited.  Note:  It does allow sub-directories with names based on the file naming convention discussed below.  However, I consider this a waste of time.  Why have a folder called ‘Models’ or ‘Architect’ when it is written in the file name?

Hint:  Optional means don’t bother…


File Naming

The naming of Files (Probably the second most contentious naming convention behind Boaty McBoatface) can also be found within BS 1192, which is as follows:

Files:  <Project>-<Origin>-<Volume>-<Level>-<FileType>-<Role>-<Class*>-<Number>

This naming convention has already been applied to several files that I have been sharing over this blog via Autodesk’s A360.   You’ll notice that my native files use ‘M3’ and my IFC files use ‘MR’ as they are renditions out of their respective native models.


Looks at those tiny file sizes!!


View and Symbol Naming

The naming of containers within files, such as views and symbols can also be found within BS 1192, which is as follows:

Containers within Files:  <Role>-<Class>-<Presentation>_<Description*>

This naming convention has already been applied to most of my views and some symbols within my graphical models.

Yes, that is exactly what my North Point needed; Uniclass2015!


Layer Naming

The naming of views and symbols above is based on ISO 13567-2, which covers the naming convention for layers.

Layers:  <Agent(Role)><Element><Presentation><Status*><Sector*><Phase*><Projection*><Description*>

A key difference is that ISO 13567-2 uses a fixed field system.  Meaning that there is no need to use a field separator. Instead, hyphens are used as a ‘general’ symbol and underscores as ‘not used’.  Due to issues with Uniclass 2015 that I have expressed a concern over, I haven’t implemented this yet.  However, an example layer would look something like this:


Object Naming

The naming of objects can be found within BS 8541-1, which is as follows:

Objects:  <Source>_<Type>_<Subtype>

This naming convention has already been applied to my objects when I first considered Object Naming and has been applied to objects such as my Nest Thermostat, and Google Home.  Now there are several opinions on how this naming needs to be implemented, I have taken the stance that it is for the naming of the object file (i.e. what you find when you search your computer), because type and component naming is covered in in another standard.



Type and Component Naming

The naming of almost everything else can be found within ISO 4157-1, which defines how to name:  General designation codes, buildings, storeys, parts of storeys, floors, and load-bearing structural elements.


…using ISO 4157-1

The naming (referred to as designation in this standard) of types and components can be found within ISO 4157-1, it requires a primary and additional designator which I have used as follows:

  • Type:  <IfcType><Numerals in running order> e.g. DoorType01
  • Component: <IfcSubtype><numerals in running order> e.g Door01

This naming convention has already been applied to parts of my information model like my Door and Window Schedule Drawing which I produced when I discussed my Outstanding Openings.  However, further development work is needed to reflect this information correctly within COBie. This is because the USA’s National BIM Standard states that Component.Name should be consistent with the name that appears my schedules.  Meaning that each door in COBie should be named Door01, Door02… to suit what appears in my door schedule.


Level Naming

The numbering (referred to as designation in this standard) of floors can also be found within ISO 4157-1, which is simply a running number.  This (surprisingly) aligns well with the BS 1192 naming convention with specifies a two-digit sequential number for floor levels.

However, I have also chosen to name my floors, and have done so following the component naming listen above to get:  Floor 00, Floor 01, and Floor 02.  Note:  This is different from my storeys which are Storey 1, Storey 2, and Storey 3 respectively.


Space Naming

The naming (referred to as designation) of rooms and spaces can be found within ISO 4157-2, which is as follows:

Rooms:  <Floor number><Numerals in running order> e.g. 101

This has already been applied to my information model and can be seen in both my graphical model and in my COBie files.  Easy.


Property and Attribute Naming

The naming of properties can be found within BS 8541-4, which requires the use of CamelCase (just like Hashtag writing #CamelCaseMakesItEasierToRead) and an indication of the data type expected.  For example, if you take a look at the properties I have used from my previous post on Classical Conditioning three properties were being focused on:

AssessmentDate, when the assessment was completed YYYY-MM-DD;
AssessmentDescription, qualiative description of the assessment; and
AssessmentCondition, the condition:  Very Poor, Poor, Adequate, Good, or AsNew.

By suffixing Assessment with ‘Date’, ‘Description’, or ‘Condition’, it suggests the data type that should be expected to populate each property.  Luckily for me, all the properties I have used are available in the IFC Schema.  However, if I ever found I was lacking, this convention is how I would create those additional properties.


Title block Naming

The naming (referred to as designation) of title blocks can be found ISO 5457, which is as follows:

Title blocks:  <Descr.>-<Standard>-<Size><Trimmed>-<Material>-<Side>-<Pattern*>

This has already been applied to my title blocks when I formed my original templates

Title Block.JPG


Text Naming

The naming (referred to as designation) of text styles can be found within ISO 3098-0, which is as follows:

Text Styles:  “Lettering ISO 3098-1” – <Type> <Spacing><Incline><Alphabet> – <Size>

This text style naming convention has now been applied to my graphical models. However, due to Revit’s vile terrible horrible improving text formatting capability, I have to include an additional field to indicate whether the text is bold, italic, or underlined as a suffix.



Line Naming

The naming (referred to as designation) of line styles can be found within ISO 128-20, which is as follows:

Line styles:  “LineISO128-20” – <Type> x <Width> / <Colour*>

However, Revit annoyingly unfortunately doesn’t allow you to rename system line styles. While I could recreate all my lines styles following this convention, I do not consider this worthwhile.  If/when I need to create specific line styles, those user-defined line styles will follow this naming convention.



And there we have it.  By using a myriad of British, European, and International Standards, I have now laid out all of the naming conventions I am aware of and how they have been applied to the production of my information model.  This will help me align my information not only between models but also to the national and international communities; fantastic!

Operation and Maintenance
3.1 What are the sizes and condition of the windows & doors?
3.2 What assets are in a poor condition?
3.3 What costs can be attributed to my assets?
3.4 What are the most cost effective thermal improvements that could be undertaken?

Now that I have worked out all of my naming, I need to apply this so that I am ready to share my model to do some external cost exercises…

Update:  Following a Twitter Poll I have changed how my name my IFC files from M3 to MR.  Thank you, John Ford, for raising this question.

Update:  Text naming image updated following a clarification comment around how ISO 3098-0 naming can be applied within Revit.  Thank you, Nathan Beevers.