PR: Can't overwrite *_Common.LoadBearing with a user defined parameter
Problem Description
... Hello. I know not all the families have the "Loadbearing" instance built in parameter. Therefore we have had to implement an office-wide ARC-Loadbearing parameter which we also prefer to use as type parameter. The problem is that when we use this parameter and export the IFC with a "supposedly" correct mapping file, the corresponding *common.LoadBearing parameter in the exported IFC does not react and takes only the value from the "Loadbearing" built in parameter.
Is there a way to overwrite it? I think the translator works because, for test purposes, I assigned the ARC_Tragwerk (loadbearing in german) to other common parameters, and it worked.
Is perhaps my syntax wrong, or is it actually impossible?
Pset_WallCommon LoadBearing ARC_Tragwerk
Pset_WallCommon Combustible ARC_Tragwerk
Pset_WallCommon IsExternal ARC_Tragwerk
Pset_WallCommon Reference ARC_Tragwerk
Thanks in advance!
Revit Version
2024.0.x
IFC for Revit Addon Version
Other / None
Windows Version
11 22H2
Hi, no answer to this yet?
I think this is because LoadBearing is a property from entity in IFC - and therefore an instance parameter in Revit. I tested your mapping and got the following result in IFC, opened with KITModelViewer:
So it seems like it is not possible (for now), to use a type parameter in Revit for LoadBearing in IFC. I'd like to see this in a future release!
Best volker.
@o-babii , can you comment here?
Not sure about why the mapping has issues (syntax looks correct) but this is achievable when using the LoadBearing[Type] parameter from the IFC shared parameters file that ships with Revit. Here's an example for a curtain panel type:
And the exported IfcPlate entity shows the property in the common pset of the entity type:
We only use this for those element categories that don't export a LoadBearing property by default, though.
@andydandy74 the configuration as type parameter for the objects that do not have a "load bearing" parameter works ok by us, but... what we would like is a coherent solution. It is not understandable and not user-friendly at all, when users must fill an instance parameter in some cases and a type parameter in others...
@b-volker where did you get this schema-definition from? AFAIK LoadBearing is part of the Pset_WallCommmon, and this is Type-Defined, isn't it? I think I am hitting the conceptual wall of the different approach to "type" between Revit and IFC. Per my knowledge, an IFC Type is a "set of parameters" but do not imply a coherent identical value among the instances of the types, but a revit type does... am I wrong?
Hi, @MIVillegas
I have created a corresponding ticket for further investigation of the overriding issue in parameter mapping (REVIT-232947).
As a possible workaround for now, you might consider exporting the custom property ARC_Tragwerk directly using a user-defined Pset file. Something like this:
PropertySet: TEST T IfcElement,IfcElementType
ARC_Tragwerk Boolean ARC_Tragwerk
Let me know if this approach works for you!
Hi @MIVillegas,
sorry - I didn't check with schema definition. In many (most?) IFC files, Pset_WallCommon seems to be from entity, not from entity type. So Revit should be able to switch from entity and from type when mapping parameters like it is when defining custom Psets.