IFC4.3.x-development icon indicating copy to clipboard operation
IFC4.3.x-development copied to clipboard

Inconsistency in cardinality of property sets vs material properties

Open Moult opened this issue 3 years ago • 1 comments

This situation is valid for IfcPropertySet:

IfcWallX, IfcSlabX <- IfcRelDefinesByProperties -> IfcPropertySetX

I.e. a single property set may be shared by multiple entities.

Material properties cannot be shared.

IfcMaterial -> IfcMaterialProperties

I suspect that this is more of an "IFC5" issue, but it would be really nice to make this cardinality consistent. Right now it adds an edge case whenever anybody wants to write code that manipulates properties.

Moult avatar Mar 20 '22 23:03 Moult

Yes, note that the arrow points the other way.

IfcMaterial <- IfcMaterialProperties

One way to solve this is to do the same that was done with psets

https://github.com/buildingSMART/IFC4.3.x-output/blob/1793ac5b29e55962edb8fa6a146596d8c5fc6ca4/IFC.exp#L3657-L3660

TYPE IfcMaterialDefinitionSet = SET [1:?] OF IfcMaterialDefinition;
END_TYPE;

TYPE IfcMaterialDefinitionSetSelect = SELECT
	(IfcMaterialDefinition
	,IfcMaterialDefinitionSet);
END_TYPE;

ENTITY IfcMaterialProperties;
    Material 	 :  	IfcMaterialDefinitionSetSelect;
END_ENTITY; 

I don't think anybody would be in favour of this? So not sure why I bring this up. But if this is a really important issue than this is the way to resolve this in a spf-serialization compatible manner.

aothms avatar Mar 21 '22 08:03 aothms