IFClite TypeScript API
    Preparing search index...

    Function mergeInheritedPropertySets

    • Compose an occurrence's own property sets with those it inherits from its IfcTypeProduct, the way IFC defines the inheritance: per property, not per property set.

      An occurrence and its type routinely both carry a set of the same name — Pset_CoveringCommon holding IsExternal/Reference on the occurrence and SurfaceSpreadOfFlame/Combustible on the type is a plain Revit export. Dropping the whole inherited set on a name collision makes every type-only property in it invisible, which is what made IDS report a present property as missing (#1913). Where both define the same property name, the occurrence wins — it is the more specific definition.

      An occurrence may carry several sets of one name (one per IfcRelDefinesByProperties; nothing dedupes them, and merged/federated exports produce them). Inherited properties are merged into every one of them, not just the first: IDS requires every set matching the facet's propertySet constraint to satisfy it, so augmenting one and leaving its twin bare would reintroduce the same false "not found" this rule exists to prevent.

      Neither input is mutated: a set that gains inherited properties is returned as a new object, so cached extractor results stay intact.

      Type Parameters

      • T extends NamedPropertySet

      Parameters

      • ownSets: readonly T[]
      • inheritedSets: readonly T[]

      Returns T[]