メインコンテンツまでスキップ

FRI3D Import BIM/IFC

Importing Industry Foundation Classes (IFC) Data

Introduction

Industry Foundation Classes (IFC) is an open and standardized data model developed by buildingSMART International for describing building and infrastructure information. It serves as the foundation of Building Information Modeling (BIM) interoperability, allowing different software applications to exchange 3D geometry and rich semantic data about building components, materials, and systems.

The IFC schema provides a neutral, object-oriented representation of physical and logical building elements, including walls, doors, beams, HVAC systems, fire safety components, and much more. Each element in an IFC file belongs to a well-defined class that specifies its role, attributes, and relationships to other entities.


IFC Schema Overview

IFC defines a large hierarchy of entity classes, organized broadly into several conceptual layers:

CategoryDescriptionCommon Examples
IfcRootThe base class for all IFC objects. Provides global ID, ownership, and name/description fields.IfcProject, IfcSite, IfcBuilding, IfcElement
IfcProductRepresents tangible, spatial, or physical elements in the built environment.IfcWall, IfcBeam, IfcDoor, IfcSlab
IfcSpatialStructureElementDefines the spatial hierarchy of a project (site → building → storey → space).IfcBuilding, IfcBuildingStorey, IfcSpace
IfcElementRepresents individual building components.IfcWall, IfcWindow, IfcColumn, IfcPipeSegment
IfcDistributionElementCovers building services and MEP (Mechanical, Electrical, Plumbing) components.IfcFlowSegment, IfcFlowTerminal, IfcFlowController
IfcMaterialDefinitionDefines materials, layers, or composites assigned to elements.IfcMaterial, IfcMaterialLayerSet
IfcPropertySetAttaches custom attributes and metadata to IFC elements.Pset_WallCommon, Pset_DoorCommon
IfcRelationshipDescribes connections and associations between objects.IfcRelContainedInSpatialStructure, IfcRelDefinesByProperties

IFC Import in FRI3D

FRI3D’s import system reads IFC files and maps their entities to internal categories. There are two ways to import IFC data into FRI3D. By use of the GUI and by use of the Command Line Tool.

GUI: Import IFC

To import a IFC file into FRI3D. Use Import CAD menu/shelf tool . This imports everything into FRI3D. If you would like a more surgical import the command line tool is better.

Command-line tool: Import_IFC

Import is performed by the Import_IFC executable. From a command prompt or script:

Import_IFC.exe <ifcpath> <projectpath> [options]
  • ifcpath — Full or relative path to the IFC file.
  • projectpath — Full or relative path to the FRI3D project file (e.g. project.fri3d). If the project does not exist, it is created; when import succeeds, the tool saves the project to projectpath.

Run with no arguments or with --help (or -h, -?, /?) to print usage.

ArgumentRequiredDescription
ifcpathYesPath to the IFC file to import.
projectpathYesPath to the FRI3D project (e.g. MyProject.fri3d). Created if missing.

Options (case-insensitive; prefix with /, -, or --):

OptionDescriptionDefault
Zone zonenameName of the zone/compartment for the imported geometry.(empty)
ReplaceProjectCreate a new project at projectpath before import (overwrites existing). Use true/false, T/F, etc.false
LoadBuildingElementsInclude IfcBuildingElementProxy entities.false
LoadRailingsInclude IfcRailing entities.false
LoadStairsInclude IfcStair and IfcStairFlight entities.false
HelpShow usage and help.

For boolean options you can pass a value (e.g. --ReplaceProject true, -LoadStairs false); if omitted, true is assumed. Zone expects the next argument as the zone name (e.g. -Zone Building1).

What gets imported:

  • Zones: One zone is created (or used) with the name given by Zone (or the third positional argument).
  • Components: Building and MEP elements are imported as components (see lists below).
  • Raceways: IfcCableCarrierSegment and IfcCableCarrierFitting as raceways.
  • Vents: Vent-like elements from the IFC model.
  • 3D geometry: Mesh and bounding-box data for display in the FRI3D project.

