Import user-defined attribute values
You can import user-defined attribute (UDA) values to a model from a text file. For example, you can import a list of manufactured or checked assemblies. You can also clear existing user-defined attribute values through attribute import.
You can import attribute values to Tekla Structures model objects, drawings, and reference model objects (if configured, see Add UDAs in reference models). You define matching criteria for the attribute import in your input file, and you can additionally limit the import scope to objects you select in the model or to reference model objects.
The input file can be:
-
Exported from other software.
-
Created manually using any standard text editor, for example, Microsoft Notepad.
-
Created from Microsoft Excel by saving the file with the Save as command to Text (Tab-delimited) (*.txt) format.
-
A simple Tekla Structures report containing the part GUIDs and user-defined attributes.
There are alternative ways to import data into user-defined attributes. For example, user-defined attributes can be filled in when you import IFC objects and convert them to native Tekla Structures objects. There are also several extensions in Tekla Warehouse that allow you to modify user-defined attribute data.
Input file structure for importing values into user-defined attributes
You can import user-defined attribute (UDA) values into Tekla Structures models from input files, which are delimited text files.
Delimiters in input files
A delimiter is a character that separates different fields that are on the same line.
You can delimit fields with any ASCII character that does not appear in the names or values of the attributes that you are importing. You can use several alternative delimiters in the same input file. Common delimiter characters include the comma, tab, semicolon, and space.
Field and value definitions in input files
In the input file, the first line is a header that defines the fields for the rest of the input file. All other lines in the input file contain the values for the fields that you named on the first line.
The first line must contain at least one key field that identifies the model objects or drawings, and at least one user-defined attribute name that identifies a user-defined attribute field into which you want to import new values. Note that the names of many of the fields are different than the field labels that you see in the user interface. The user-defined attribute names are defined in the objects.inp files that apply to the model (see the reference about how to read the file).
The configuration file import_macro_data_types.dat (which is explained further ahead) defines which fields you can use in the attribute import and what is each attribute's data type. It is not possible to add or change the key fields, but you can edit the set of user-defined attributes. Values are imported as strings (text) unless a different data type is defined for the attribute in the import_macro_data_types.dat file.
Available key fields for input files
The key fields for model objects are:
Key field |
Example |
Action |
---|---|---|
|
|
Tekla Structures assigns the user-defined attributes
on this line in the input file to the model object that has
a |
or |
|
Tekla Structures assigns the user-defined attributes
on this line in the input file to the assembly that has an
Repeat this line for each assembly you want to include. |
|
|
Tekla Structures assigns the user-defined attributes
on this line in the input file to the assembly that has a
You must also use |
The key fields for drawing objects are:
Key field |
Example |
Action |
---|---|---|
|
|
Tekla Structures assigns the user-defined attributes
on this line in the input file to the drawing that has a
Use both key fields in the input file. |
|
|
Tekla Structures assigns the user-defined attributes
in this line in the input file to the drawing object that
has an |
Empty values in input files
Some lines in the input file might not have a value for all of the attribute fields. For example, there might be two or more consecutive delimiter characters between values.
These empty values can be either
skipped during import without making any changes to user-defined attributes, or
you can use these empty values to erase existing user-defined attribute values
in your model. By default, empty values are skipped. To clear existing values
instead, set the advanced option
XS_ERASE_UDA_VALUE_WITH_ATTRIBUTE_IMPORT_NULL_AND_BLANK to TRUE
in
an ini file.
Reading order for input files
Tekla Structures reads the input file in order starting from the first line. If there are duplicate key fields on the following lines, only the first occurrence is imported.
Data files (import_macro_data_types.dat) for importing values into user-defined attributes
To import a value into a user-defined attribute, the field name and data type must be correctly defined in the import_macro_data_types.dat data file. You can add, edit, and remove user-defined attribute fields into which data is imported
Do not edit the key fields section of the file. It is not possible to add new key fields.
Location of data files
The default data file is located in the system folder in the environment folder, such as C:\ProgramData\Trimble\Tekla Structures\<version>\environments\common\system. There might also be a localized version of the file in the environment that you are using.
Do not make changes to the default files. Instead, create a copy of the file and store it in a different location, for example, in the firm folder or in the attributes folder in the model folder. This way, your changes are not overwritten when you reinstall or upgrade Tekla Structures. When the same file exists in multiple locations, the default folder search order is followed and only the first file that is read is used.
Content of data files
The import_macro_data_types.dat file is plain text. You can modify the file using any standard text editor, such as Microsoft Notepad.
Each line in the file is a field definition that can contain the following attributes in this order:
User-defined
attribute name,Data type,Conversion factor,Comments
-
User-defined attribute name
. Write the internal field name as defined for the field in an objects.inp file.For example, in the objects.inp definition
attribute("USER_FIELD_1", "j_user_field_1", string, "%s", no, none, "0.0", "0.0")
, the user-defined attribute name is USER_FIELD_1. Data type
.The value can be:
INT
(integer),STRING
(text),FLOAT
(decimal number), orDATE
(date fields with a calendar widget). If the value is missing or incorrect, the value defaults toSTRING
.A value type mismatch does not prevent importing data, but the results might not always be correct depending on the data and the field. For example, date fields might be set incorrectly if the data type is not
DATE
. However, you can import a number with the integer data type into a text field without problems.Fields with option lists are defined as number fields of the
INT
value type. For example, object locks can be set to No, Yes and Organization with the corresponding numbers 0, 1 and 2 in the input file.-
Conversion factor
(optional,FLOAT
only). For converting imperial values to metric values in imperial environments.Note:We recommend that you check the
FLOAT
values to avoid conversion factor errors. Comment
(optional). Any characters that follow the previous definitions are ignored and can be used for writing your comments. However, we recommend that you avoid adding comments on the same line as definitions. The file is easier to read if you write most comments on separate lines.
Tekla Structures treats lines that start with double forward slash
characters (//
)
as comments and ignores the whole line when reading the file.
Examples:
//Regular attributes
R1_ISSUED_FOR_APPRL, STRING
R1_DATE_APPROVED, DATE
//Attribute with conversion factor and comment
shear1, FLOAT, 4448.2222, For kips
Examples of input files for importing values into user-defined attributes
Example input file for parts
This input file is tab delimited.
ASSEMBLY_POS
and PHASE
are the key fields. Tekla Structures adds several user-defined attributes to the assemblies with values
that match those listed in the ASSEMBLY_POS
and PHASE
columns.
For
example, an assembly with the ASSEMBLY_POS
(assembly number) of B5 in phase 1 gets the following user-defined
attributes:
STATUS
: 3
USER_PHASE
: 6
USER_ISSUE
: 3/25/2019
ASSEMBLY_POS PHASE STATUS USER_PHASE USER_ISSUE
B1 1 7 3 3/25/2019
B2 1 7 3 3/25/2019
B3 1 7 3 3/25/2019
B4 1 7 3 3/25/2019
B5 1 3 6 3/25/2019
B1 1 3 5 3/26/2019
B2 2 3 4 3/26/2019
The input file contains two entries for B1. In this case, Tekla Structures writes the message ">Duplicate entry in input file." in the log file and only imports the first entry in the file. So in this example, B1 will have the following user-defined attributes after the attribute import:
STATUS
: 7
USER_PHASE
: 3
USER_ISSUE
: 3/25/2019
Example input file for drawings
This input file is tab delimited.
TYPE
and NAME
are the key fields. Tekla Structures adds a value for the user-defined attribute User field 4
to drawings with values that match those listed in the TYPE
and NAME
columns.
For example, a drawing with the TYPE A
(assembly drawing) and NAME
B.2 gets the value 4 in the User field 4
.
TYPE NAME DRAWING_USERFIELD_4
A B.1 3
A B.2 4
A C.1 1
A C.2 2
Process an input file for importing values into user-defined attributes
By default, empty values are skipped. To clear
existing values instead, set the advanced option XS_ERASE_UDA_VALUE_WITH_ATTRIBUTE_IMPORT_NULL_AND_BLANK to TRUE
in an
.ini file.