Skip to main content

PlantX XLS Format for FRI3D Import/Export

PlantX XLS Format for FRI3D Import/Export

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 namePurpose
ZonesZone (compartment) definitions
ZonesToLinks from zones to other items
RacewaysRaceway/tray/conduit definitions
RacewaysToLinks from raceways to other items
ComponentsComponent definitions
ComponentsToLinks from components to other items
CablesCable definitions
CablesToLinks from cables to other items
BasicEventsBasic event definitions
SpuriousBasicEventsSpurious basic events (optional probability)
ScenariosScenario definitions (PRA/fire scenarios)
ScenariosToLinks from scenarios to zones/items
SourcesFire/source definitions
SourcesToLinks from sources to other items
ItemTypesOptional lookup; can be empty
CableTypesOptional cable type lookup (names)

Entity Worksheets (Columns)

Zones

ColumnDescription
ZoneUnique zone name (required).
descriptionZone description.
CADDataOptional; e.g. CAD or geometry metadata (stored as JSON or text).

Raceways

ColumnDescription
RacewayUnique raceway name (required).
descriptionRaceway description.
typeOne of: CONDUIT, TRAY, OTHER.
inPRAWhether included in PRA: TRUE / FALSE (or 1/0, Y/N).

Components

ColumnDescription
ComponentUnique component name (required).
descriptionComponent description.
(column 3)Unused / reserved.
inPRAWhether included in PRA: TRUE / FALSE (or 1/0, Y/N).

Cables

ColumnDescription
CableUnique cable name (required).
descriptionCable description.
typeCable type identifier (e.g. name from CableTypes sheet or cable spec).
inPRAWhether included in PRA: TRUE / FALSE (or 1/0, Y/N).

BasicEvents

ColumnDescription
BasicEventUnique basic event name (required).
descriptionBasic event description.

SpuriousBasicEvents

ColumnDescription
SpuriousBasicEventUnique name (required).
descriptionDescription.
probOptional numeric probability (decimal).

Scenarios

ColumnDescription
ScenarioUnique scenario name (required).
descriptionScenario description.
igfIgnition frequency (numeric).
severityFactorSeverity factor (numeric).
nspNon-suppression probability (numeric).
documentOptional document reference.
notesOptional notes.

Sources

ColumnDescription
SourceUnique source name (required).
descriptionSource description.

Each XxxTo sheet defines links from one entity type to others. All link sheets use the same column pattern:

ColumnDescription
(1)Source item name (Zone, Raceway, Component, Cable, Scenario, or Source). Must match the name in the corresponding entity sheet.
toItemName of the target item.
toItemTypeType of the target item (see allowed values below).

Allowed toItemType values

These values are case-insensitive on import:

toItemTypeMeaning
ZONEZone
RACEWAYRaceway
COMPONENTComponent
CABLECable
BEBasic event
SPURIOUSBESpurious basic event
SOURCESource (fire/simulation source)
ScenariosScenario (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

  1. Names: Item names (Zone, Raceway, Cable, etc.) must be unique within their type and must match exactly when used in link sheets.
  2. Header row: Row 1 must contain the column headers shown above. Import matches columns by header text (e.g. "Zone", "description", "toItem", "toItemType").
  3. inPRA: Treated as true for: TRUE, true, 1, Y, y. Anything else is false.
  4. 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:

  1. Import CAD Models - Import 3D geometry to visualize plant components
  2. Configure Fire Scenarios - Set up fire sources and analysis parameters
  3. Run Fire Simulations - Use imported basic events and scenarios for risk assessment
  4. Export to CAFTA - Export plant data and scenarios for PRA integration

XLS Tables

Reach out

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