buildingSMART / buildingSMART/IFC4.x-development

IfcMaterialProfileSetUsageTapering cannot work with a type and an occurrence

Open
#430 0 comments 0 reactions 0 assignees View on GitHub
allocated allocated-building allocated-core ifc-update-out
Dominant language
Python
Stars
234
Forks
123
Avg merge
15h 4m
Merged PRs (30d)
5

Description

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?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.