When linking an IFC in Revit, a text file with the shared parameters is automatically created in the same folder. This text file (*ifc.sharedparameters.txt) can be used to insert the same properties into the main project in order to evaluate the information from the IFC link, e.g. in the component list or to use it in filters.
So far, so good.
However, as soon as several IFC files are linked, the following problem arises: A separate text file with its own shared parameters is created for each IFC file - which of course also have their own GUIDs.
Revit only evaluates the GUID and not the name. This means that the same property would have to be added separately for each IFC from the associated text file as a shared parameter. This ultimately leads to several parameters with the same name being present in the same project, which is of course not ideal and also complicates all evaluations.
However, there is a much more elegant way - because in Revit we have the option of defining our own IFC template and already entering important properties here.
If no template is selected here, the template that is defined as the first project template under Revit > Options is automatically used. In any case, it is recommended to create your own IFC template that is not overloaded with unnecessary families, layers and styles. The easiest way to achieve this is to create a new project template without a template file:
In this project template, the IFC parameters relevant to the project can now be defined as separate shared parameters - one of the automatically created text files can be used for this, but it is better to create a new parameter with exactly the same spelling in the separate shared parameters (this also generates a new GUID, which is fine - it is more important to be able to find this parameter again later).
This project template should be saved with the extension .rte and stored as the template under Open > IFC options. This template is used both when opening and referencing IFC files.
All properties defined in the template in this way are not created again in *ifc.sharedparameters.txt when referencing an IFC, but are automatically mapped to the existing parameter.
The same parameter from the project template must now also be inserted once in the main project - after this, all filters, component lists etc. will automatically be able to evaluate all referenced IFCs.
Practical, isn't it?
But I am also looking forward to your feedback, questions or other best practices!
Hello Lejla
Is it possible that this is not working with the "standard" Ifc parameters like IfcMaterial etc..
Or am I doing something wrong.
Greetings Dani
Hi Dani,
no, it should work for everyone - but you really have to add the parameter name as it is usually displayed in Revit after linking the IFC, this is usually Parametername(Pset_Name), see also my first screenshot. I have now added a note in the article. Does that solve your problem? If not, please let me know again 😉
Have a nice weekend,
Lejla
Hi Daniel, there actually seem to be problems with standard parameters without Pset. I have passed this on to development and will post an update as soon as I have a solution!
Hello Lejla,
Have you been able to find out anything about "IfcMaterial"? The parameter is mapped correctly by SolibriAnywhere but unfortunately not in Revit 2019.1.6 with the latest IFC Im/Exporter and method as described above.
Greetings Jakob
Hello Jakob,
the IfcMaterial topic is still on the roadmap and will hopefully be implemented in the next versions. You can also find more information here: https://trello.com/c/yRJcgVDd
Best regards,
Lejla
Hello Lejla,
I think I did what is written step by step, but I fail. I created a new Revit Template file, created Shared Parameter file . I created the shared parameters with the same name as the parameters that came with the ifc file I exported from Rhino. I added these shared parameters to the template file as a project parameter. I saved this template file and added the path of this file to Open - IFC Settings. Now it opens a shared parameter file for every ifc file I add (*ifc.sharedparameters.txt). I can't understand where I went wrong. Can you help please.
So you save the GGP from the *ifc.shareparameters.txt in the IFC template.rte as project parameters? The IFC standard parameters from the official PropertySets should always have the same name, right? Does it make sense to create all available properties of the PropertySets with the Revit notation property[Pset_XXXXXX] in the IFC template.rte and to keep these parameters available as a GGP text file if you want to use them in the main Revit project in the filter or a component list?
If my assumption is correct, it would be good if there is already such an official IFC template.rte from Autodesk =)
Hi Lejla,
this does not seem to work with the standard parameters (e.g. IfcName).
Is there any new information on this? For which Revit versions does your description work? Unfortunately it does not work with Revit 2022 and the current IFC module.
I created a new template without a template and then assigned the shared parameter.
VG
S.Lenz
Hello Lejla,
We are still using RVT22 and are increasingly having problems with the IfcOpeningElements.
Sometimes you can hide certain IfcOpeningElement components in the activeARC model via the newly created subcategory "IfcOpeningElement" under the model category "All model", but sometimes other IfcOpeningElement components remain active in the model that seem to be identically parameterized and categorized and you cannot control them in any other way than to select and delete them all via an additional component list, which is not a sensible activity with weekly data exchange!
Is your workflow also applicable to our problem and if so, how?
Maybe we should have some support.
Greetings Sascha
Hello Lejla
Thank you for sharing this helpful workflow. It all seems to work, only in the case that you have to add new shared parameters in an already existing setup in the Revit template file (because new ones have been added to the IFC) it doesn't work for me. The new shared parameters correspond by name to the new parameters from the IFC, but filters/tags do not work with these parameters. Is it possible that this cannot be set up "retrospectively", but that the Revit template file must already have all shared parameters BEFORE the IFC is linked?
I would be very grateful for an answer!
Thank you and best regards
Nils