buildingSMART Forums

IFC-Class to Revit-Category import mapping in Revit using IfcBuildingElementProxy ObjectType

Using IFC 2x3 and Revit’s IFC Import, I’m trying to coerce some of my IfcBuildingElementProxys into a specific Revit sub-category.

Neither of the following seem to work

  • Populating the ‘ObjectType’ of the IfcBuildingElementProxy with a custom value specified in the mapping file’s “Ifc Type” column
  • Setting a IfcPropertySingleValue on the IfcBuildingElementProxy to a custom value then specifying that same value in square brackets in the mapping file’s “IFC Type”

I notice that in IFC 2x3 there is no “PredefinedType” attribute for IfcBuildingElementProxy to set to “USERDEFINED”
I see that the IfcBuildingElementProxyType has a PredefinedType and an ‘ElementType’. Is that worth trying? I’m not sure if I’m even close.

Has anyone here selectively coerced IfcBuildingElementProxys or IfcBuildingElementProxyTypes into Revit Categories? If so, what is the trick?

The “type” column corresponds to the enum associated with the class, not the “ObjectType” (which could be anything). The IfcBuildingElementProxyType PredefinedType should work - please try that and report back if it doesn’t.

Thanks Angel,

So if it pulls from the IfcBuildingelementProxyType PredefinedType, my only options are USERDEFINED and NOTDEFINED. As far as you know, is there no way to distinguish different user defined types beyond that? I’ll try to get it working at least that far.

On a similar note, do you happen to know what the square brackets signify in the standard IFC Import Options template? I’ll include a screen shot.

In my test, I was able to make ALL IfcBuildingElementProxys come in as a certain Revit category by changing the mapping for IfcBuildingElementProxy, but I was never able to get the mapping for the IfcBuildingElementProxyType to kick-in. Since all instances of an IfcBuildingElementProxyType are also IfcBuildingElementProxys, they just pulled their Revit category from the IfcBuildingElementProxy mapping instead.

Even when I completely removed the entire IfcBuildingElementProxy line in the mapping file, the IfcBuildingElementProxys game in as “General Model”, still ignoring the mapping for IfcBuildingBuildingElementProxyType.

If you can think of something else I should try, please let me know. IFC attached.

Test.ifc (5.1 KB)