IFC types always loaded as components (when options allow): Flow/distribution (e.g. IfcFlowTerminal, IfcDistributionElement, IfcPipeFitting, IfcFlowSegment), building elements (IfcColumn, IfcPlate, IfcWall, IfcSlab, IfcWindow, IfcDoor, IfcBeam, etc.), and other (IfcElement, IfcFurnishingElement, IfcFurniture, IfcSite). IfcGrid is never loaded as a component.

Optional IFC types (excluded by default): LoadBuildingElements → IfcBuildingElementProxy; LoadRailings → IfcRailing; LoadStairs → IfcStair, IfcStairFlight. When an option is off, those types are skipped for components, zone–component links, and 3D geometry.

Examples:

Import_IFC.exe C:\Models\building.ifc C:\Projects\building.fri3d -Zone Building1
Import_IFC.exe model.ifc project.fri3d -Zone Main -ReplaceProject
Import_IFC.exe model.ifc project.fri3d --Zone CompartmentA --LoadBuildingElements --LoadRailings
Import_IFC.exe model.ifc project.fri3d -Zone Main -LoadStairs
Import_IFC.exe --help

Import Workflow

  1. Parsing: The IFC file is parsed using an IFC4x3-compatible reader.
  2. Classification: Each entity is examined for its IFC class type and relevant property sets.
  3. Tagging: Elements are tagged into FRI3D’s internal categories (e.g., Boundaries, Simulation Items/Vents, Equipments, Raceways/Trays).
  4. Geometry Extraction: Surface geometries are read from IfcShapeRepresentation or simplified to bounding volumes for performance.

Tagging Requirements

For accurate classification and simulation behavior, FRI3D requires that elements are appropriately tagged in the source BIM software (e.g., Revit, ArchiCAD, Tekla) before export.
This ensures that the IFC importer can identify fire-relevant elements correctly.

FRI3D TagExpected IFC ClassExample IFC NamePurpose
BoundariesIfcWall, IfcSlab, IfcCoveringFireRatedWall_120minDefines compartment boundaries and fire separation zones
Simulation Items/VentsIfcDoor, IfcWindow, IfcOpeningElementExitDoor_MainDefines openings for smoke flow and evacuation routes
EquipmentsIfcFlowTerminal, IfcDistributionElementSmokeDetector_01Identifies active fire protection and HVAC elements

⚠️ Important:
FRI3D relies on these tags and IFC class mappings to automatically classify and group geometry during import.
Un-tagged or misclassified elements may be ignored or assigned default non-combustible behavior.


Supported IFC Versions

FRI3D currently supports:

  • IFC4 and IFC4x3 schemas (recommended)
  • Partial backward compatibility with IFC2x3 for legacy datasets

Best Practices

Before Export from BIM Software

  1. Organize Your Model

    • Use consistent naming conventions
    • Define spaces (IfcSpace) for each room or zone
    • Organize compartments by ifcSpaces - each compartment = ifcSpace
    • Group related elements logically
    • Remove unnecessary detail or temporary geometry
  2. Tag Elements Properly

    • Assign correct IFC classes (avoid generic IfcProxy where possible)
    • Mark openings (doors, windows) clearly with ifcDoor/ifcWindow etc
  3. Export Settings

    • Use IFC4 or IFC4x3 schema
    • Include geometry (not just metadata)
    • Export property sets (not just basic properties)
    • Consider file size vs. detail level

After Import into FRI3D

  1. Review Classification

    • Check import log for warnings or errors
    • Verify element counts match expectations
    • Review spatial structure hierarchy
  2. Validate Geometry

    • Inspect 3D view for missing or corrupted elements
    • Check for gaps or overlaps in fire barriers
    • Verify openings are correctly positioned

Import Procedure

1. Prepare Your IFC File

Before importing into FRI3D, ensure your IFC file is properly prepared:

  • Export from BIM Software: Use Revit, ArchiCAD, Tekla, or other IFC-compatible software
  • Verify IFC Version: Export as IFC4 or IFC4x3 (recommended) for best compatibility
  • Tag Elements: Ensure fire-relevant elements are properly tagged with appropriate IFC classes
  • Check File Size: Large IFC files (>100MB) may require simplification or splitting

2. Import into FRI3D

  1. Open FRI3D
  2. Run "Import CAD.exe" on the command line 2.1 for example: .\Import_IFC.exe "D:\Building_import_test.ifc" "D:\Newcleo.fri3d" "NEW" "T". "NEW" is the name of the compartment.
  3. Wait for Parsing: FRI3D import will parse the IFC file and display progress
  4. Load .fri3d: Load the resulting .fri3d file

3. Post-Import Verification

After import, verify the following:

  • Spatial Structure: Check that building storeys and spaces are correctly identified
  • Element Classification: Verify that walls, doors, and other elements are tagged correctly
  • Material Properties: Review material assignments for fire simulation accuracy
  • Geometry Quality: Ensure no missing or corrupted geometry

File Format Details

IFC File Structure

IFC files are typically stored in STEP Physical File (SPF) format, which is a text-based representation:

ComponentDescriptionExample
HeaderFile metadata, schema version, and project informationFILE_SCHEMA(('IFC4'));
Data SectionEntity definitions with unique IDs#123= IfcWall(...);
ReferencesRelationships between entities#456= IfcRelContainedInSpatialStructure(...);

Common IFC File Extensions

  • .ifc - Standard IFC file (text-based SPF format)

Common Issues and Troubleshooting

Issue 1: Elements Not Classified Correctly

Symptom: Walls, doors, or other elements appear as generic geometry

Solution:

  • Verify IFC class types in source BIM software (e.g., ensure walls are IfcWall, not IfcProxy)
  • Check that elements have proper property sets assigned

Issue 2: Missing Geometry

Symptom: Some elements don't appear in the 3D view after import

Solution:

  • Check that elements have valid IfcShapeRepresentation definitions
  • Make sure that you have specified the right command line options in Import_IFC . By default it doesnt load IfcBuildingElementProxy for example.
  • Verify IFC export settings (ensure geometry is included, not just metadata)
  • Try re-exporting from source software with different IFC export options

Issue 3: Coordinate System Mismatch

Symptom: Model appears in wrong location or orientation

Solution:

  • Check IfcSite and IfcBuilding placement in IFC file
  • Verify coordinate system settings in source BIM software
  • Use FRI3D's coordinate transformation tools if needed

Issue 4: Performance Issues with Large Files

Symptom: Import is slow or FRI3D becomes unresponsive

Solution:

  • Simplify geometry in source BIM software before export
  • Split large models into multiple IFC files (by building or storey)
  • Use IFC simplification tools or filters during export
  • Consider using bounding box simplification for non-critical elements

Comparison with Other Import Formats

FormatSemantic DataGeometry QualityFire Safety DataRecommended Use
IFC✅ Rich (BIM classes, properties, relationships)✅ High (BREP solids, surfaces)✅ Excellent (fire ratings, materials)Primary choice for BIM-based fire analysis
STEP/IGES⚠️ Limited (geometry only)✅ High (BREP solids)❌ NoneMechanical equipment, plant design
OBJ/glTF❌ None (geometry only)⚠️ Medium (meshes)❌ NoneVisualization, context models
Native CAD⚠️ Varies✅ High⚠️ VariesDirect CAD integration (if supported)

Recommendation: For fire safety analysis workflows, IFC is strongly recommended due to its rich semantic data and standardized fire safety properties.


Citation

If you reference this material in publications or documentation, please cite as:

FRI3D Documentation: Industry Foundation Classes (IFC) Import and Classification Guide.
Centroid LAB, 2025.
https://centroidlab.com/fri3d/docs/


What's Next?

After successfully importing your IFC model:

  1. Configure Fire Scenarios - Set up fire sources, ignition points, and analysis parameters
  2. Define Compartments - Verify and adjust fire compartment boundaries
  3. Assign Materials - Review and refine material properties for accurate simulation
  4. Run Analysis - Execute fire dynamics simulations using your imported model
  5. Visualize Results - Analyze and visualize fire, smoke, and thermal results

For more information on other import formats, see:

Reach out

If you need help after reading this doc, email us [email protected] for an answer. .