ENH: Linked files export to one IFC
Enhancement Description
Hello there,
is there a possibility to improve options of exporting Linked Revit files into one file?
Right now if user select one of "merging options":
- Export in same IFCProject
- Export in same IFCSite
...it exports the same Project/Site, but it generates new GUID for IfcSite (in case IfcProject "merge" was selected) and the same applies for IfcBuilding/IfcBuildingStorey and even for Built Elements in both scenarios.
Same IfcProject
Same IfcSite
As you can see in attached screens both files have same Project Information parameter values in Revit files: IfcProject GUID IfcSite GUID IfcBuilding GUID
... yet it is not kept in that option
As an extra you can see that if one of "Merging options" is selected then even GUID of Wall in linked file (2wQW2ntCr23RvBvLXzel96) is changed in export.
Only when separate files are exported (either from source file or individually) then the correct value is kept in IfcProject/Site/Building/Level/Element/...
Is that possible to keep GUIDs of original file when trying to merge Links into one IFC export?
Revit Version
2026.0.x
IFC for Revit Addon Version
26.1.0
Windows Version
11 24H2
So currently, when federating IFC exports, we guarantee that the GUIDs are consistent and unique by (effectively) hashing the GUID of the Revit Link instance and the element inside of it. That allows for getting consistent GUIDs when you are exporting the the same linked RVT file in separate locations.
So it seems like you may want the option to create consistent GUIDs in the case, or to use the original GUIDs in the linked file. I can think of a few solutions:
- Use the IFC GUID for the "first" copy, and then do the hashing for the rest.
- Checkbox that switches between current behavior and the above behavior. Other options?
Also see #825
@andydandy74 Thanks, I was briefly looking for a similar topic but missed that.
@AngelVelezSosa Thanks for the reply. I understand your point, but from a user experience perspective, this might seem confusing.
Consider a source file A with a wall, for example:
- In this file, you have a Wall created with all parameters set, and a GUID is assigned to that element.
- When you export the IFC from File A, you have an Element in the IFC with its specific GUID.
Now consider file B, where you link file A:
- You want to export one IFC as a combination of these two files, A and B.
- You preview the linked Wall and see that it has the same GUID written in its properties as the original file.
- However, when you export it as a merged IFC file, the Wall's GUID is completely changed. You cannot find any reference to that original wall anymore; even searching via the new GUID fails because there is no value like that in any parameter or element in Revit at that moment.
Furthermore, there might be file C, where you link file A:
- Yet, after export, the very same Element has another GUID assigned.
You end up with three IFC files with what is ostensibly the same element, but it is actually a completely "different" element.
While I understand that for some reasons this might be logical behavior, from a user experience perspective and for effective work with IFC files, it simply does not make sense.
Proposal for IFC exporter settings for Linked Files would be to offer just three options:
- Do not export
- Export as separate IFCs
- Export as one IFC
Options to exporting within the same IfcProject/IfcSite is not necessary, as you can control this in individual files through the Project Information parameters "IfcSite GUID" / "IfcProjectGUID" / "IfcBuildingGUID"—and later, hopefully, by "IfcFacilityGUID" to cover other facilities too.
This approach would maintain clarity in GUIDs, and users would understand what is happening when they work with elements. Furthermore, BCF and other collaboration workflows would benefit from consistent element GUIDs. If there is a problem with duplicate GUIDs, it can be easily addressed and the GUID adapted in one of the source files. Users can also easily combine other classes like BuildingStoreys, SpatialElements, etc., from different files into one in their viewers. Considering multiple links in one export I believe if somebody copies whole part of building multiple times he does not want it to be in one IFC in the end.
If there is a need to retain the original behavior of "new GUID regeneration," a checkbox could be provided, such as "Generate unique GUID for linked elements," although I am unsure if that would be frequently used, except for the last example of multiple copies of the same link into one file.
@MisunMartin Perfect reasoning, I agree 100%. For BCF-based workflows, the current implementation is completely impractical.