This document describes the Excel (.xlsx) format used to import plant data into an FRI3D project (via Import_PLANTX_XLS) and to export plant data from an open FRI3D project (via the FireEngine API ExportPlantToPlantXXls). Files in this format can be exchanged between tools and re-imported into FRI3D.
Overview
- File format: Microsoft Excel Open XML (.xlsx).
- Structure: One workbook with multiple worksheets. Each worksheet has a header row (row 1) and data rows (row 2 onward). Empty rows may be skipped during import.
- Sheet names: Exact names are required (case-sensitive). See table below.
Worksheet Names and Purpose
| Worksheet name | Purpose |
|---|
| Zones | Zone (compartment) definitions |
| ZonesTo | Links from zones to other items |
| Raceways | Raceway/tray/conduit definitions |
| RacewaysTo | Links from raceways to other items |
| Components | Component definitions |
| ComponentsTo | Links from components to other items |
| Cables | Cable definitions |
| CablesTo | Links from cables to other items |
| BasicEvents | Basic event definitions |
| SpuriousBasicEvents | Spurious basic events (optional probability) |
| Scenarios | Scenario definitions (PRA/fire scenarios) |
| ScenariosTo | Links from scenarios to zones/items |
| Sources | Fire/source definitions |
| SourcesTo | Links from sources to other items |
| ItemTypes | Optional lookup; can be empty |
| CableTypes | Optional cable type lookup (names) |
Entity Worksheets (Columns)
Zones
| Column | Description |
|---|
| Zone | Unique zone name (required). |
| description | Zone description. |
| CADData | Optional; e.g. CAD or geometry metadata (stored as JSON or text). |
Raceways
| Column | Description |
|---|
| Raceway | Unique raceway name (required). |
| description | Raceway description. |
| type | One of: CONDUIT, TRAY, OTHER. |
| inPRA | Whether included in PRA: TRUE / FALSE (or 1/0, Y/N). |
Components
| Column | Description |
|---|
| Component | Unique component name (required). |
| description | Component description. |
| (column 3) | Unused / reserved. |
| inPRA | Whether included in PRA: TRUE / FALSE (or 1/0, Y/N). |
Cables
| Column | Description |
|---|
| Cable | Unique cable name (required). |
| description | Cable description. |
| type | Cable type identifier (e.g. name from CableTypes sheet or cable spec). |
| inPRA | Whether included in PRA: TRUE / FALSE (or 1/0, Y/N). |
BasicEvents
| Column | Description |
|---|
| BasicEvent | Unique basic event name (required). |
| description | Basic event description. |
SpuriousBasicEvents
| Column | Description |
|---|
| SpuriousBasicEvent | Unique name (required). |
| description | Description. |
| prob | Optional numeric probability (decimal). |
Scenarios
| Column | Description |
|---|
| Scenario | Unique scenario name (required). |
| description | Scenario description. |
| igf | Ignition frequency (numeric). |
| severityFactor | Severity factor (numeric). |
| nsp | Non-suppression probability (numeric). |
| document | Optional document reference. |
| notes | Optional notes. |
Sources
| Column | Description |
|---|
| Source | Unique source name (required). |
| description | Source description. |
Link Worksheets (XxxTo)
Each XxxTo sheet defines links from one entity type to others. All link sheets use the same column pattern:
| Column | Description |
|---|
| (1) | Source item name (Zone, Raceway, Component, Cable, Scenario, or Source). Must match the name in the corresponding entity sheet. |
| toItem | Name of the target item. |
| toItemType | Type of the target item (see allowed values below). |
Allowed toItemType values
These values are case-insensitive on import:
| toItemType | Meaning |
|---|
| ZONE | Zone |
| RACEWAY | Raceway |
| COMPONENT | Component |
| CABLE | Cable |
| BE | Basic event |
| SPURIOUSBE | Spurious basic event |
| SOURCE | Source (fire/simulation source) |
| Scenarios | Scenario (used in ScenariosTo) |
Examples:
- ZonesTo: A zone row may link to a raceway (
toItemType = RACEWAY) or cable (CABLE), etc.
- ScenariosTo: A scenario row may link to a zone (ZONE) or other items included in that scenario.
Optional Lookup Sheets
- ItemTypes: Header row only, or one column (e.g. "ItemType") with optional lookup values. Used for reference; may be empty.
- CableTypes: Lists cable type names (e.g. one per row). Values can be referenced in the Cables sheet type column.
Conventions
- Names: Item names (Zone, Raceway, Cable, etc.) must be unique within their type and must match exactly when used in link sheets.
- Header row: Row 1 must contain the column headers shown above. Import matches columns by header text (e.g. "Zone", "description", "toItem", "toItemType").
- inPRA: Treated as true for:
TRUE, true, 1, Y, y. Anything else is false.
- Links: Links can be specified in either direction (e.g. Zone → Raceway or Raceway → Zone); only one direction is required. Duplicate links are typically coalesced on import.
How to Use
Import (command-line)
Import_PLANTX_XLS.exe <path-to.xlsx> <path-to.fri3d> [options]
Options include --AddItems, --AddLinks, --UpdateLinks, --UpdateInfo, --ReplaceProject, --ClearPRALinks. Use --help for full usage.
Export (API)
Open the project with OpenProject(projectPath, ...), then call:
- C# / FireEngineLib:
Export.ExportPlantToPlantXXls(filePath)
- DLL:
ExportPlantToPlantXXls(filePath) (exported from FireEngineDll)
Returns true if the file was written successfully.
Implementation References
- Import:
CustomImportProjects/Import_PLANTX_XLS/XLSImport.cs (reads this format).
- Export:
FireEngineLib/XLSExport.cs (writes this format from the open FRI3D database).
What's Next?
After importing or exporting plant data:
- Import CAD Models - Import 3D geometry to visualize plant components
- Configure Fire Scenarios - Set up fire sources and analysis parameters
- Run Fire Simulations - Use imported basic events and scenarios for risk assessment
- Export to CAFTA - Export plant data and scenarios for PRA integration