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:
| Category | Description | Common Examples |
|---|---|---|
| IfcRoot | The base class for all IFC objects. Provides global ID, ownership, and name/description fields. | IfcProject, IfcSite, IfcBuilding, IfcElement |
| IfcProduct | Represents tangible, spatial, or physical elements in the built environment. | IfcWall, IfcBeam, IfcDoor, IfcSlab |
| IfcSpatialStructureElement | Defines the spatial hierarchy of a project (site → building → storey → space). | IfcBuilding, IfcBuildingStorey, IfcSpace |
| IfcElement | Represents individual building components. | IfcWall, IfcWindow, IfcColumn, IfcPipeSegment |
| IfcDistributionElement | Covers building services and MEP (Mechanical, Electrical, Plumbing) components. | IfcFlowSegment, IfcFlowTerminal, IfcFlowController |
| IfcMaterialDefinition | Defines materials, layers, or composites assigned to elements. | IfcMaterial, IfcMaterialLayerSet |
| IfcPropertySet | Attaches custom attributes and metadata to IFC elements. | Pset_WallCommon, Pset_DoorCommon |
| IfcRelationship | Describes 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.
| Argument | Required | Description |
|---|---|---|
| ifcpath | Yes | Path to the IFC file to import. |
| projectpath | Yes | Path to the FRI3D project (e.g. MyProject.fri3d). Created if missing. |
Options (case-insensitive; prefix with /, -, or --):
| Option | Description | Default |
|---|---|---|
| Zone zonename | Name of the zone/compartment for the imported geometry. | (empty) |
| ReplaceProject | Create a new project at projectpath before import (overwrites existing). Use true/false, T/F, etc. | false |
| LoadBuildingElements | Include IfcBuildingElementProxy entities. | false |
| LoadRailings | Include IfcRailing entities. | false |
| LoadStairs | Include IfcStair and IfcStairFlight entities. | false |
| Help | Show 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
- Parsing: The IFC file is parsed using an IFC4x3-compatible reader.
- Classification: Each entity is examined for its IFC class type and relevant property sets.
- Tagging: Elements are tagged into FRI3D’s internal categories (e.g.,
Boundaries,Simulation Items/Vents,Equipments,Raceways/Trays). - Geometry Extraction: Surface geometries are read from
IfcShapeRepresentationor 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 Tag | Expected IFC Class | Example IFC Name | Purpose |
|---|---|---|---|
Boundaries | IfcWall, IfcSlab, IfcCovering | FireRatedWall_120min | Defines compartment boundaries and fire separation zones |
Simulation Items/Vents | IfcDoor, IfcWindow, IfcOpeningElement | ExitDoor_Main | Defines openings for smoke flow and evacuation routes |
Equipments | IfcFlowTerminal, IfcDistributionElement | SmokeDetector_01 | Identifies 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
-
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
-
Tag Elements Properly
- Assign correct IFC classes (avoid generic
IfcProxywhere possible) - Mark openings (doors, windows) clearly with ifcDoor/ifcWindow etc
- Assign correct IFC classes (avoid generic
-
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
-
Review Classification
- Check import log for warnings or errors
- Verify element counts match expectations
- Review spatial structure hierarchy
-
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
- Open FRI3D
- 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. - Wait for Parsing: FRI3D import will parse the IFC file and display progress
- 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:
| Component | Description | Example |
|---|---|---|
| Header | File metadata, schema version, and project information | FILE_SCHEMA(('IFC4')); |
| Data Section | Entity definitions with unique IDs | #123= IfcWall(...); |
| References | Relationships 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, notIfcProxy) - 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
IfcShapeRepresentationdefinitions - 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
IfcSiteandIfcBuildingplacement 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
| Format | Semantic Data | Geometry Quality | Fire Safety Data | Recommended 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) | ❌ None | Mechanical equipment, plant design |
| OBJ/glTF | ❌ None (geometry only) | ⚠️ Medium (meshes) | ❌ None | Visualization, context models |
| Native CAD | ⚠️ Varies | ✅ High | ⚠️ Varies | Direct 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:
- Configure Fire Scenarios - Set up fire sources, ignition points, and analysis parameters
- Define Compartments - Verify and adjust fire compartment boundaries
- Assign Materials - Review and refine material properties for accurate simulation
- Run Analysis - Execute fire dynamics simulations using your imported model
- Visualize Results - Analyze and visualize fire, smoke, and thermal results
For more information on other import formats, see: