BIMserver icon indicating copy to clipboard operation
BIMserver copied to clipboard

IfcPropertySetDefinitionSet (IFC4)

Open hlg opened this issue 5 years ago • 3 comments

IfcPropertySetDefinitionSet is a new defined type in IFC4. It is part of a select type that allows either a set of property sets or a single property set (IfcPropertySetDefinition) to be referred from IfcRelDefinesByProperties . Instead of just changing the cardinality of IfcRelDefinesByProperties.RelatingPropertyDefinition to S[1:?] this select type was apparently introduced assuming that it would help with forward compatibility.

BIMserver seems not to support this type and fails with "IFCPROPERTYSETDEFINITIONSET is not an existing IFC entity". Here is a sample file: ifcpropertysetdefinitionset.ifc.txt. Is this a known issue?

hlg avatar Feb 14 '20 12:02 hlg

A similar issue, a defined type resolving to a list, is mentioned as wont-fix-issue in the wiki (for IfcCompoundPlaneAngleMeasure). But I believe this is actually solved, isn't it?

hlg avatar Feb 24 '20 20:02 hlg

Interesting find. The IfcPropertySetDefinitionSet class is not even generated by EMF. So I am pretty sure this is missing from the BuildingSMARTLibrary [1]. I suspect it simply never happened before that a type is defined as a set of entities (or maybe not even that a type is defined as an entity). I have to say I find this a rather strange construct, but surely it should be supported by BIMserver.

Leaving this issue open, I currently don't have time to look into it.

As for the IfcCompoundPlaneAngleMeasure, I don't think that has been fixed either. If you look at the IfcCompoundPlaneAngleMeasure.java code [2] (or the IFC4 version), it only has a single long value where it should have a list here as well.

[1] https://github.com/opensourceBIM/BuildingSMARTLibrary [2] https://github.com/opensourceBIM/BIMserver/blob/master/PluginBase/generated/org/bimserver/models/ifc2x3tc1/IfcCompoundPlaneAngleMeasure.java

rubendel avatar Mar 12 '20 08:03 rubendel

Ah, I see. I had just checked the refLatitude and refLongitute attributes in IfcSite for some projects, because that is a prominent place where IfcCompoundPlaneAngleMeasure is used. That's why I thought it was fixed, but now I see that these attributes are directly represented as EList<Long>. The other usage is in a large value select mainly for property sets, where it will certainly not work then.

hlg avatar Mar 12 '20 12:03 hlg