Skip to main content

IFCQuery

Element-level data retrieval nodes. All methods accept a single GlobalId. To process multiple elements, use Dynamo's lacing feature (right-click the node, then Lacing, then Longest or Cross Product).

GetElementData

Returns complete data for an IFC element including all available information.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryAll element data organized by category

Output Dictionary Contains:

  • Identity: GlobalId, Name, Description, Tag, ObjectType
  • Type: IFC class and inheritance chain
  • TypeDefinition: Type object data
  • Attributes: Schema attributes
  • Properties: All property sets
  • Quantities: All quantity sets
  • Materials: Material associations
  • Associations: Classifications, documents, etc.
  • Composition: Aggregation, nesting, openings
  • Assignments: Groups, systems, zones
  • Connectivity: Connections and ports
  • SpatialContainment: Containing space or storey

GetIdentity

Returns identity information for an element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryIdentity information

Output Contains:

  • GlobalId: Unique identifier
  • Name: Element name
  • Description: Element description
  • Tag: Element tag
  • ObjectType: Object type string
  • OwnerHistory: Creation and modification info

GetTypeInheritanceChain

Returns type and inheritance information for an element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryType and inheritance information

Output Contains:

  • IfcClass: The element IFC class name
  • InheritanceChain: List of parent classes
  • PredefinedType: The predefined type value
  • IsAbstract: Whether the class is abstract

GetAttributes

Returns all explicit attributes for an element based on the IFC schema. Includes attributes inherited from parent classes.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryAttribute names and values

GetTypeDefinition

Returns the type object definition for an element via the IsTypedBy relationship. Includes type properties, quantities, and materials.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryType object data

GetProperties

Returns all property sets for an element with their properties. For standard PSets, includes metadata about expected and missing properties.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryProperty set names as keys and property data as values

GetPropertyValue

Returns a single property value for an element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element
propertyPathstringProperty path: "PropertyName" (any PSet) or "PsetName.PropertyName" (specific PSet)

Output:

TypeDescription
objectThe property value, or empty string if not found

GetQuantities

Returns all quantity sets for an element with their quantities. For standard QSets, includes metadata about expected and missing quantities.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryQuantity set names as keys and quantity data as values

GetQuantityValue

Returns a single quantity value for an element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element
quantityPathstringQuantity path: "QuantityName" (any QSet) or "QsetName.QuantityName" (specific QSet)

Output:

TypeDescription
doubleThe quantity value, or 0 if not found

GetMaterials

Returns material data for an element including single materials, layer sets, profile sets, and constituent sets. If the element has no direct material association, returns the material from its type object.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryMaterial information

GetClassifications

Returns classification references for an element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of DictionaryClassification dictionaries

GetDocuments

Returns document references for an element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of DictionaryDocument dictionaries

GetAssociations

Returns all associations for an element including materials, classifications, documents, libraries, constraints, and approvals.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryAssociation categories

GetComposition

Returns composition relationships for an element including aggregation (Decomposes/IsDecomposedBy), nesting (Nests/IsNestedBy), openings, coverings, projections, and surface features.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryComposition relationships

Note: This returns explicitly defined IFC relationships only. For geometric-based relationships (elements physically inside other elements), use IFCSpatialQueries.


GetOpenings

Returns openings (voids) in an element and the elements that fill them.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of DictionaryOpening dictionaries with FilledBy information

GetHostElement

Returns the host element if this element fills a void (e.g., door in wall).

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryHost element information, or empty if not filling a void

GetAssignments

Returns all assignment relationships for an element including groups, systems, zones, actors, processes, controls, and resources.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryAssignment categories

GetGroups

Returns the groups an element is assigned to.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of DictionaryGroup dictionaries

GetConnectivity

Returns all connectivity relationships for an element including element connections, path connections, ports, interferences, and space boundaries.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryConnectivity categories

Note: This returns explicitly defined IFC relationships only. For geometric-based connectivity (elements touching or intersecting), use IFCSpatialQueries.


GetConnectedElements

Returns all elements connected to this element via explicit IFC relationships.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of DictionaryConnected element dictionaries

GetSpatialContainment

Returns spatial containment information for an element including the containing spatial structure and referenced structures.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionarySpatial containment and placement

GetContainingElement

Returns the spatial structure element containing this element (e.g., the storey).

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryContaining spatial element, or empty if not contained

GetPlacement

Returns the placement and location of an element in the model coordinate system.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryX, Y, Z coordinates and placement type

GetSpaceBoundaries

Returns space boundaries for an element showing which spaces it bounds.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of DictionarySpace boundary dictionaries

ElementExists

Checks if an element exists in the model.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) to check

Output:

TypeDescription
boolTrue if element exists, false otherwise

GetElementSummary

Returns basic summary information for an element. Useful for quick identification without retrieving all data.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryGlobalId, Name, IfcClass, and PredefinedType

GetElementsOfSameType

Returns the GlobalIds of all elements that share the same type object as the given element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of stringGlobalIds sharing the same type object

GetElementsInSameContainer

Returns the GlobalIds of all elements in the same spatial container as the given element.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
List of stringGlobalIds in the same spatial container

GetElementRepresentations

Returns detailed information about an element's representations and mapped representations. Useful for understanding geometry structure and debugging extraction issues.

Inputs:

ParameterTypeDescription
ifcModelIFCModelThe loaded IFC Model
globalIdstringThe Global Unique ID (GUID) of the element

Output:

TypeDescription
DictionaryRepresentation details including types, identifiers, and item counts