Hello everyone - I made a simple program for understanding the relationships between IFC entities

Edward Fernandez

Hi, my name is Edward. While I have very little experience in construction and BIM overall, I started working in a CAD software company that specializes in steel structures last year. Forgive my lack of knowledge of industry terms and the like as there is no formal training here but there is a good amount of freedom for personal study.

Last year, I was studying IFC2x3 and 4, and quickly becoming daunted with the sheer amount of references that just one IFC entity can lead to, I decided to make a simple program for exploring those references.

It's called IFC Browser and I have hosted it on GitHub. https://github.com/Strike-F8/IFC-Browser

I wonder if it could use a more descriptive name.

This is not a typical IFC viewer that presents an “object first” approach as you could maybe call it. Instead, it is “IFC entity first". It presents a verbatim list of the contents of the IFC file and shows forward and reverse references of an entity when the user clicks on it. The left and right columns in the program are presented as expandable tree views so the user can keep moving forward or backward through the references.

For the technically inclined, it is a python app using Qt for the frontend and ifcopenshell for the backend. Because I am working for a Japanese company, the application includes a toggle for English and Japanese.

Larger IFC files take longer to process but I did spend quite a lot of time making sure it can scale so it should remain snappy even with huge numbers of entities.

Of course, there are issues I would like to address once I get back into IFC and have a better understanding of the industry. One of them would be phases. There seem to be a significant number of ways to represent phases in IFC and this application doesn't support most of them. To be honest, I wish IFC wasn't so open-ended sometimes, but that could be one of its strengths.

In any case, this introduction has gone long enough. I would appreciate it if those of you who are interested could take a look and give feedback. Maybe it could help someone who is studying IFC. It sure beats searching around in notepad!

Comments

1 comment

  • Comment author
    Sakari Lehtinen

    Hello Edward!

    Thank you for joining the Simplebim Community! Great that you have taken an interest in IFC and open BIM, and even taken the effort to create a tool of your own. You are in the exact right place to learn more about the possibilities of open BIM. Here, we try to maximize the practical value of the BIM data processing and exchange. Welcome!

    In our thinking, IFC is just a format for exchanging data. While the details of IFC are interesting (believe me, I spend most of my professional career exploring them), most of them are only valuable to the computer programs. The value for the construction professionals comes from the usability of the data (which we, of course, want to exchange with the IFC).

    References are a good example of this. Most of the IFC references are useless for the data users. But not all the references, or connections as we like to call them, are useless. Quite the opposite. One of the groundbreaking possibilities of BIM data processing is how you can add meaningful and value-adding connections to the models. Not just within one model, but also between objects from different disciplines. If you haven't checked the possibilities out already, please do. I'm sure you will find them interesting. Our Valentine's article gives you a lightweight overview. The Find Proximity Objects and Calculate or Aggregate Properties for Connected Objects tools dive into the deep end. The Connection Palette allows you to browse the newly created connections. The Dataflow Use Cases give you some examples to get started with these new possibilities. Welcome to the community!

    1

Please sign in to leave a comment.