Skip to content

IDS: attribute facet used as applicability selects nothing #829

Open

Description

@helenkwok

Summary

IDSAttribute.getEntities() is an empty function (the previous implementation is commented out), so an attribute facet in a specification's applicability selects no items. As a requirement it works.

On main (8479a7c), with tests/fixtures/type-psets.ifc: an attribute facet Name (any value) as applicability selects 0 of the 6 walls, all of which have a Name; an entity facet IFCWALL selects all 6. With applicability facets combined as a union (today) the attribute facet adds nothing; with them intersected as IDS requires (#813 / #814), a specification that uses one selects nothing at all and reads as "not applicable".

Proposal

Implement getEntities by scanning the models' items for the attribute (by name or name pattern), then filtering by value with the same restriction logic the requirement side already uses. To keep it affordable on large models, it could narrow by the other applicability facets first when there are any, and otherwise use the categories that can carry the attribute.

Happy to implement this if the approach works for you, or to follow a different one you'd prefer.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions