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.
A zone cannot link to a basic event: link the basic event to a raceway, cable or component instead. Rows that FRI3D cannot use, such as a zone-to-basic-event row or a name that does not exist, are skipped and the rest of the file is imported. FRI3D lists the skipped rows in a warning afterwards.
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 in FRI3D
File → Import → Plant Data reads a PlantX workbook (.xls/.xlsx), an Access database (.accdb) or a FRANX file (.franx) into the open project. Below the file list are three options:
Option
Default
What it does
Merge Items
On
Adds new items and updates existing ones.
Merge Links
On
Adds the file's links. Existing links are kept, including links made in the Logic Inspector.
Replace Links
Off
Removes the existing links of each kind in the file (zone, raceway, cable, component or scenario links), in all zones, then adds the file's links.
Merge Links and Replace Links exclude each other. With both link options off, links are left alone; with Merge Items off, items are left alone.
When Replace Links is ticked, its description turns red and FRI3D asks you to confirm before importing. Zones and items that the file does not cover can lose their links.
The import is saved into the project. If it fails, FRI3D shows the reason and leaves the open project as it was.
Options include --AddItems, --AddLinks, --UpdateLinks, --UpdateInfo, --ReplaceProject, --ClearPRALinks. Use --help for full usage. Merge Items in FRI3D is --AddItems --UpdateInfo, Merge Links is --AddLinks and Replace Links is --UpdateLinks. Unknown options and misspelled values (for example --AddItems flase) are rejected with an error.
Export (API)
Open the project with OpenProject(projectPath, ...), then call: