Showing posts with label IFC. Show all posts
Showing posts with label IFC. Show all posts

January 16, 2014

The Paradox of IFC

I had an interesting discussion with mr. Velez, the head developer IFC from Autodesk. Which I thought would be nice to share with you all...

I reached the conclusion that there's an interesting loophole in place when it comes to the acceptance of IFC in the AEC industry. I could even say in the Revit-using part of it, but that would probably sell the non-Autodesk disbelievers short. So let's keep it general for now. Don't know how Angel feels about my philosofical insights yet, since he's sleeping now (hopefully). But here it goes:

Standard conversation.

Let's lay out the standard IFC-conversation I have with a lot of people not wanting to use IFC:

Them: We need partners to work with Revit
Me: Why?
Them: because we can't communicate if they don't, which kinds of defeats the purpose of BIM
Me: Why won't you use IFC then?
(from this point onward, the discussion is the same for people using other software, regardless on whether they use IFC or not)
Them: because there's always a loss of information
Me: No there isn't
Them: Yes there is.
Me: Maybe when you do it, I can get any piece of information I want
Them: No you can't
(btw, I never said these conversations are very intellectually challenging)
Me: Have you tried?
Them: Yes, we exported an IFC once. It sucked. All kinds of information missing.
Me: What settings did you apply?
Them: Settings...?
And so on...
Point is: IFC has difficulty in getting accepted because of the supposed loss of information when exchanging models. And that's partly right, however for the wrong reasons. Insufficient implementation in (ALL!) software is what's causing this, not IFC itself. The format is capable of carrying through each and any piece of information you would ever put in your model, and much more. Losless. It's just not implemented that way.
Getting this done is actually the easy part of IFC implementation. It's just a matter of mapping. Which native parameter goes into it's IFC counterpart. And which ones don't have an IFC counterpart? Nice to know, since IFC does allow you to create custom properties for any and all objects.
It's supposed to be relatively simple...

So why aren't we fixing this?


Basically because everybody keeps focussing on getting all the geometry right.
And off course this is important. You don't want to be losing all kinds of objects. But seriously: how often does this happen? 
Let me rephrase: how often does it happen and NOT because of the guy modelling it?

Cause I haven't seen it yet. I haven't seen ANY project where the loss of geometry was NOT caused by the way stuff was modelled, exported, or mapped. Period. And I've seen a lot, trust me. So maybe I haven't seen those few projects where there actually is an inexplainable loss of geometry. But it can't be more then a handful.
Yet there seems to be a huge imbalance between geometry and information in terms of focus and budget. As in: the focus is almost solely on geometry, leaving the information part with improvements that require no more then an hour of programming time max.

Is geometry that important?


No it isn't. Not in my opinion anyway. Now don't start with that "but you're just a consultant, we have real projects" bull. My clients aren't toying around all day and I get paid to deliver results, just the same as anyone else. No results = byebye consultant (even more easily then with employees I might add). It's not about projects, it's about the process.

The majority of firms uses IFC throughout the project as a means of communicating with different project partners. So you get an update every other week or even weekly. Those are used for clash detection, design sessions and so on.

By definition there is stuff missing, incomplete or not there. You're still in the design phase for crying out loud. It's supposed to be that way! Seriously, who cares whether stuff is missing because of the fact it's yet to be designed, or because something went wrong in the export. In fact, there's only one point in time when the IFC needs to be perfect, and that's when it's time to create the deliverable. And I'd rather experience all those errors upfront instead of upon delivery. That way they pop up during design sessions. And I can fix them...

So no, I'm not saying we should except the fact that stuff might go wrong. I am however saying that the impact of those errors is grocely overrated. The first thing I say when someone starts telling me horror-stories about IFC's not being correct is "wow, what did that cost you in penalties from your clients?". I usually get a blank stare... Followed by "uhm, they never knew. We found out during our first design meeting and fixed it".

Fact of the matter is: these are tools. Tools fail sometimes. Revit fails some times. Project files get corrupted all the time. Stuff goes missing, gets omitted from schedules due to wrong filters or modelling methods. Gets accidentally deleted because it's on the wrong Level or a Linked element that is remodelled.
How can someone using Revit tell me that they intend to focus solely on geometry when it comes to IFC until it's 100% reliable? Like Revit is? But when it comes to our primary tool, we build safeguards in our process. So why regard IFC differently?

Now for the Paradox.


On the one hand it's usage in the (Revit-minded) AEC industry is being held back by the general consensus that you lose information when exchanging IFC's. On the other hand, the people that DO use IFC with Revit pressure Autodesk into allocating the vast majority of their resources into focussing on geometry exchange instead of fixing the information drain. 

At the same time, fixing the information loss can be overcome rather easily. It's a User Interface thing. You need to be able to map information from Revit to IFC and back. That's it. The second part, the geometry is way, way more complicated. Needs far more resources.

Now since Autodesk is a commercial company they, to some extend, listen to their customers and drive development on their needs. And budgets are defined based on the size of the (expected) user base and commercial gain. Nothing wrong with that, that's how commerce works. The guy paying the bills gets to make the decisions. 

What we have here is the situation where existing IFC users force Autodesk away from implementing relatively cheap solutions that would actually make IFC more attractive for non-users (eliminating loss of information), which generates a bigger user base, which in turn generates larger funds to tackle the more complicated geometry-related problems.

The Paradox of IFC Implementation is that that the people actually using it with Revit prevent Autodesk from taking big steps in the implementation of it's strongest feature (and major advantage towards geometry based formats such as 3D dwg): the ability to exchange object information.

How to solve this?


I don't know really. Somehow I don't think that after reading this everyone will say "he's right, what was I thinking? Silly me...".
But I am glad I focus on the "easy" part of IFC. That might just make it possible to have another go at the whole programming thing and start doing it  myself.
More on that later...

December 13, 2013

The biggest issue with OpenBIM and IFC...

An article about IFC that I wrote recently made it to the AUGI-library today. Which got tweeted by +Shaun Farrell (thanks for that btw!).
Which in turn provoked some dude to go all ballistic on me: https://twitter.com/ShaunF1969/status/411027695707750400

Now, usually when the tone of voice comes to this I bail. Don't get me wrong, I love a good debate. And I am never shy to vent my (usually rather explicit) opinions. But there's two rules I have:
1. be prepared to adjust your opinions.
2. at least try to have some sort of logic behind your opinion.
These kind of people usually have neither, so there's really no point in trying to talk to them. But still, they annoy the crap out of me. So here's a once and for all rebuttal, next time I can just point them in this direction.

So please, if you don't want to waste your time on my rants, stop reading here. Next few hundreds words will be lost on someone that probably doesn't even give two cents on what I have to say anyway. His mind is made up: if you roll with the Devil (Autodesk), you are the Devil.

Let's get one thing straight


I'm very much aware of the fact that I do not know everything about anything. Or that I even come close. In fact, I usually just know a tiny little bit and guesstimate my way from there. Which works very well btw.
But every now and then I get my wrist slapped for uttering something wrong. And I adjust my opinion accordingly. You live to learn right?

So even though I have strong, and often controversial, opinions they do tend to have a reason behind them. At least in my mind they're backed with actual facts and can stand a critical peer review.

Why tell you this? Because I don't care whether you're strongvoiced and explicit. I am too. And I can take it from others. I might even adjust my opinions if it makes any sense. But in my experience, your kind of people usually just parrots each other. I haven't read one single (even remotely) valid argument that would justify these words.

So what is the biggest issue with OpenBIM then?


Here's my opinion: the biggest issue is guys like you. Big-ass loudmouths who spend their lives bitching and moaning about the Big Bad Autodesk not supporting IFC enough. Who interpret anything anyone that uses Autodesk software writes or says about IFC/Open BIM as an attempt to "bury" it.
Without actually contributing anything to the Good Cause themselves, except buying an "open BIM" software.

Big freaking deal! Did you ever look up the definition of Open Source? It's not the same as "free" you know. Open Source means that developing it and bringing it to the next level depends on the actual commitment of people using it. That's why you don't pay for a license with IFC. You should be either donating or actually making a contribution. And buying a software that has a big shiny marketing sticker on it that says "Open BIM" does not constitute to any of this.
Flaming others that actually do make a valid contribution does not either btw.

I can take the crap from Autodesk Fanboys (and -girls). They genuinly believe that their one-stop solution is the best. I disagree, but hey, I can respect an honest opinion. You people on the other hand are something else. You are full of "collaboration" and "interoperability". Yet you condemn anything remotely related to Autodesk to be against these ideals. You don't care what people like me say or do. You consider us traitors to the good cause no matter what. All we do is try to "bury", "flame" or "badmouth" IFC. No matter what.

Let me tell you this: Autodesk, let alone people like me, aren't the biggest problems for Open BIM or the acceptance of IFC. It's people like you. You are it's Trojan horse. The enemy within, poisoning the roots and foundation on which the whole concept of interoperability is built. You talk about open standards and freedom of choice whilst in the same breath you condemn and write off a whole group of people just because they use the wrong software.

Let's compare size


Want to be in my face? Fine, bring it on. Here's my list of achievements:

1. First AUGI author to write an articles (let alone 3) on the use of IFC with any Autodesk software
2. First Autodesk University AND Revit Technology Conference speaker to talk solely about how to use Revit and IFC (and possibly any Autodesk software and IFC)
3. Main author of the first and only Open Source Revit Standard (as I define Open Source as freely accessible to anyone)
4. Main author of the first and only Revit Standard and Workflow that even mentions IFC. And this one does actually work. I can get ANY piece of geometry AND information out to IFC with Revit. 
5. Instigator of the first and only 3rd party contribution to the Autodesk Open Source IFC Exporter. Responsible for creating the ability to map Revit information to IFC information.
6. Instigator of the second 3rd party contribution to the Open Source IFC Exporter: creating the ability to create custom IFC Property Sets and fill them with any kind of information from Revit. Still in beta though due to lack of funding
7. And all of the above roughly cost me $100,000.- in lost gross revenues when I put my consultancy firm on hold for a year working on this.

These are real things. More then just some big words on Twitter.
Next time you wanna pick a fight, bring your list of accomplishments on the development and implementaton of IFC. If anything less then this, we're not even going there. You're not worthy of my time. I can spend it more wisely on actually getting shit done. So please, do step aside and go bark up some other tree while the big boys make a difference.

Or, you know, do some freaking research on the guy you're calling out.

End note


I should probably have refrained from writing this. Be the better man and not let myself get dragged into this childish fight. But you know what? Screw that, screw you and the likes of you. I'm sick and tired having to put up with this shit from a bunch of twobit slackers who feel they have moral high-ground just because they once bought the "right" software. 
I actually studied IFC. Made an effort to understand it. Improve implementation in my software. Shared my knowledge with others and with that gave people the ability to use it better.
You just bought a freaking piece of software. A tool. And when it comes to IFC, yes: a slightly better tool. Big freaking deal.

What REAL effort did you put in there? Where's your contribution to Open BIM? You know, one that didn't get paid for by your boss or clients? Or you didn't have to do anyway to actually do your freaking job? Have you ever even spent one moment of your time improving the Open BIM workflow? And share that knowledge with others?

Probably not. You just assume that because you bought the right tool you have the right to come to my door and pick a fight. 
Well guess what: wrong day, wrong guy. 
Fuck off.

October 23, 2013

IFC for content, follow up

Thanks for the warm welcome!
Not counting the inaugural post, I'd say the first "real" MdR Advies blog made quite an entrance... So to start: thanks to all of you who took the time and effort to respond to this post! It was very insightful, and I learned a lot!
Special thanks to Jon Mirtschin from GeometryGym though. This guy never fails to amaze me with his profound knowledge of what IFC is, encompasses and what it can become. His blog in response to mine gave great insight to current IFC possibilities and limitations (mainly related to implementation) and what efforts software vendors, even the most IFC-minded, have to make to get this format to work. As always it was an inspiring read that brought me a lot of new ideas, and lead me to abandon some old ones for being wrong, short-sighted or just simply outdated.
Oh btw: I'm wrong all the time. I know this. I just don't know when. So if there is anything that I put on this blog that you're sure is complete and utter bullshit, let me know. Frankly, that's partly why the internet as a whole is such a great thing. There's always somebody out there to learn from. My first blog had a staggering 600+ pageviews until now. But *only* a handful responses. Surely there must have been others that were thinking "what the hell is this guy blabbing about?! I know for a fact it's flatout wrong". Please do share your insights, I want to know. How else am I going to learn, right? I might not always agree with you, but I will always listen to what you have to say.
So to wrap this up: thanks again for the warm welcome in the blogosphere!
Why the follow-up?
Well, after the post there was some Dutch twitter exchange about it. Then I got a call from another Dutch guy. We talked about IFC, OpenBIM and my view on content libraries for BIM. I explained my view that creating those, as if we are back in the 1980's when we created the habit of dwg-libraries is insane for BIM. Basically we have a database that holds all product specs at a manufacturer. They then create pdf fact sheets and dwg drawings. And then they pay someone to recreate what basically is another database from those specs and drawings. Multiple times, for different BIM formats...
Then he asked me a question: "What are you going to do about it? Is this just another opinion, or will you be acting on it?"
My initial response was quite frankly "what the hell do you expect me to do? I'm just one simple loudmouth from a tiny country with no connections or influence whatsoever". Then, as I was driving home (well, more as I was crawling home due to some dumbass that parked his car in the highway railing), I started reviewing my day. Cause it had been an interesting day.
That morning I gave a presentation to the joint BIM managers of one of the largest Dutch construction firms about the Dutch Revit Standards. And they were enthusiastic above and beyond expectation. We had a wonderful discussion about the current status and future developments. Things that the Dutch Revit User Group was aiming to accomplish, and why. Basically the kind of meeting that makes you want to do a victory dance on your way out.
The afternoon was filled with a client meeting where we discussed possibilities of upgrading their 25 year old CAD-based database structure to plan and design major warehouses and connecting and integrating that with Revit. Opening up doors to dynamic model checking on layout-rules and such. Again, a meeting that usually leaves me tossing and turning at night, totally pumped with adrenaline and anxcious to get out of bed and start working.
So, "interesting" quite frankly is a gross understatement of my day. And as I was crawling along, slowly making my way home it hit me. If you told me June 2012, when I said yes to this crazy idea of singlehandedly creating a nationwide Revit standard, that in no more then 18 months I would be talking to one of the largest construction companies in Holland about how they could push this initiative further most effectively, I would have had you committed to a psychiatric hospital. But here we are...
So who am I to state that size matters? That just having a good idea and act upon it never pays off? That one guy cannot pull something off so big and groundbreaking?
Challenge
Let's see where we stand Januari 1st, 2015. That's the mark.
I want to have at least one manufacturer that contributed to a good cause. If you know (or even better, work with) a manufacturer that is interested on getting on the BIM train, or already is on that train but not quite happy with the way things are going right now, drop me a line.
I'm not proposing to create a BIM library for you. I mean I would (even the most idealistic have to eat), but that's not the challenge. My proposal is to create a new way of handling manufacturer content:
I'm proposing to create a database structure that can be hosted online somewhere.
For that structure we need some sort of definition of geometric and non-geometric properties. Don't tell me that's not doable, each manufacturer with a CAM production facility has it.
This definition needs to be open source so that any manufacturer willing can translate his own products into this format.
We then create plugins for participating BIM software tools that can query the database, find relevant product definitions and take them to automatic object creation in the BIM software based on some simple rulesets and mapping tables.
Is this going to work? Let me put it this way: I know this can be done between Revit and several types of databases. I've seen it work. I don't know if it will work with other software. But I would guess it does.
From there, it's all just a matter of finding the right people willing to spend some time doing it.
Why would we? Welk for one thing I'm sick and tired of all these partial libraries scattered around the internet.
And me having to redo them on every freaking project that has a different Revit standard.
I hate having 30+ libraries from different manufacturers, each structured differently.
I hate spending hours trying to find that one freaking component with some specific properties that I know is out there somewhere.
I hate having to upgrade all that shit every release only to find out it doesn't work as it's supposed, needing to go online 30+ times and re-download all those libraries and having to go through all the painstaking adjustments again.
I hate it when I get my balls busted by a General Contractor because a model in my project holds components that aren't even being sold anymore.
And when I was a manufacturer, I would hate to have to create a library of products for 3 or 4 different software formats. In god knows how many countries. And still get continuous bitching and moaning from people claiming that it isn't good enough. Or just flatout wrong.
If you, as a manufacturer, thought that creating and maintaining a CAD library was expensive, welcome to the world of BIM. You just quadrupled your budget. At the very least. On each software format you want to provide.
And no, Revit is not the new Autocad. Just rvt's isn't the same as just dwg's. It won't cut it.
So, at the chance of monumentally overplaying my hand here: who's up for a challenge???

October 7, 2013

IFC for content

I got myself into an interesting twitter discussion last friday regarding the use of IFC. It started out as a complaint from someone stating "why does one format (presumably Revit) get native content, whilst I have to deal with IFC (in Archicad). It evolved in a debate about whether there is something as a single-format-solution for all BIM software. And should we be able to all work together on a single IFC model, all being able to alter it.

Unfortunately as more and more people got into the debate, you end up having to send two tweets just to get one proper sentence out. So I figured I'd compose some thoughts here. Let's start with the first part, IFC for content. The part about a single IFC model will have to wait until later this week.

IFC for content


IFC was never intended for "dynamic" use. It is a format to hand information to someone else down the line. It was not meant for weekly exchange between design partners. That can be done, but is a stretch and needs further development.
What it certainly is NOT meant for, and imho is very very bad for, is creating content libraries. Allow me to give you a few reasons why it's a bad idea:

#1: IFC is meant for projects.


Here's a challenge: show me an IFC-file that is not formatted as a project. Because the assumption when creating an IFC from any vendor software is that you are creating a project. Not a piece of content. Off course, you can bypass this. And it's just a minor glitch. But it should be taken as a sign: it's not suitable.
Check the content in the UK National BIM Library. It's all formatted as a project... Which means the user will need to do some work (or the software) to get this imported as an object. Or it will just not work as expected...

#2: Object definition


The definition of an object in IFC can be done in several ways. There's ways that give you nice and crispy clean IFC's. There's also ways that give you a 3000 line of code to define a single water closet. Check the UK National BIM Library, go to the toilet section, download an IFC called "Concealed cistern" and open in Notepad. It has 2640 lines of code to describe a freaking cistern.

It would be too easy to call that a stinkin' pile of crap... Point is: this is modelled in some vendor software and exported. You don't have anything to say on how it's exported. The vendor software just does what needs to be done... Without any way of controlling this (unless you code a custom exporter).
But seriously? Stuff 300 of these in your project and let me see you twirl your model around...

#3: IFC Dialects


