Tuesday, August 23, 2011

IfcOpenShell needs your help!

Building Information Modeling is about collaboration, Open Source Software is about collaboration. This makes IfcOpenShell, being open source BIM software, about collaboration2 (I'm no math genius though, there might be an error somewhere in this equation). Therefore IfcOpenShell needs your help, this blog post is about what can you do to help improve IfcOpenShell, the open source IFC implementation.

Write code
The issue tracker is running over with interesting things to develop, but feel free to come up with and implement your own ideas. There's stuff for everyone, whether you are a python hacker or a C++ hacker. Contributions can be submitted as Pull Requests on our github page.

Create IFC files
Preferably these are isolated test cases of things that either work or do not work in IfcOpenShell. If they do not work, please be so kind to upload them to the issue tracker and state what you'd expect to see and what you witnessed instead.

Add feature requests and submit bugs
Feature requests are to be posted in the issue tracker as well, handle with care though, as the most interesting ones might take some time to be implemented due to understaffing.

Write documentation
Like every other open source project our wiki is rather empty. Let me know if you want to do something about it.

Build binaries
IfcOpenShell can be used on a lot of different platforms and operating systems, but currently builds are not frequently released on the website. With your help we can provide up to date binaries on our website for your favorite operating system.

Discuss
Come join us at the newly opened developers forum, where features, bugs and everything related to IFC and the building and construction industry in general can be discussed.

Provide a financial incentive
This last one is rather tricky, but of course, might you feel like it, there is the possibility to make a donation in order to urge us to develop faster, better and nicer features. But honestly, a small donation of your time to do one of the above would be appreciated even more.

23 comments:

Hi my name is Rafael. I am architect. Congratulation for this project. I think that is very interesting. I have posted about this project on my blog and read your interview in LGW. I am going to download your addon for Blender and will test it. I want to involve in your project, as well. I don't know to write code but I can help with the wiki. ;) My blog: bitacoravirtual.cl

You are very right. A new release of IfcOpenShell and IfcBlender is way over due. Blender by now is many versions ahead and because they moved to Python 3.4, the addon is no longer compatible. But in addition, IfcOpenShell has many improvements to its code base, which users, who do not compile themselves, currently do not benefit from. A new release is very high on my list.

By the way, I have a question. I'm an AutoCAD AutoLISP programmer (yeah, sweet 1970's) an I was succed to convert autocad polyline to IFC Ceiling, that opens with your converter and Solibri. That was pretty awesome, because Solibri provides calculations on objects from IFC files =)

How do you think, is it theoretically possible to write basic IFC objects (simple walls, ceilings, doors and windows) from Blender 3D for purposes like this?

My opinion is that writing IFC files from Blender would only be feasible in very specific scenarios, like the one you describe. Which in itself is very cool, one can never have too many parenthesis! But a lot of information that is necessary to constitute a valid and meaningful IFC file simply has no place in a geometrical mesh-based application such as Blender. Apart from all the attributes, also consider the material layer set of a wall for example. Also, the hierarchical nature of IFC [to have a Project > Site > Building > Storey and Windows parented to Openings parented to Walls] would impose a high burden on the modeller, but is necessary for BIM authoring tools like Revit to make sense of the exported file.

Have you tried importing your meshes into FreeCAD and export IFC from there?

Yeah, indeed, Revit rejected my IFC because of abscense of project information =)However, Revit is not my goal, because it's modeling is imperative as Sketchup (you know, everyhing should be done to be done. manually). AutoCAD and B3D are much more functional, so they give me ability to perform nasty deadlines, that Revit will never get, I guess.It is impossible even to make and count our building facades in Revit, despite the fact that they are pretty simple, but there are a lot of cuts, and a lot of them. Meanwhile, B3D gives me ability to do this work for 5-6 buildings in a week from scratch, including materials count. Business produces cruel deadlines =)

Well, I understood importance of structural cleanliness for IFC files when I was parsing some of them, and I understand all troubles, that may cause attempts to get pure project from B3D, but, fortunately, Revit project is not my goal =)I think about modeling of complex, maybe organic, but single objects, elements for Revit import, or fast linear buildings scratches for dirty calculations in Solibri.Everything I found till I got here about IFC development was mostly Java parsers, so I appreciate your work so much.Honestly, I installed FreeCAD a couple of months and didn't know about it's ability to write IFC... I will check it up =)

I definitely see your point, some applications do tend to impose their own way of working onto the user.

In the earlier days, IFC has obtained a bit of a bad name simply because some implementations (I will not name names of course) were not as conforming as they could have been, resulting in limited interoperability and frustrated users. I would be reluctant to introduce this situation again.

At the same time I do understand the need for more lightweight IFC workflows, both in terms of writing as well as reading and analysis. I would also advise to also take part in the discussions on the FreeCAD forum and see whether where that is heading suits your need: http://forum.freecadweb.org/viewtopic.php?f=23&t=7222 I have understood the upcoming FreeCAD 0.15 release will feature many improvements in IFC importing and exporting. You might want to try a development snapshot of that version.

I am a Bachelor on Architecture and currently enrolled on a MSc Computer Science Engineering program.My research group has an homemade middleware of VR which interfaces with Blender. Currently we're developing tools for the AEC context for real-time visualization and we're focusing on BIM info.I have been a developer for this middleware for some time now and I'd like to know how I could help with this.

Thanks for your message. Quite a lot has changed since this blog post, but help and contributions are still very welcome. How you can help depends mostly on what you would like to do. For example, there is a qtviewer project [1] that has been abandoned, even before something was really delivered, feel free to take ownership of that, as maybe that's closely related to your previous experiences. But if you have other ideas, feel free to pitch in!

Currently IfcOpenShell is not able to export IFC from Blender. The question is whether it would be meaningful, as a lot of necessary semantics for a valid IFC file would be missing. For further reference, also check the discussion above.

Definitely. This article is more about creating them in the first place: http://academy.ifcopenshell.org/creating-a-simple-wall-with-property-set-and-quantity-information/ but maybe it provides a starting point. Help on the documentation is always welcome. If you have more questions, maybe the project page on github is more suitable as it is more related to the code: https://github.com/IfcOpenShell/IfcOpenShell/issues

Hi, unfortunately we don't have the resources to keep releasing builds for 3ds max. Their SDKs are not freely available. Luckily, the conversion for IFC to Collada using IfcConvert [1] provides the same or better results and allows much more configuration options. Importing Collada (DAE) into 3ds max seems to work seemlessly as well. In case you favour a graphical user interface over a command line executable there is a user-contributed graphical front-end for IfcConvert available here [2]. Hope that helps, kind regards, Thomas