Open Moult opened 2 years ago
We don't duplicate it on purpose (in fact, I don't think we ever do it, which is why I'm curious). Do you always see this or in specific circumstances? Do you have a small sample?
It's a recent change where type properties are not duplicated on instances isn't it? My understanding is that this duplication has been the behaviour for some time. This relates to my recent report, as there is no relating type to an IfcSystem, that some revit system type parameters are no longer exported to IFC.
Well, the "correct" behavior is supposed to be:
The sample file I provided in #493 has a beam where the Pset_BeamCommon IsExternal is repeated on the type and the occurrence, both with the same value of "False". Also, the IfcCovering repeats the Pset_CoveringCommon ThermalTransmittance value on the type and occurrence. There are probably more, I just randomly clicked a couple of elements and those where what I found.
Ah, that's different. Those are Pset_ property sets. I'm confused about what the behavior should be. Doesn't psetbeamcommon apply to both instance and type? Wouldn't it therefore be potentially repeated? Are you saying that pset should only apply to the beam or the type?
Beam instance or type, sorry, typing on phone.
If the property is inherited from the type, there is no need to define it twice.
OK, that is an interesting case. IsExternal in Revit is a calculated parameter, in the case that if it isn't supplied, in some cases it will be determined. But I think what we can do is that calculated parameters shouldn't ask the type for information; if both the instance and type are being exported, and we have a calculated parameter, then it should only be calculated for the instance and type if they have different values (e.g., a wall type is external but an individual wall that uses that type is internal). So I would say that this is applicable to a specific subset of Pset_*Common parameters. I'll file an issue.
I've noticed during exports that when a property exists on a type, I can also see it on the occurrence despite the value being identical. This seems to be invalid: IFC specifies that properties shall be inherited from the type so there is no need to repeat them.