One main advantage of BIM is that you have all your data in one place (or in interconnected for places). While properties are important to collect the important data of your elements there are times when more complex documentation is needed. Then external documents should be linked to your objects.
Once again a short look at how other BIM programs deal with this. And mostly they just use element properties with a url/link datatype.
Why is this a bad solution? There are a few reasons some of which are as follows:
• During designing, construction and maintenance, the external documents reside in different common data environments. When you need to update the links you have to know all of your relevant parameters, or have to filter all parameters for URL type.
• You cannot assign metadata to the documents. If it’s not in the property name or the URL string then you can only find our if you open the URL. IMHO very tedious.
• It’s a normal many to many relationship: many elements can reference one document, and many documents can be reference by one element. The property / parameter concept is not made for this.
That’s the reason why the IFC schema treats external documents differently than properties. In fact they are similar to classifications. They have their own IFC class, and therefore have some distinct attributes.
There are quite many of them (17 in total), two of which are mandatory (identifier and name). All the rest – from URI, revision, validation dates, owners, confidentiality etc – are optional.
So, if you compare this logics to the way other BIM authoring software handles it you see: no problems here. You can easily filter all documents (as they are a specific class), you have rich meta data possibilities, and all the URI are at the same place.
Let me briefly elaborate on a more sophisticated way to see documents. Documents cannot only be “files”, you can also see them a parts of files. Imagine you have regular meetings with your client or contractors and you write meeting minutes. You could consider your collection of minutes as one document with many sub-documents (nowadays, those reside in databases or apps anyway). So with the IFC schema you can link a specific part / minute paragraph to your elements – either by simply providing a clear identifier (either heading like “184.108.40.206”) or by “nesting” your document information (i.e. providing parent / child information).
A bit difficult to get your head around at first. Also mainly untouched by most applications, but who knows – maybe that will change one day?