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

IfcMaterialProfileSetUsageTapering cannot work with a type and an occurrence

Open Moult opened this issue 3 years ago • 0 comments

The way profiles (and layer) sets work is that assuming you have:

IfcElementType <- IfcRelAssociatesMaterial -> IfcMaterialProfileSetX -> IfcMaterialProfile(s)

Then all occurrences of that type share that profile set. For example:

IfcElement <- IfcRelDefinesByType -> IfcElementType

And then

IfcElement <- IfcRelAssociatesMaterial -> IfcMaterialProfileSetUsage -> IfcMaterialProfileSetX

I labeled it IfcMaterialProfileSetX to emphasize how the profile set is shared between the IfcElementType and the IfcElement occurrence.

Great. So now let's try the same exercise with a IfcMaterialProfileSetUsageTapering.

IfcElement <- IfcRelAssociatesMaterial -> IfcMaterialProfileSetUsageTapering -> IfcMaterialProfileSetX

What happens with IfcMaterialProfileSetUsageTapering.ForProfileEndSet? How is it defined on the type?

Option 1. Deprecate IfcMaterialProfileSetUsageTapering. If someone wants a fancy shaped profile, the profile set usage isn't the way to go.

Option 2. Fix it? One option might be to introduce IfcMaterialProfileSetTapering?

Moult avatar Mar 06 '22 10:03 Moult