Skip to main content

IFCFilter

Element filtering nodes. All filters return lists of GlobalIds. Use Dynamo's native list operations to combine filters:

  • AND: Use List.SetIntersection
  • OR: Use List.SetUnion
  • NOT: Use List.SetDifference

Helper Nodes

These nodes return valid values for filter parameters:

ComparisonOperators() returns: equals, not equals, greater than, less than, greater or equal, less or equal, contains, startswith, endswith, between, null, not null

RelationshipTypes() returns: Valid relationship type strings

SpatialTypes() returns: Any, Site, Building, Storey, Space

AssociationTypes() returns: Material, Classification, Document, and others

AttributeNames(ifcClassName) returns: Valid attribute names for filtering


AllElements

Returns all element GlobalIds in the model, optionally filtered to a base class.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
baseClassstringOptional: Filter to this class and subtypes (e.g., IfcWall, IfcBuildingElement). Empty returns all products.

Output:

TypeDescription
List of stringGlobalIds of matching elements

ElementsInSpatial

Returns GlobalIds of all elements contained in a spatial structure element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
spatialGlobalIdOrNamestringGlobalId or Name of the spatial element (Site, Building, Storey, Space)
includeNestedboolIf true, includes elements in nested spatial structures

Output:

TypeDescription
List of stringGlobalIds of contained elements

ElementsInGroup

Returns GlobalIds of all elements assigned to a group, system, or zone.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
groupGlobalIdOrNamestringGlobalId or Name of the group

Output:

TypeDescription
List of stringGlobalIds of elements in the group

ElementsOfTypeObject

Returns GlobalIds of all elements typed by a specific type object.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
typeGlobalIdOrNamestringGlobalId or Name of the type object

Output:

TypeDescription
List of stringGlobalIds of elements with that type

ElementsWithMaterial

Returns GlobalIds of all elements using a specific material.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
materialNamestringMaterial name to search for
matchOperatorstringHow to match: equals, contains, startswith, endswith

Output:

TypeDescription
List of stringGlobalIds of elements with that material

ElementsWithClassification

Returns GlobalIds of all elements with a specific classification.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
systemOrCodestringClassification system name or reference code to search for
criteriastringWhat to match: System, Code, or Contains

Output:

TypeDescription
List of stringGlobalIds of elements with that classification

ByAttribute

Filters elements by schema attribute value. Common attributes: GlobalId, Name, Description, Tag, ObjectType, PredefinedType, IfcClass.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
attributeNamestringAttribute name to filter by
comparisonOperatorstringComparison operator (use ComparisonOperators node to see valid options)
valueobjectValue to compare against. Use null for null or not null operators
valueToobjectSecond value for between operator

Output:

TypeDescription
List of stringFiltered list of GlobalIds

ByProperty

Filters elements by property value. Searches both instance properties and type properties.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
propertyNamestringProperty path: PropertyName (any PSet) or PsetName.PropertyName (specific PSet)
comparisonOperatorstringComparison operator
valueobjectValue to compare against
valueTodoubleSecond value for between operator (only required when using between)
tolerancedoubleTolerance for numeric equals comparison. Default 0.001

Output:

TypeDescription
List of stringFiltered list of GlobalIds

ByPropertySet

Filters elements by property set existence.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
psetNamestringProperty set name to check
existsOperatorstringexists or notexists

Output:

TypeDescription
List of stringFiltered list of GlobalIds

ByQuantity

Filters elements by quantity value.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
quantityNamestringQuantity path: QuantityName (any QSet) or QsetName.QuantityName (specific QSet)
comparisonOperatorstringComparison operator: equals, not equals, greater than, less than, greater or equal, less or equal, between
valuedoubleValue to compare against
valueTodoubleSecond value for between operator
tolerancedoubleTolerance for equals comparison. Default 0.001

Output:

TypeDescription
List of stringFiltered list of GlobalIds

ByAssociation

Filters elements by association (material, classification, document, etc.).

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
associationTypestringAssociation type (use AssociationTypes node to see valid options)
existsOperatorstringexists or notexists
matchValuestringOptional value to match (e.g., material name, classification code)
matchOperatorstringHow to match the value: equals, contains, etc.

Output:

TypeDescription
List of stringFiltered list of GlobalIds

ByRelationship

Filters elements by relationship type.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
relationshipTypestringRelationship type (use RelationshipTypes node to see valid options)
existsOperatorstringexists or notexists
targetGlobalIdstringOptional GlobalId of target element for specific relationship checks

Output:

TypeDescription
List of stringFiltered list of GlobalIds

BySpatialContainment

Filters elements by spatial containment.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
spatialTypestringSpatial type filter: Any, Site, Building, Storey, Space
spatialGlobalIdOrNamestringOptional GlobalId or Name of specific spatial element
nameOperatorstringHow to match the name: equals, contains, etc.

Output:

TypeDescription
List of stringFiltered list of GlobalIds

BySourceModel

Filters elements by their source model file name.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
sourceModelNamestringSource model name to match
matchOperatorstringHow to match: equals, contains, startswith, endswith

Output:

TypeDescription
List of stringFiltered list of GlobalIds

ByTypeObject

Filters elements by type object assignment.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdsList of stringList of GlobalIds to filter
existsOperatorstringexists (has type object) or notexists (no type object)
matchValuestringOptional type name or class to match
matchOperatorstringHow to match: equals, contains, etc.

Output:

TypeDescription
List of stringFiltered list of GlobalIds