Example Workflows
This page provides practical examples of common IFCNodes workflows.
Example 1: Extract All Wall Properties
Goal: Get properties from all walls in the model.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.AllElements
- IFCQuery.GetProperties
Steps:
- Load your IFC file with IFCReader.LoadIFCModel
- Use IFCFilter.AllElements with baseClass set to "IfcWall"
- Connect the GlobalIds to IFCQuery.GetProperties (set lacing to Longest)
- Output is a list of property dictionaries for each wall
Example 2: Find Elements by Property Value
Goal: Find all elements with a specific fire rating.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.AllElements
- IFCFilter.ByProperty
Steps:
- Load your IFC file
- Get all elements with IFCFilter.AllElements
- Use IFCFilter.ByProperty with:
- propertyName: "FireRating"
- comparisonOperator: "="
- value: "2HR"
- Output is GlobalIds of elements with 2-hour fire rating
Example 3: Elements on a Specific Level
Goal: Get all elements contained in a specific building storey.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.ElementsInSpatial
Steps:
- Load your IFC file
- Use IFCFilter.ElementsInSpatial with:
- spatialGlobalIdOrName: "Level 1" (or the storey name)
- includeNested: true
- Output is all GlobalIds on that level
Example 4: Clash Detection Between Systems
Goal: Find clashes between structural and MEP elements.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.AllElements (two instances)
- IFCClashDetection.DetectClashes
Steps:
- Load your IFC file
- Get structural elements: IFCFilter.AllElements with baseClass "IfcBeam" or "IfcColumn"
- Get MEP elements: IFCFilter.AllElements with baseClass "IfcFlowSegment"
- Use IFCClashDetection.DetectClashes with:
- setA: structural GlobalIds
- setB: MEP GlobalIds
- clearance: 0.05 (50mm clearance)
- Output shows all clash pairs and types
Example 5: Export Element Data to Excel
Goal: Create a schedule of doors with their properties.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.AllElements
- IFCQuery.GetPropertyValue
- Dynamo Excel nodes
Steps:
- Load your IFC file
- Get all doors: IFCFilter.AllElements with baseClass "IfcDoor"
- For each door, get properties using IFCQuery.GetPropertyValue:
- "Width"
- "Height"
- "FireRating"
- Combine into lists and export using Data.ExportToExcel
Example 6: Visualize Elements by Type
Goal: Color-code elements in the viewer by their IFC class.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.AllElements (multiple instances)
- IFCViewer.ViewWithColorGroups
Steps:
- Load your IFC file
- Create separate lists:
- Walls: IFCFilter.AllElements with "IfcWall"
- Doors: IFCFilter.AllElements with "IfcDoor"
- Windows: IFCFilter.AllElements with "IfcWindow"
- Use IFCViewer.ViewWithColorGroups with:
- colors: ["Red", "Blue", "Green"]
- globalIdGroups: [wallIds, doorIds, windowIds]
Example 7: Find Nearby Elements
Goal: Find all elements within 2 meters of a selected element.
Nodes used:
- IFCReader.LoadIFCModel
- IFCSpatialQueries.GetNearbyElements
Steps:
- Load your IFC file
- Use IFCSpatialQueries.GetNearbyElements with:
- globalId: The target element GlobalId
- searchRadius: 2.0 (in model units)
- Output includes GlobalId and Distance for each nearby element
Example 8: Material Takeoff
Goal: Get quantities grouped by material.
Nodes used:
- IFCReader.LoadIFCModel
- IFCExplore.GetMaterials
- IFCFilter.ElementsWithMaterial
- IFCQuery.GetQuantityValue
Steps:
- Load your IFC file
- Get all materials: IFCExplore.GetMaterials
- For each material, get elements: IFCFilter.ElementsWithMaterial
- Sum quantities using IFCQuery.GetQuantityValue with "NetVolume" or "NetArea"
Example 9: Model Validation
Goal: Find elements missing required properties.
Nodes used:
- IFCReader.LoadIFCModel
- IFCFilter.AllElements
- IFCFilter.ByProperty
Steps:
- Load your IFC file
- Get all walls: IFCFilter.AllElements with "IfcWall"
- Find walls WITH fire rating: IFCFilter.ByProperty with comparisonOperator "!null"
- Use List.SetDifference to find walls WITHOUT fire rating
- Output is walls missing the required property
Example 10: AI-Assisted Analysis
Goal: Use natural language to explore the model.
Nodes used:
- IFCReader.LoadIFCModel
- IFCChat.ChatWithIFCModel
Steps:
- Load your IFC file
- Get your API key from https://aistudio.google.com/app/api-keys
- Use IFCChat.ChatWithIFCModel with your API key and model
- In the chat window, ask questions like:
- "What types of elements are in this model?"
- "Show me all exterior walls"
- "Are there any doors without fire ratings?"
- "Find clashes between pipes and beams"