Blender / IfcOpenShell / IFC / BIM / architecture Thomas Krijnen on IfcOpenShell, Blender, and architecture

Today we are talking to Thomas Krijnen, architect and programmer from the Netherlands, who works on IfcOpenShell project to assist opens source acceptance in BIM.

About a week ago, Thomas published a community plea for help appealing to potential contributors who would like to make free software based IFC centered workflows a reality. Thomas is already known for archikey.com, an architecture encyclopedia, as well as Blender Behavioral Simulation project. We thought that it could be interesting to talk to Thomas on his new project, IfcOpenShell, and on potential of free software for architecture design.

Could you tell us a little about yourself and your background in architecture?

My name is Thomas Krijnen. When not being side-tracked working on interesting projects such as IfcOpenShell, I’m working on my graduation project of my masters degree at the Technical University in Eindhoven. I’m enrolled in a master track that combines Architecture with Information Technology.

Example from Animation and Rendering project

Earlier this year you started IfcOpenShell project. Blender already has some support for gbXML (provided by e.g. BlendME project along with other relevant 3rd party tools). So why IFC? Was it a requirement for one of your commercial projects?

In the AEC (Architecture Engineering and Construction) software industry we come from a long history of obfuscated file formats and little interoperability, making it hard for free open source software packages to fight for a place in the workflow of architects and builders. Apparently, at some point in time, the industry shifted (or is about to shift / might decide in the end not to shift) towards the use of open standards, like IFC and gbXML. These standards and the BIM (Building Information Modeling) methodology in general enable a modular use of software that resembles the way open source unix-like software has worked for decades.

I envision an ecosystem of interoperating modular software packages working nicely alongside each other, each fulfilling a clearly defined task. For example, there could be some innovative generative design tool X that generates shapes, which are analyzed in a structural analysis application Y, based on which the rest of the building is drawn in Z, rendered in W, plotted in V, stored and analyzed for clashes in U, viewed by clients in T, etc. Each of these exchanging information without loss of data, each from any vendor whatsoever and closed or open source based on personal preference. Indeed, I also expect pigs to fly anytime soon now ;).

Together with other prominent open source software packages, such as the Building Information Modelserver (BIMserver.org) which is based on IFC, IFC might become a crucial link in obtaining these high levels of interoperability.

There already exist some free and open source solutions for dealing with IFC. The guy at cad-3d.blogspot.com recently did a nice short overview of them. Where does your project fit in and what would you like it to evolve into?

As an architect I felt that full support for the geometry in IFC is most important to function as a basis for this ’ecosystem’ (see my previous point), because, after all, architects like shapes, and in the AEC industry we build physical things. To me it seemed, the most sensible thing for an IFC library was to build upon Open CASCADE — a software development platform for surface and solid modeling. Because Open CASCADE already has support for STEP, the parent standard of IFC, implementation of most of the geometrical operations in IFC is a piece of cake.

In the end, it may not have been brightest idea to implement the file parsing routines from scratch, but I hope to provide support transparently for all IFC file formats (the most common IFC format is based on STEP, but there also exists one based on XML). None of the current open source C++ IFC libraries seemed to support both. Ironically, neither does IfcOpenShell right now.

I hope for IfcOpenShell to evolve into a full-featured library for reading and writing IFC files with an emphasis on geometry and meta-data attributes like material properties.

Judging by SVN log, the project is currently a one-man band, hence your community plea, I guess :) Do you have a roadmap, something for potential contributors to look at and decide how they could best apply their skills?

That’s true. Nevertheless, I feel strengthened by the support of the osBIM initiative (open source Building Information Modeling), which is about to launch more officially in October, and some nice folks at the Technical University in Eindhoven. A clear roadmap is lacking at the moment; I wouldn’t want to be deemed the dictator of my one-man band ;). In fact, one of the reasons for my plea for collaboration was for others to come and brainstorm about what role they’d see for an open source IFC implementation.

There are some ideas for potential contributors in the feature request and bug tracker over at sourceforge, but contributors are just as welcome to ignore those and come up with their own ideas or to use IfcOpenShell as a library in their own open or closed source software.

