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 simulation and visualization structures. This enables fire risk, smoke, and thermal analysis to operate directly on BIM data without manual re-modeling.
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.,
FIRE_BARRIER,OPENING,EQUIPMENT,SPACE). - Geometry Extraction: Surface and solid geometries are read from
IfcShapeRepresentationor simplified to bounding volumes for performance. - Metadata Mapping: Material and property data are retained to support simulation inputs (e.g., combustion properties, heat release rates, boundary conditions).
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 |
|---|---|---|---|
FIRE_BARRIER | IfcWall, IfcSlab, IfcCovering | FireRatedWall_120min | Defines compartment boundaries and fire separation zones |
OPENING | IfcDoor, IfcWindow, IfcOpeningElement | ExitDoor_Main | Defines openings for smoke flow and evacuation routes |
EQUIPMENT | IfcFlowTerminal, IfcDistributionElement | SmokeDetector_01 | Identifies active fire protection and HVAC elements |
SPACE | IfcSpace | Room_102 | Defines simulation zones or analysis volumes |
STRUCTURE | IfcBeam, IfcColumn | SteelColumn_A12 | Provides load-bearing and heat transfer geometry |
FUEL | IfcFurnishingElement, IfcProxy | Cabinet_Wood | Used for fire load and combustible material definition |
⚠️ 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
Step-by-Step 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 and navigate to the Store or Import menu
- Select "Import CAD" or drag-and-drop your
.ifcfile - Wait for Parsing: FRI3D will parse the IFC file and display progress
- Verify Geometry: Inspect the 3D view to ensure all elements imported correctly
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 - 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
Best Practices#
Before Export from BIM Software#
Organize Your Model
- Use consistent naming conventions
- Group related elements logically
- Remove unnecessary detail or temporary geometry
Tag Elements Properly
- Assign correct IFC classes (avoid generic
IfcProxywhere possible) - Tag fire barriers with appropriate fire rating properties
- Mark openings (doors, windows) clearly
- Define spaces (
IfcSpace) for each room or zone
- 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
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: