mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-21 22:41:00 +00:00
df3d07e952
Facet.filter() implementations broad-phase query with ifc_file.by_type(), then check isinstance(elements, list) to decide whether a previous facet already narrowed the candidate set. In v0.9.0, file.by_type() returns a tuple instead of a list, so that check silently failed and every facet after the first re-scanned the whole model instead of the already-narrowed (possibly empty) set. This let a prohibited Entity+Attribute applicability match instances of the wrong class, e.g. an IfcSlab satisfying an "IFCWALL" Entity facet's chain. Accept tuples too, matching how by_type() results are actually returned now.