Blender and free renderers like LuxRender and YafaRay are becoming pretty common tools for commercial-grade architecture visualization. As an architect, where do you see them having advance over proprietary tools?

There are numerous, for starters I like the honesty with which they communicate the possibilities and limitations of their software. From my experience the amount of bugs and crashes is about the same in FOSS as it is in proprietary software, the main difference being that FOSS developers tend to communicate these known bugs and limitations in advance and provide workarounds and tips for dealing with (or fixing) them. When you run into a bug in closed source software you just hit a brick wall and from there you’re on your own. You’ll seldom find a list of known bugs inside the box of your closed source software package.

Example of generative art in arhitecture

Then there are the obvious advantages: the involvement of the academic world and the availability of bleeding edge features (see e.g. the recent developments in LuxRender) which might give you a head start as an artist working with FOSS. And the fact that as an artist you retain full control over your work, because you store it in a file format that is actually documented. Plus there is the fact that your software runs on any platform.

Lastly, as someone who is in a constant internal struggle to decide whether to be an architect or software developer, I like how open source software developers see their users as developers and encourage them to participate in the development process. Furthermore the open source aspect makes the software to behave in a open, extrovert way towards other software packages.

Do you still use proprietary tools for some of your work? If so, why?

I use products like 3ds Max and Revit sometimes. For some part it is a matter of being required to open .dwg or .rvt files by colleagues and co-workers, for another part it is simply an acknowledgment that, in the AEC software industry, open source software is not always on par with proprietary software.

Where would you like to see Blender grow to become an even more competitive design tool for architects?

In my (humble) opinion Blender should just continue to do what it does best. What it does best lies in the eye of the beholder, obviously, but I don’t see a need for any major transformations. With the GUI changes incorporated the 2.5x series, I think, Blender has removed one of the main reasons for people getting cold feet when first trying Blender. I have always liked the pre-2.5 GUI too though, but, then again, I also like working an entire day in a unix shell, perhaps that disqualifies me to have a proper opinion on a GUI. If anything, I think the real focus should be on interoperability, for example, making sure there is state of the art COLLADA support, and yes, maybe IFC support.

Do you watch progress of 2.5x and upcoming 2.6x closely? LuxRender’s GPU version? Which new features and features that are a work in progress do you find specifically exciting with regards to your work?

Not as closely as I would like. I only own a laptop with serious overheating issues and a headless hexacore server without a GPU, so see little room to try the GPU version of LuxRender. I did follow the development of the new Python API introduced in Blender 2.5 with great interest. The support for Python scripting is one of the main reason for my enduring love for Blender, probably because it does not force me do choose between being an artist and a programmer. I also read about the recent Summer of Code projects and other recent developments with great interest, but find it hard to find the time to actually try them myself.

I see that you used metaballs for one of your architecture projects to create natural, organic shapes. As far as I can tell, it isn’t a very typical solution in architecture :) I mean, they have been around since when? Early 80s? Roger Dean who did most of artwork for earlier Yes albums had a similar concept called “Home for life”, and I don’t think it ended in real architecture yet. So when I look at your project, I think “Hey, metaballs! Perfect solution!”. And that’s an interesting thing about technology: you can have solutions floating around for decades used for entirely different things, and then they just turn out to be applicable to one more thing. So, what have you seen of latest technologies and totally crazy experimental ideas that are worth giving a closer look at?

On this short notice, the only example of a somewhat recent technology I can come up with in this context is rather self-evident and non-radical. But I am curious to see what the current trends in Computer Aided Manufacturing and personal 3D printers will bring to the domain of architecture, especially when applied on the scale of an entire building. That is, not just to prefabricate and print a specific building part in a factory, but have computer controller concrete buckets driving over the building site printing a building layer by layer.

Sample from Freeform Design project

I am interested in seeing how it would provoke the discussion about how personal identity is expressed in one’s home, since there would no longer be a reason to build two identical homes. I think these are the interesting things with these new morphological concepts arising from technological discovery in general: how they make us reflect on architectural theory. The “Home for life” project seems to view a building primarily as a set of interconnected Freudian wombs that we enter to seek a feeling of safety and retreat from the environment. Where others might depict architecture as a device to frame the view over the environment from the inside.

Thank you for insightful replies, Thomas!