We all have different software. With different ways of defining components. With different source code and kernels. There is no way in hell there is going to be a one-size-fits-all content library. It won't work. That's the same as saying "I got tires that will suit a Mini, a Jaguar, a Land Rover and a tank. I guarantee equal performance on all". Not going to happen.

Also because a tank doesn't need tires...

Like I said, not going to work. The needs and desires from a piece of library content are just too different. What works for one software creates a mess in the other. Why is it that Archicad has different export settings for Tekla and Revit? Because they both interpret IFC differently. All three speak IFC dialects. IF you were to create an IFC object library, you would have to have several IFC dialects to make it work. Which is insane, cause then you could just as well simply create native stuff.

Enough with the freaking libraries!


Get it into your heads people: common content libraries are a thing of the past. It's thinking CAD in a BIM world. It's like wanting to invest heavily in a telephone landline infrastructure in Africa, while people there are standing around texting each other on their mobile about what those crazy foreigners are doing.
We once needed those because they were a graphical interpretation of object specifications. Back in the day when we didn't virtualize the entire building but only did a graphical interpretation of it in a bunch of 2D drawings.
The misconception about needing libraries is that we need something different from what manufacturers already have. I don't want a manufacturers library! I want them to give me the data they already have from their manufacturing or sales processes in a structured, uniform way. Every manufacturer with an automated production line has every piece on information we need to fully automate object creation.

Geometric data? They have machines actually making that stuff! Any pipe, desk, air handling unit, sink, window or steel beam that is created in an automated assembly line is fully digitized. Or do you imagine them turning on the machines in the monring just waiting to see what happens? It HAS to be specced, or they won't be any product at the end of the line!
So just give me the data you use there, and I can ask a software engineer to write me a nice little addon that takes that data and automatically creates the families I need.

Performance data? How do you choose which door you want to use? You go online, Google, look at websites and pick a door. Not just any door, but the door that meets your specifications. How did that info get on that website? Someone from the manufacturer put it there. If they're smart, they have this big database that's hooked into their internal Product Management System, and a selection menu on their website. You know, one that let's you specify if it's an interior or exterior door, fire rating, what kind of operation, and so on. When you checked the boxes, there's a list of possible doors. With a link to a downloadsite so I can get a component for my project.

Here's a suggestion: do that inside my software. Create an internet database with all geometric and performance data. Hell, let an organisation such as the NBS in the UK govern it and add as many manufaturers as possible. Build a plugin for my software that connects to it and give me that selection tree inside my software. Then let me use that database to create objects as I need them. Do you have new products? Add them to the database and send me an email. 

And we're all done. For a fraction of a tiny bit of a small percentage of the costs it would take you to get a global, all-encompassing library of manufacturers products. The manufacturer doesn't need to keep a gazillion families up to date for several versions of multiple software platforms. I don't need to worry about stripping manufacturers content off useless garbage such as 2D representations and wrong linestyles, repathing parameters and object styles, and all that other stuff I do to get the content to look the way I want it and carry the information I need.

Too expensive? Not doable? Think again. I've seen a Dutch company that sells interior doors taking their "webshop", put the desired parameters in an Excel workbook and let the entire family be created from a Revit plugin that reads that database. As a user you just type in some specs and it will create the families needed. This is done by 1 guy without any previous experience with coding...
Agreed, it took him some time and he had help from an experienced programmer (who knew diddly squat about Revit or the Revit API) but it's there. With very limited resources. They are now working on expanding the addon to include more detail (locks and hinges, and so on). You know what the fun part is? They don't have to redo a whole library. Just add some code. They don't have to re-publish the whole library. Their users don't have to re-download the whole library. Just update the addin.

IMHO that's the way we should go: get some data-architects in a room, let them agree on a common output specification for manufacturers and let them develop some plugins for different software vendors that can read and translate this output specification using user-defined project and family templates.
Then, manufacturers only need to provide us with data instead of countless digital versions of their products . And we can re-use that to create content that is always up to date in our own native formats.