Rules for Content of the Import File
- Last UpdatedNov 27, 2025
- 5 minute read
An import file must have the following characteristics.
-
The file must be a valid CSV format or XLS format file.
-
The first row of the file contains a list of headings. Each heading represents a column in the file containing an attribute of the elements being loaded.
-
There must be a NAME column; otherwise the file will not be loaded. The NAME column may contain the name of a new element, or the name of an existing element. If an existing element name is used, then this row is an update row for that element. The name used must obey the normal rules for element naming in Marine.
-
Another required column is the TYPE column. This column contains the database element type of the element being loaded, for example, EQUI. If this column is absent, the file will not be loaded. If the Project has been configured with User Defined Element Types (UDET), then this column could contain a valid UDET name (for example, :PUMP). If the named element already exists – but its element type does not match the TYPE in the file, then this row will be ignored and an error will be raised.
-
A special column that may be included is the OWNER column. If this column is present, it must contain the name of an existing element that will own each imported item when it is created. This owner name will be ignored if the imported item already exists – it is not possible to change the owner of existing Equipment by using the OWNER column. If the OWNER column does not exist in the file, then the owner is the current location in the Outfitting Design DB hierarchy at the time that the file is loaded and analyzed. In this case, the current database element at the time that the file is loaded must be able to contain imported elements.
-
The remaining headings in the file must be valid attribute names for the element type being loaded. The attribute names may include User Defined Attribute (UDA) names.
-
Columns cannot be added for array type attributes unless those attributes can be set using a list of values in a single field in the file. For example, the string "10 20 30" in a DESP field would set design parameter 1 to 10, 2 to 20 and 3 to 30.
-
Every row following the heading row must contain the correct number of fields (columns) as defined by the heading row.
-
Every row must contain valid values, or no values, for each field.
-
If a new element is being created, an attribute will be set to its default value if a field in the file is empty. Two adjacent separators denote an empty field. The NAME and TYPE fields cannot be empty.
-
If an existing element is being modified, an attribute value will remain unchanged if a field in the file is empty.
-
It is not possible to unset an attribute value from a file, other than by providing the default value. For example "X0Y0Z0" for a position.
-
Each field in the file must be a text field. Care must be taken with fields containing values that are considered by Microsoft Excel to be a formula. For example a database reference number in the form "=123/456" would be considered to be a formula because of the "=" character. This can be overcome by preceding the "=" with a single quote character that forces the field to be treated as a text string. If the file will not load successfully into Microsoft Excel, it will not load successfully using this import function.
Any import of new or modified element data will be subject to the data access control configuration implemented for the current user and Project.
This function will not attempt to claim data automatically in an Explicit Claim database. If the data is imported into an Implicit Claim database, then the appropriate elements will be claimed, if not already claimed by another user.
Example of Data used as input to this function:
Type
Name
spref
Desc
pos
Built
EQUI
/D1201
/EQUI/Storage-Vessel/TYPEA
Storage Vessel
X 9630 Y 3502 Z 6170
false
EQUI
/C1101
X 5360 Y 8850 Z 305
true
EQUI
/E1302A
/EQUI/Shell-Tube-Exchanger
Heat Exchanger
X 9630 Y 3755 Z 8385
false
EQUI
/E1302B
/EQUI/Shell-Tube-Exchanger
Heat Exchanger
X 9630 Y 3755 Z 9352
false
EQUI
/P1501A
Pump
X 9340 Y 12145 Z 645
false
EQUI
/P1501B
Pump
X 7510 Y 12145 Z 645
false
-
To import Unicode text from a CSV file, the file must be a Unicode format file. Some systems save CSV files as plain text files. To convert a file to Unicode format it is necessary to open the file with a tool that is capable of saving in Unicode format, for example Notepad or the transc text file conversion utility provided with the product.
Several validation checks are performed on the data when imported. In the equipment application these are generic and include checks such as:
-
Valid TYPE is entered
-
Unique Name is used
-
Owner is valid for the element being loaded
-
References are existing and appropriate elements
-
Attribute data is of a compatible data type
In the utility the user must enter an element TYPE and NAME.
These validation checks are maintained through all of the subsequent implementations of the utility.
With PIPING, HVAC and Cable Tray however there are several other checks which are performed.
PIPE Elements
If a BORE, HBORE or TBORE is entered it is checked against the master bore table. For example an entry of 101mm will return an error as this is an unsuitable bore size to select. The user will be provided with the nearest available bore size from the table in the Messages area. The utility will Not set the bore in this case.
BRAN Elements
The user must enter an owner for the BRAN element in order for the system to know where to place the element in the hierarchy, unless the BRAN already exists, in which case it is simply updated.
Branch Connection
The utility will also connect a branch head and tail to relevant nozzles. In order to achieve this, the user should enter the HREF and TREF attributes as column headers and set them to a relevant Nozzle references. The utility is currently able to only accept nozzle references. References to other connection types, for example TEE’s will be ignored.
The system will then check that these elements exist, are of the correct type and are not already connected. If this is the case then the Head or Tail is connected appropriately.
This means that the HPOS/TPOS, HDIR/TDIR, HBORE/TBORE, HCON/TCON and HSTUBE will be extracted from the nozzle and set accordingly on the branch. This acts as if the nozzle were picked from the modify branch form. The dotted red line representation of the pipe will then appear in the 3D view.
Importing Pipes and Branches in the same file
The user is able to create PIPE and BRAN elements; however they cannot be created with the same pass of the data.
Until the PIPES are created the system cannot find where the branches should be created and so will ignore them. The answer to this is to either prepare two spreadsheets. One with PIPE data the other with BRAN data and run them separately. Or to have one spreadsheet that is ran twice, for example on the first pass click Load all Data. This will load the PIPE but no BRAN. Then refresh the list and click Load New Data. This will then only process the BRAN and can place them under the correct PIPE.