The Existential Crisis of IFC
Last week, Bill East completed his rather fun two part ‘COBie; Fact or Fiction’ Linkedin post, which was intended to clear things up by busting some myths about COBie.
I enjoyed the articles and I’m pleased to report I also scored a perfect ten and thus still deserve my much coveted buildingSMART pin badge which lives on my favourite trilby… (Yes, I’m a COBie geek who wears a trilby – please forward your concerns to my long suffering wife, aka #BIMWidow).
However the article wasn’t there to allow me to throw confetti over myself. The reality is that the myth busting is much needed: COBie isn’t well understood, nor is it’s ‘alma mater’, IFC.
If you want to learn ten things on the subject, Bill’s post is great. However, I couldn’t help but think that one statement Bill made needed some further explanation in order to help remove any confusion;
Just to be clear — there is actually no such thing as an “IFC File” – Bill East
If this is true (which it is), you may well ask what on earth are all of those files in the project folder and in BIM content libraries like the national BIM library? They must exist because they are there, but if the creator of COBie and some guy in a hat with an IFC logo pinned to it say they don’t, something isn’t adding up. The question to ask is ‘Is IFC in the depth of an existential crisis?’
Bill goes on to explain this by saying how the files received are actually MVDs (Model View Definition) of the overall IFC schema delivered for a specific purpose, such as being the digital equivalent of a light box. There are other uses of course, and these will become more varied and accepted as the industry digitises and adopts the benefits of OpenBIM. But for the uninitiated this doesn’t clear things up, rather it potentially perpetuates the myth that IFC is a complicated and scary thing to be left for another day. Who needs existentialist subspecies mutant models in their life anyway… why don’t we all just retreat to the safety of .rvt or even .dwg files? At least they know their place in life.
To simplify the discussion it needs an example, one we can all relate to. I’d been mulling this one over for days until it hit me whilst I was running – or, more accurately, plodding – around the picturesque city centre of Durham and passed the University Palace Green Library…
But a library book does not contain the library itself…
Using these terms the whole issue suddenly became clearer…… so I’ve tried to follow this library analogy through in more detail below. However, if you have a better analogy I’d love to hear about it on Twitter.
Anyway here goes;
In most cases a book from an English university library will be in the English language. This could be considered a schema, just like IFC. The title on the spine of the library book will tell those looking along the shelf what information each book contains. A library book entitled ‘Fundamentals of Physics’, for example, tells the potential reader the book uses the English language to explain the principles of physics; but crucially not all of them, just the fundamentals. This means the title can be considered the MVD name, akin to IFC 2×3 Coordination View V2.0.
Next, consider the contents page. Also in English, this tells us how the book is ordered to best inform the reader of the subject in hand, this is the structure and, as such, is a similar concept to the resultant model file. The book doesn’t use the English language in its entirety, but orders a selection of the concepts of the language into sections to make something understandable to the reader. One of the IFC party tricks is that it is human readable, like a library book. Try it yourself by opening one in Notepad and then do the same with a native model type, the IFC will have words whereas the native file will resemble ‘The Matrix’. However don’t get too bogged down in learning to read IFC because you shouldn’t have to: it just makes understanding the concept easier if you can differentiate it as something fundamentally different to native model formats.
To complete the analogy – albeit with a slight Orwellian twist – you have to replace the reader with a machine. The machine is a computer is running one of hundreds of BIM software solutions which know how to understand the concepts used. This is important; not all IFC capable software can read all files created from an IFC schema. A tool built for clash detection, but which has no design functionality may struggle to open an IFC created in the Design Transfer View……….this is partly what prompts the much overused ‘IFC doesn’t work’ commentary. A book on physics may cause a surgeon to scratch his head and a book on heart transplants may do the same to the physicist. But unlike people, the BIM software can’t learn a new subject simply by using grey matter and Google: if it doesn’t know the concept, it will fail.
Some software fails more gracefully than others, but this is simply a sign of immaturity in the industry as the developers work on functionality rather than tidying up the edges. Computers are not equal to their users, so you have to help them to help you. For example, you wouldn’t put a screw in with a hammer, so it doesn’t make sense to run thermal analysis on a model exported for the purpose of quantity ‘take off’ as it might not go as well as you would like.
The more ‘troll inclined’ amongst you may be already lining up your ‘what about dictionaries, they contain the whole language’ comments. Indeed they do, but the model equivalent simply doesn’t exist as it would be a truly enormous and conflict ridden file, so the IFC File cannot exist.
So to sum it all up, the IFC schema is a library with a set language and every model file created from this language is a library book written for a purpose of imparting a set piece of information. To fulfil the intended purpose, we need to use specialist software which understands that language.
I hope this is of some use and clears up what can be a bit of a minefield. If you’re ready to go and learn a bit more about IFC, make yourself a brew and spend a bit of time on the buildingSMART website where you’ll find loads of information on this and a number of other subjects around OpenBIM, http://www.buildingsmart-tech.org/specifications/ifc-overview