Exporter versions v3.3.2 and v.2.11.2 now allow the ability for a user to create a mapping from Revit parameter to IFC common property sets. This is a work in progress, and there is no UI yet to specify the location or the name of the mapping table.
The exporter will look for a file called "ParameterMappingTable.txt" in the folder where the export DLL is located (for example, C:\Users\<username>\AppData\Roaming\Autodesk\ApplicationPlugins\ADSK-IFCExporter2013.bundle\Contents). The file is a simple tabbed file that contains three entries per line:
IFC_Common_PropertySet_Name<tab>IFC_Property_Name<tab>Revit_Property_Name
If the file exists, Revit_Property_Name will be used to populate IFC_Property_Name in IFC_Common_PropertySet_Name.
As an example, if ParameterMappingTable.txt contains:
Pset_WallCommon Combustible ontvlambaar
Then the Revit parameter "ontvlambaar" will populate the "Combustible" property, if it exists.
In addition, this is the list of Revit built-in parameters that are currently mapped to IFC common property sets. It is valid as of 25/02/2013.
Wiki: Custom parameter mapping
Wiki: Home
The Hyperlinks in the text above do not work / do not work for me.
[ Parameters used in specific property sets]
[ Parameters used in multiple property sets ]
They don't actually go anywhere ... I'll edit the page, they are just supposed to be headers.
Ok. So there are only a few Parameters wich will be mapped without using the ParameterMappingTable.txt
There are only a few built-in parameters that have been automatically mapped to IFC properties, correct. If you have suggestions for any built-in parameters that you believe should be automatically mapped, this is the correct place to suggest that, and we'll put it on our wish list to add.
I can't get this to work, and I don't find this page to help much either. A sample file would be a great start, as I find the formatting of the text file tricky, and I've got no clue whether I'm on the right track or not. Upload sample ParameterMappingTable.txt please?
I need a set up where I can create a custom Property set in IFC based on different properties in Revit. I've tried using this format:
PropertySet: (Pset Name) I(nstance)/T(ype) (element list separated by ',')
(Property Name 1) (Data type) (Revit parameter name (if different from property name))
(Property Name 2) (Data type) (Revit parameter name (if different from property name))
The definition could look something like this:
...
PropertySet: OSL I IfcElement, IfcSpace
OSL_Entreprise Text OSL_Entreprise
OSL_Fase Text OSL_Fase
I guess this doesn't work, but hope you get what I'm trying to achieve and can point me in the right direction. Thanks
Last edit: Morten M 2014-06-04
Hi Morten,
There are two separate things here. One is the simple ParameterMappingTable.txt file that allows you to remap Revit properties to IFC properties that are already defined in the export. So you can't create a new property set with that. The other is to use "Export User Defined Property Sets", which is described here: https://sourceforge.net/p/ifcexporter/wiki/Notes%20on%20support%20for%20Extended%20FMHandOverView/
It is still in version 1 so it is limited in what it can do. We look to expand it, and getting precise information about exactly what type of parameters you are looking for would be very helpful.
Note that there is a third method also. You can create a schedule in Revit called OSL, add the elements to it that you want and the fields that you want, and then "Export Schedules as Property Sets". That is a fairly powerful tool, with the only downside that you can't select which schedules to export - it is all or nothing.
Regards,
Angel
Hi, this parameter mapping method works with 2015 versions? I ask this because it seems that Revit 2015 IFC plugin don't use this folder: "C:\Users\<username>\AppData\Roaming\Autodesk\ApplicationPlugins\ADSK-IFCExporter2015.bundle\Contents".
Should I put it into "C:\Program Files (x86)\Revit IFC 2015" instead?
Regards,
It works just fine as long as you use the UI override. Go Export > IFC > Modify setup > Export property sets tab and browse for your file. It can be in any folder. See attached screenshot
Thanks Morten,
But I used this method to create Custom PropertySets but not seems to work for overriding IFC_Common_PropertySets.
For example, if I add this lines to my Custom PropertySets file:
PropertySet: Pset_DoorCommon I IfcDoor
FireExit Text Mark
I obtain an IFC with two duplicate Psets, one is the standard Pset_DoorCommon, and the another is my customized one. So it doesn't override the standard one, just add another.
Cheers!
Update:
Following this indications:
http://ikleerbim.blogspot.com.au/2014/11/a-tool-to-build-revits-ifc-mapping.html (by Teun de Vries)
I've tested that it works when ParameterMappingTable.txt is stored on the same path than Revit.IFC.Export.dll is. In this case, C:\Program Files (x86)\Revit IFC 2015.
It would be nice to have a "per-profile" method like Custom Pset has. Or allow to override common Psets by Custom ones. Anyway, I think that is better to separe common Psets mapping from Custom ones in terms of standarization. Isn't it?
Thank you all.
Hi Eloi,
There are two different files with two different purposes. As an aside, we appreciate that it is not at all friendly to use - now that the functionality is more or less there, we are looking into ways to make it a lot easier to use. Stay tuned in 2015 for improvements in this area.
That said, there are two files that control parameter export. The ParameterMappingTable.txt is intended to say where existing supported properties are supposed to come from (from, e.g., Pset_DoorCommon). The user defined parameters file (which you can name as you want) is for defining NEW property sets (like e.g. ePSet_DoorExtended or something).
Regards,
Angel
Hi,
What are the locations for the ParameterMappingTable.txt file for Revit 2015 and 2016?
Is this correct:
C:\Program Files (x86)\Revit IFC 2016
and
C:\ProgramData\Autodesk\ApplicationPlugins\IFC 2016.bundle\Contents\2016
same for 2015
Is it possible to make a setting in the export to directly appoint the correct ParameterMappingTable.txt file.
BR
Arnout
Last edit: Arnout 2016-03-20
After installing the new version of the UI AutodeskIFCForRevit2016 v16.4.0.msi
the version number is still 16.3.0.0. Is that correct or is the new version not correctly installed then??
BR
Arnout
It should say v16.4.0. Check that you don't have two versions on your machine.
Regards,
Angel
Thank you very much for the useful post.
I got my IFC export to function with my user-defined property set.... almost.
For some reason, the 'real' data values that I get in the IFC from Revit Family parameters such as opening width and height etc. are always in imperial values. For example, my door has a door width parameter with 2000mm and when exported to IFC using user-defined property sets, that parameter reads 6.5 (2m = 6.5f). My model and all families are modelled with metric units. Solibri, the IFC model viwer, is also set to metric units. Interestingly, when I have Revit to export these parameters not as user-defined property sets, but simply as Revit property sets, the values I get are in their correct unit values (i.e. a door wide parameter of 2m in Revit reads 2m wide in the Ifc.)
Would you happen to know what has happened? Where did I make a mistake? Your help will be deeply appreciated. Thank you.
Boris
Revit always uses internal units when exporting to IfcReal (it probably shouldn't. ) please use IfcLength Measure instead.
Is this post still current?
Yes, it should be, Anything in particular you are concerned about?
Hello,
Many BuiltInParameters would need to be mapped like theses pretty obvious one from Pset_AirTerminalOccurrence :
Revit : RBS_SYSTEM_CLASSIFICATION_PARAM => Ifc : AirflowType
Revit : RBS_DUCT_FLOW_PARAM => Ifc : AirFlowRate
This post is very old and it seems that it hasn't gone forward a lot. Is there some reason ? Is there something we can do ? Filing collaborativly a sheet with mappings ?
Do we have any chance to get the same thing at IFC import ? In order to get workable objects ?
Hi
I am trying til map Door Mark (instance) til Pset_DoorCommon Reference.
Is it possible or can Pset_DoorCommon only contain type parameters?