IFC Extractor icon

IFC Extractor

Extract information from IFC files using web-ifc

Overview

This node extracts information from IFC (Industry Foundation Classes) files using the web-ifc library. It supports multiple operations such as extracting all elements, extracting elements by specific IFC types, extracting elements with their properties, extracting properties for specific elements, and retrieving basic file information. It can process IFC data either from binary data passed from a previous node or directly from a file path. This node is useful in scenarios where detailed building or construction data needs to be programmatically accessed and analyzed, such as in BIM (Building Information Modeling) workflows or construction project management.

Use Case Examples

  1. Extract all elements from an IFC file to analyze the entire building model.
  2. Extract only walls (IFCWALL) from an IFC file to focus on structural components.
  3. Extract elements along with their properties to get detailed attribute information for specific IFC types.
  4. Retrieve basic metadata about an IFC file before processing its contents.

Properties

Name Meaning
Include Properties Whether to automatically resolve and include element properties when extracting elements (applicable for 'extractAll' and 'extractByType' operations).
Input Data Source Specifies the source of the IFC data to process, either from binary data of a previous node or directly from a file path.
Binary Property The name of the binary property containing the IFC file data when using binary data as input.
File Path The filesystem path to the IFC file when using file path as input.

Output

JSON

  • operation - The operation performed (e.g., extractAll, extractByType).
  • * - The extracted data structure varies depending on the operation, containing elements, properties, or file info as applicable.

Dependencies

  • web-ifc library for IFC file parsing
  • Node.js 'fs' module for file system access

Troubleshooting

  • Ensure the IFC file path is correct and accessible when using file path input source.
  • Verify the binary property name matches the binary data property from the previous node when using binary data input source.
  • Initialization of the web-ifc API may fail; the node attempts multiple initialization methods and throws an error if all fail.
  • If an unknown operation is specified, the node throws an error indicating the operation is unsupported.

Links

Discussion