Non-Compliance Check

edited December 2024 in General

Hi
I am writing this post to share my biggest achievement so far in IfcOpenShell. Since my scripting skills are very basic, I must admit that used chatGPT to help me out with many things.
During my work as a BIM Coordinator, I was always getting annoyed with too much unnecessary information in IFC, which was making the documentation messy and bloating the file size. I am talking here about those unwanted Pset and Properties that get exported by different software, where the user either is not aware, or simply ignores this.
IDS is a good start to check compliance. But the IDS checks only the required information, and it cannot check everything else outside the requirement definition. So, in order to step into the "dark side" the python script checks the IFC against the IDS and reports everything that has not been defined in the IDS. All you need is the IDS and an IFC.
I have attached the python script in this post.
I would like to hear your thoughts about it...

MassimosteverugiJohn

Comments

  • so far no reactions, no feedback?
    are you having trouble of opening the TXT file? I sadly could not paste it as a code into this message.

  • Hi @agron i think the script you have done is very useful but unfortunatly i haven't used used it yet...thanks for sharing!

    agron
  • I think you are aiming the evil target. Usually I do find the "extra" information usable as the alternative source of information of the element.
    Reducing the vertex count will improve the file size. Using the IFCZIP will make the storage space happy.

  • I think @agron has a point with this cleanup. I understand your reasoning @ejs, that "extra" information can be used as a fallback - but I does introduce a level of uncertainty, if similar information is provided as "required" and "extra" information - the values can be different - and the "extra"-information is often not verified. This is a no-go for me, as it defeats the concept of a relieable "single source of truth". Better to keep the model clean and just deliver (and accept) what is asked for.

    JanF
  • I use the concept of "single source of information" rather than "single source of reliable information". I'm dealing with number of engineers, BIM coordinators and contractors, and the quality of the BIM information is ... a variable. On the other hand, I can only assure the information is provided, but I can't check the quality and reliability of the information provided. Therefore, for me it's better to have more information in the model and know the parties responsible than to trim the extra information and wish it is reliable.

  • I understand your point @ejs. Personally, I think it would be wise to instruct the appointed parties to deliver the requested information, rather than looking in some unknown repositories. I used to do that, and I had many problems, since the information was not available for all entities. So I got to a point where as a BIM Coordinator, I request Properties or even Quantities and should be delivered appropriately.
    Lately, I have been receiving IFCs where the same Property was available in several PropertySets. The user does not have the full control of what the software does in the background, and there is a lack of control of these models. Therefore, I prefer my own tool, where I can simply communicate if an IFC is well-structured or not.

  • I opened a repository in GitHub to make the document more easily accessible
    Non-Compliance_Check

    MassimosteverugiDavidE
Sign In or Register to comment.