recognising model revisions

I have a question regarding recognising model revisions.
When multiple model files are added to our viewer it would be very useful to know which model files are actually revisions of the same file. Aside from scanning for duplicate object-guids. Is there a faster/cleaner way to find such flies?

Does IFC prescribes anything that could be used for this?
From what I see from random selected models is that header info is not very reliable, neither is IfcProject(GUID).
e.g. Project UUID not unique

UUIDs should be reliable. If it isn’t, it is a bug of the vendor at should be reported back to them.

Scanning the Project UUIDs is not enough - since multiple files from the same discipline or multiple discipline can validly refer to the same UUID.

Model header is not reliable, partly due to lack of standardisation by buildingSMART (issues with IFC-SPF headers have been reported in the past in these forums), but also because some formats simply don’t have headers. E.g. IFCJSON.

I think we should progress past this “my model is atomically contained in a file” paradigm in the future. The IFC dataset should be seen as a central code repository or database, by which authoring apps can extract and manipulate subsets of the data through partial data exchange, which may be file based, or non-file based.

Until we get there, and when most of us are still working with individual files that duplicate the same project 5 times - I’d just check for the same filename to know if it’s a revision of a previous upload.

1 Like

I agree with your remarks! However even the filename seems unreliable if I look in practise. Often there is a date appended to the filename to give it some sort of versioning.

I suppose we need to regex some parts of the filename, excluding numbers to find similar names. Not ideal, but its the best we can do :slight_smile:
Thx for thinking along!